<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheet.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <channel>
    <atom:link rel="self" type="application/atom+xml" href="https://feeds.transistor.fm/full-stack-radio" title="MP3 Audio"/>
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/"/>
    <podcast:podping usesPodping="true"/>
    <title>Full Stack Radio</title>
    <generator>Transistor (https://transistor.fm)</generator>
    <itunes:new-feed-url>https://feeds.transistor.fm/full-stack-radio</itunes:new-feed-url>
    <description>A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.</description>
    <copyright>© 2025 Adam Wathan</copyright>
    <podcast:guid>e5476945-05c0-5cdd-8665-83a3e9fae40b</podcast:guid>
    <podcast:locked owner="adam.wathan@gmail.com">no</podcast:locked>
    <language>en</language>
    <pubDate>Thu, 21 Aug 2025 17:41:30 +0000</pubDate>
    <lastBuildDate>Tue, 02 Dec 2025 21:36:20 +0000</lastBuildDate>
    <link>http://fullstackradio.com</link>
    <image>
      <url>https://img.transistor.fm/FlCS7LQknH8dQArbil2SiFftX0GEE6blF8ZdUG4ROq4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzEzNDcwLzE1OTc5/NDM4MTQtYXJ0d29y/ay5qcGc.jpg</url>
      <title>Full Stack Radio</title>
      <link>http://fullstackradio.com</link>
    </image>
    <itunes:category text="Technology"/>
    <itunes:type>episodic</itunes:type>
    <itunes:author>Adam Wathan</itunes:author>
    <itunes:image href="https://img.transistor.fm/FlCS7LQknH8dQArbil2SiFftX0GEE6blF8ZdUG4ROq4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzEzNDcwLzE1OTc5/NDM4MTQtYXJ0d29y/ay5qcGc.jpg"/>
    <itunes:summary>A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.</itunes:summary>
    <itunes:subtitle>A podcast for developers interested in building great software products.</itunes:subtitle>
    <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
    <itunes:owner>
      <itunes:name>Adam Wathan</itunes:name>
    </itunes:owner>
    <itunes:complete>No</itunes:complete>
    <itunes:explicit>No</itunes:explicit>
    <item>
      <title>153: DHH – Omarchy and Designing Your Own OS on Arch Linux</title>
      <itunes:episode>153</itunes:episode>
      <podcast:episode>153</podcast:episode>
      <itunes:title>153: DHH – Omarchy and Designing Your Own OS on Arch Linux</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a4b2b6b8-7b1f-4c71-92b5-1d13f39dc51f</guid>
      <link>https://share.transistor.fm/s/209b7d1f</link>
      <description>
        <![CDATA[<p>I talk to DHH about Omarchy, the carefully curated distribution of Arch Linux he's been refining for the last few months.</p><p>We talk about stuff like:</p><ul><li>How did he discover Arch + Hyprland in the first place?</li><li>What even is Arch, what even is Hyprland, and how the fuck do you make the mouse show up in Linux?</li><li>Should you really be afraid of trying to maintain your own Linux installation?</li><li>What are the main differences in workflow using Omarchy vs. something like macOS?</li><li>What are the best options on Linux for the type of software where macOS has historically shined, like creative tools?</li><li>What are the best hardware options for developers wanting to run Omarchy?</li></ul><p>Forgive the worse-than-usual audio quality, we recorded this last minute and spur of the moment with unfamiliar tools!</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>I talk to DHH about Omarchy, the carefully curated distribution of Arch Linux he's been refining for the last few months.</p><p>We talk about stuff like:</p><ul><li>How did he discover Arch + Hyprland in the first place?</li><li>What even is Arch, what even is Hyprland, and how the fuck do you make the mouse show up in Linux?</li><li>Should you really be afraid of trying to maintain your own Linux installation?</li><li>What are the main differences in workflow using Omarchy vs. something like macOS?</li><li>What are the best options on Linux for the type of software where macOS has historically shined, like creative tools?</li><li>What are the best hardware options for developers wanting to run Omarchy?</li></ul><p>Forgive the worse-than-usual audio quality, we recorded this last minute and spur of the moment with unfamiliar tools!</p>]]>
      </content:encoded>
      <pubDate>Thu, 21 Aug 2025 17:40:53 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/209b7d1f/45057f27.mp3" length="110109813" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4585</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>I talk to DHH about Omarchy, the carefully curated distribution of Arch Linux he's been refining for the last few months.</p><p>We talk about stuff like:</p><ul><li>How did he discover Arch + Hyprland in the first place?</li><li>What even is Arch, what even is Hyprland, and how the fuck do you make the mouse show up in Linux?</li><li>Should you really be afraid of trying to maintain your own Linux installation?</li><li>What are the main differences in workflow using Omarchy vs. something like macOS?</li><li>What are the best options on Linux for the type of software where macOS has historically shined, like creative tools?</li><li>What are the best hardware options for developers wanting to run Omarchy?</li></ul><p>Forgive the worse-than-usual audio quality, we recorded this last minute and spur of the moment with unfamiliar tools!</p>]]>
      </itunes:summary>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company</title>
      <itunes:episode>152</itunes:episode>
      <podcast:episode>152</podcast:episode>
      <itunes:title>152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9c142ced-2276-4ff9-8b8e-46ac435a7a46</guid>
      <link>https://share.transistor.fm/s/39765eda</link>
      <description>
        <![CDATA[<p><strong>Topics:</strong></p><ul><li>Putting yourself in the shoes of the person reviewing your application</li><li>Crafting a high quality application tailored to a specific position</li><li>Standing out in a more traditional hiring process by doing something a little extra</li><li>Showcasing very specific examples of your work instead of asking the person reviewing your application to go hunting for it</li><li>Having good questions for the person interviewing you</li><li>Sharing your ideas and what you think the company should be focused on</li><li>Creating a job for yourself that doesn’t even exist</li><li>Proving that you can take ownership of projects and ship them by yourself</li><li>Showing off skills you have that aren’t directly related to the job</li></ul><p><strong>Links:</strong></p><ul><li><a href="https://twitter.com/r00k">Ben on Twitter</a></li><li><a href="https://tuple.app">Tuple</a></li><li><a href="https://jobs.tailwindui.com">Tailwind Labs job postings</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Topics:</strong></p><ul><li>Putting yourself in the shoes of the person reviewing your application</li><li>Crafting a high quality application tailored to a specific position</li><li>Standing out in a more traditional hiring process by doing something a little extra</li><li>Showcasing very specific examples of your work instead of asking the person reviewing your application to go hunting for it</li><li>Having good questions for the person interviewing you</li><li>Sharing your ideas and what you think the company should be focused on</li><li>Creating a job for yourself that doesn’t even exist</li><li>Proving that you can take ownership of projects and ship them by yourself</li><li>Showing off skills you have that aren’t directly related to the job</li></ul><p><strong>Links:</strong></p><ul><li><a href="https://twitter.com/r00k">Ben on Twitter</a></li><li><a href="https://tuple.app">Tuple</a></li><li><a href="https://jobs.tailwindui.com">Tailwind Labs job postings</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 28 Jan 2021 15:12:13 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/39765eda/0e219b35.mp3" length="45903463" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>2863</itunes:duration>
      <itunes:summary>In this episode Adam talks to Ben Orenstein about what you can do to stand out if you’re trying to get a job at a small company.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Ben Orenstein about what you can do to stand out if you’re trying to get a job at a small company.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>151: DHH – Building HEY with Hotwire</title>
      <itunes:episode>151</itunes:episode>
      <podcast:episode>151</podcast:episode>
      <itunes:title>151: DHH – Building HEY with Hotwire</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1e38a696-d629-4a83-8562-b56d42df6719</guid>
      <link>https://share.transistor.fm/s/152b6067</link>
      <description>
        <![CDATA[<p><strong>Links:</strong></p><ul><li><a href="https://hotwire.dev">Hotwire</a></li><li><a href="https://hey.com">HEY</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Links:</strong></p><ul><li><a href="https://hotwire.dev">Hotwire</a></li><li><a href="https://hey.com">HEY</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 28 Dec 2020 15:37:24 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/152b6067/3ff17d85.mp3" length="71138543" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4440</itunes:duration>
      <itunes:summary>In this episode Adam talks to DHH about using Hotwire to develop Basecamp's new email service HEY while shipping only 40kb of JavaScript to the client.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to DHH about using Hotwire to develop Basecamp's new email service HEY while shipping only 40kb of JavaScript to the client.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>150: Secret Screencasting Tips &amp; Behind the Scenes of Tailwind CSS 2.0</title>
      <itunes:episode>150</itunes:episode>
      <podcast:episode>150</podcast:episode>
      <itunes:title>150: Secret Screencasting Tips &amp; Behind the Scenes of Tailwind CSS 2.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bf1c2a58-4f8e-44ee-87a6-ae530b13c27e</guid>
      <link>https://share.transistor.fm/s/1298246d</link>
      <description>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 21 Oct 2020 17:32:03 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1298246d/8229b9a1.mp3" length="56924290" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>3552</itunes:duration>
      <itunes:summary>In this episode, Adam and Jack talk about all the secret tips you need to know to screencast like a pro. Then they go deep into some of the things Adam is working on for Tailwind CSS 2.0, like the new default config file.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Jack talk about all the secret tips you need to know to screencast like a pro. Then they go deep into some of the things Adam is working on for Tailwind CSS 2.0, like the new default config file.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>149: Choosing a Payment Processor, Radical Icons &amp; W3C Hype</title>
      <itunes:episode>149</itunes:episode>
      <podcast:episode>149</podcast:episode>
      <itunes:title>149: Choosing a Payment Processor, Radical Icons &amp; W3C Hype</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f19fae1f-25fa-472d-b989-1394844181b3</guid>
      <link>https://share.transistor.fm/s/30c60751</link>
      <description>
        <![CDATA[<p><strong>Links:</strong></p><ul><li><a href="https://gumroad.com/gumroad/p/connecting-paypal-directly-to-your-gumroad-account">Changes to Gumroad's PayPal support</a></li><li><a href="https://radicalicons.com">Radical icons</a></li><li><a href="https://radicalicons.com/avatars">Jack's hand-drawn avatars</a></li><li><a href="https://w3c.studio24.net/docs/w3c-cms-selection-process-update/">W3C's CMS Selection Report</a></li></ul><p><br></p><p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Links:</strong></p><ul><li><a href="https://gumroad.com/gumroad/p/connecting-paypal-directly-to-your-gumroad-account">Changes to Gumroad's PayPal support</a></li><li><a href="https://radicalicons.com">Radical icons</a></li><li><a href="https://radicalicons.com/avatars">Jack's hand-drawn avatars</a></li><li><a href="https://w3c.studio24.net/docs/w3c-cms-selection-process-update/">W3C's CMS Selection Report</a></li></ul><p><br></p><p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 07 Oct 2020 15:42:41 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/30c60751/df391794.mp3" length="54456276" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>3398</itunes:duration>
      <itunes:summary>Adam and Jack discuss how it sucks when you're forced to change billing platforms, and embark upon a deep dive on the merits of Adam's favorite solutions. We also talk about Jack's recent Radical Icon launch and promotional strategy regrets, which thankfully has a bit of a silver lining, and in Statamic news – the W3C drops WordPress and narrows their next CMS choice down to Statamic and Craft.</itunes:summary>
      <itunes:subtitle>Adam and Jack discuss how it sucks when you're forced to change billing platforms, and embark upon a deep dive on the merits of Adam's favorite solutions. We also talk about Jack's recent Radical Icon launch and promotional strategy regrets, which thankfu</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects</title>
      <itunes:episode>148</itunes:episode>
      <podcast:episode>148</podcast:episode>
      <itunes:title>148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aca39a09-b5a3-4895-b1f1-95c887171615</guid>
      <link>https://share.transistor.fm/s/91833601</link>
      <description>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 29 Sep 2020 20:17:24 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/91833601/38c4ce81.mp3" length="57470728" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>3586</itunes:duration>
      <itunes:summary>Adam and Jack talk about accessible focus styles, Headless UI, the new Tailwind Labs YouTube channel, Tailwind presets, and the progress on the great Statamic Bug-Fix-a-Thon of 2020. They also kick around what "Tailwind Lite" could be and where it might live, Adam spills the beans on a secret Tailwind project, and they get really excited about ideas they totally plan to do but probably never will happen.</itunes:summary>
      <itunes:subtitle>Adam and Jack talk about accessible focus styles, Headless UI, the new Tailwind Labs YouTube channel, Tailwind presets, and the progress on the great Statamic Bug-Fix-a-Thon of 2020. They also kick around what "Tailwind Lite" could be and where it might l</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI</title>
      <itunes:episode>147</itunes:episode>
      <podcast:episode>147</podcast:episode>
      <itunes:title>147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1c62acf5-0f2a-40c2-a9b2-05753f5d0cc7</guid>
      <link>https://share.transistor.fm/s/91a73800</link>
      <description>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Supporting the show:</strong></p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to check out our products:</p><ul><li><a href="https://tailwindui.com/">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://statamic.com/">Statamic 3</a>, Jack's full-featured flat-file CMS, designed for developers and clients alike.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com/">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 23 Sep 2020 12:16:31 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/91a73800/82de89d3.mp3" length="76650946" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4785</itunes:duration>
      <itunes:summary>Adam and Jack talk about strategies for keeping up with GitHub issues and coping with customer criticism, and how life is going after the Statamic 3 launch. They also talk about the new features in Tailwind 1.8, and work through some branding problems for the new Headless UI project the Tailwind team is working on.</itunes:summary>
      <itunes:subtitle>Adam and Jack talk about strategies for keeping up with GitHub issues and coping with customer criticism, and how life is going after the Statamic 3 launch. They also talk about the new features in Tailwind 1.8, and work through some branding problems for</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon</title>
      <itunes:episode>146</itunes:episode>
      <podcast:episode>146</podcast:episode>
      <itunes:title>146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0fb00814-b8a1-47b5-ac53-a157d2cd7906</guid>
      <link>https://share.transistor.fm/s/1b07f820</link>
      <description>
        <![CDATA[Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about the new Tailwind CSS v1.7 release, and the new features like gradient support. Finally, they work through some ideas Adam is preparing for his Laracon talk on “Building component libraries with Tailwind CSS”.]]>
      </description>
      <content:encoded>
        <![CDATA[Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about the new Tailwind CSS v1.7 release, and the new features like gradient support. Finally, they work through some ideas Adam is preparing for his Laracon talk on “Building component libraries with Tailwind CSS”.]]>
      </content:encoded>
      <pubDate>Fri, 04 Sep 2020 13:29:57 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1b07f820/4683ee54.mp3" length="77751689" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4854</itunes:duration>
      <itunes:summary>Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about the new Tailwind CSS v1.7 release, and the new features like gradient support. Finally, they work through some ideas Adam is preparing for his Laracon talk on “Building component libraries with Tailwind CSS”.</itunes:summary>
      <itunes:subtitle>Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about the new Tailwind CSS v1.7 release, and the new features l</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>145: Statamic 3.0 and Tailwind CSS 2.0</title>
      <itunes:episode>145</itunes:episode>
      <podcast:episode>145</podcast:episode>
      <itunes:title>145: Statamic 3.0 and Tailwind CSS 2.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b1aa18a4-beab-4888-8bc2-6c29465796f7</guid>
      <link>https://share.transistor.fm/s/84d25024</link>
      <description>
        <![CDATA[<p><strong>Links</strong></p><ul><li><a href="https://statamic.com">Statamic 3.0</a></li><li><a href="https://github.com/tailwindlabs/tailwindcss/releases/tag/v1.7.0">Tailwind CSS v1.7.0</a></li><li><a href="https://twitter.com/90swwe/status/1291483833154654209">@90sWWE on Twitter</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Links</strong></p><ul><li><a href="https://statamic.com">Statamic 3.0</a></li><li><a href="https://github.com/tailwindlabs/tailwindcss/releases/tag/v1.7.0">Tailwind CSS v1.7.0</a></li><li><a href="https://twitter.com/90swwe/status/1291483833154654209">@90sWWE on Twitter</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 20 Aug 2020 17:09:36 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/84d25024/7630050a.mp3" length="72805630" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4550</itunes:duration>
      <itunes:summary>Jack McDade joins Adam to talk about what he's been up to building up to the Statamic 3.0 launch (it's out now!) and Adam shares a bunch of ideas he's been working on for Tailwind CSS v2.0.</itunes:summary>
      <itunes:subtitle>Jack McDade joins Adam to talk about what he's been up to building up to the Statamic 3.0 launch (it's out now!) and Adam shares a bunch of ideas he's been working on for Tailwind CSS v2.0.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>144: Gary Bernhardt - TypeScript and Testing</title>
      <itunes:episode>144</itunes:episode>
      <podcast:episode>144</podcast:episode>
      <itunes:title>144: Gary Bernhardt - TypeScript and Testing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ab8d0885-2e2c-494e-b8db-3f189e74c201</guid>
      <link>https://share.transistor.fm/s/b0476696</link>
      <description>
        <![CDATA[<p><strong>Topics include:</strong></p><ul><li>Why Gary decided to write Execute Program as a full-stack TypeScript application instead of using a Ruby or Python backend like he may have traditionally</li><li>Do you actually have to write less tests if you have a good type system?</li><li>What does a good type system give you that tests can't give you?</li><li>Using io-ts to type check incoming data</li><li>How to think about structuring your code to best take advantage of the benefits your type system gives you and minimize the need to write tests</li><li>Pushing conditional logic to the core of your system to reduce the number of tests you need to write at the edges</li><li>The correlation between type errors and behavioral bugs, and how a type system can help you catch mistakes you don't think to test for</li><li>Do type errors signal that you're missing a test?</li><li>Structural vs. nominal type systems, and the benefits of structural type systems like used by TypeScript and Go</li><li>Best practices for type-checking within a function in a structural type system like TypeScript</li><li>The power of supporting literal types like true or "active" in addition to traditional types</li></ul><p><strong>Links:</strong></p><ul><li><a href="https://destroyallsoftware.com">Destroy All Software</a></li><li><a href="https://executeprogram.com">Execute Program</a></li><li><a href="https://www.typescriptlang.org/">TypeScript</a></li><li><a href="https://www.executeprogram.com/blog/are-tests-necessary-in-typescript">"Are tests necessary in TypeScript?"</a></li><li><a href="https://gcanti.github.io/io-ts/">io-ts</a></li><li><a href="https://www.executeprogram.com/courses/typescript">TypeScript course</a> on Execute Program</li><li><a href="https://twitter.com/garybernhardt/status/1109196446257930240">Gary's tweet about unions with literal types</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>Topics include:</strong></p><ul><li>Why Gary decided to write Execute Program as a full-stack TypeScript application instead of using a Ruby or Python backend like he may have traditionally</li><li>Do you actually have to write less tests if you have a good type system?</li><li>What does a good type system give you that tests can't give you?</li><li>Using io-ts to type check incoming data</li><li>How to think about structuring your code to best take advantage of the benefits your type system gives you and minimize the need to write tests</li><li>Pushing conditional logic to the core of your system to reduce the number of tests you need to write at the edges</li><li>The correlation between type errors and behavioral bugs, and how a type system can help you catch mistakes you don't think to test for</li><li>Do type errors signal that you're missing a test?</li><li>Structural vs. nominal type systems, and the benefits of structural type systems like used by TypeScript and Go</li><li>Best practices for type-checking within a function in a structural type system like TypeScript</li><li>The power of supporting literal types like true or "active" in addition to traditional types</li></ul><p><strong>Links:</strong></p><ul><li><a href="https://destroyallsoftware.com">Destroy All Software</a></li><li><a href="https://executeprogram.com">Execute Program</a></li><li><a href="https://www.typescriptlang.org/">TypeScript</a></li><li><a href="https://www.executeprogram.com/blog/are-tests-necessary-in-typescript">"Are tests necessary in TypeScript?"</a></li><li><a href="https://gcanti.github.io/io-ts/">io-ts</a></li><li><a href="https://www.executeprogram.com/courses/typescript">TypeScript course</a> on Execute Program</li><li><a href="https://twitter.com/garybernhardt/status/1109196446257930240">Gary's tweet about unions with literal types</a></li></ul><p><strong>Supporting the show:</strong><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 05 Aug 2020 15:27:38 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b0476696/13135089.mp3" length="81664979" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>5098</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Gary Bernhardt about building Execute Program, why he chose to build it as a full-stack TypeScript application, and the implications using TypeScript has on what you need to test.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Gary Bernhardt about building Execute Program, why he chose to build it as a full-stack TypeScript application, and the implications using TypeScript has on what you need to test.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>143: Rich Harris - Svelte and Defending the Modern Web</title>
      <itunes:episode>143</itunes:episode>
      <podcast:episode>143</podcast:episode>
      <itunes:title>143: Rich Harris - Svelte and Defending the Modern Web</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fdf2cb4c-1ffc-4bf7-8018-a5157447eccc</guid>
      <link>https://share.transistor.fm/s/2d7b2b26</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is Svelte and how is it different than other JS frameworks in the space?</li><li>What special behavior does the Svelte compiler layer on top of vanilla JS syntax and why?</li><li>Why the lack of render functions in Svelte isn't a real problem in practice</li><li>What are you giving up when you choose to build your application with something like Rails instead of JavaScript?</li><li>Why should we be trying to write our applications in a single language, and why should it be JS?</li><li>What's wrong with striving to write an application entirely in a language like Ruby instead of entirely in JS?</li><li>Why HEY doesn't really make a good argument against the modern web</li><li>Thoughts on bundle sizes, code-splitting, and why aggressive code-splitting is still better than frequent round trips to a server-rendered app</li><li>How Svelte and Sapper handle SSR</li><li>Why page transitions are the killer argument for building SPAs if we want to be able to compete with native experiences</li><li>Should we be thinking about JavaScript applications as native applications in terms of offline-support and eventual consistency, or should we keep thinking of them as webpages that depend on the network?</li></ul><p>Links:</p><ul><li><a href="https://svelte.dev/">Svelte</a></li><li><a href="https://sapper.svelte.dev/">Sapper</a></li><li><a href="https://macwright.com/2020/05/10/spa-fatigue.html">"Second-guessing the modern web"</a></li><li><a href="https://dev.to/richharris/in-defense-of-the-modern-web-2nia">"In defense of the modern web"</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is Svelte and how is it different than other JS frameworks in the space?</li><li>What special behavior does the Svelte compiler layer on top of vanilla JS syntax and why?</li><li>Why the lack of render functions in Svelte isn't a real problem in practice</li><li>What are you giving up when you choose to build your application with something like Rails instead of JavaScript?</li><li>Why should we be trying to write our applications in a single language, and why should it be JS?</li><li>What's wrong with striving to write an application entirely in a language like Ruby instead of entirely in JS?</li><li>Why HEY doesn't really make a good argument against the modern web</li><li>Thoughts on bundle sizes, code-splitting, and why aggressive code-splitting is still better than frequent round trips to a server-rendered app</li><li>How Svelte and Sapper handle SSR</li><li>Why page transitions are the killer argument for building SPAs if we want to be able to compete with native experiences</li><li>Should we be thinking about JavaScript applications as native applications in terms of offline-support and eventual consistency, or should we keep thinking of them as webpages that depend on the network?</li></ul><p>Links:</p><ul><li><a href="https://svelte.dev/">Svelte</a></li><li><a href="https://sapper.svelte.dev/">Sapper</a></li><li><a href="https://macwright.com/2020/05/10/spa-fatigue.html">"Second-guessing the modern web"</a></li><li><a href="https://dev.to/richharris/in-defense-of-the-modern-web-2nia">"In defense of the modern web"</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 22 Jul 2020 14:40:15 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/2d7b2b26/92af87d8.mp3" length="72590975" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4531</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Rich Harris about Svelte, and why we should keep pushing forward with the modern web even if it's not perfect yet.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Rich Harris about Svelte, and why we should keep pushing forward with the modern web even if it's not perfect yet.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>142: Jason Cohen - Learning to Hire and Manage a Team</title>
      <itunes:episode>142</itunes:episode>
      <podcast:episode>142</podcast:episode>
      <itunes:title>142: Jason Cohen - Learning to Hire and Manage a Team</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6b02e448-aef6-410d-ab99-eae2dad293f9</guid>
      <link>https://share.transistor.fm/s/f662767a</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How do you decide what role to hire for?</li><li>Why it's so important to figure out exactly what your biggest struggle is before hiring</li><li>How to decide what the most important thing to focus on is when it feels like there's too much to do</li><li>Why it's important to consider the impact of hiring for a specific role on your own happiness vs. just the company's bottom line</li><li>Coming to terms with the fact that you can't do everything, and why it's important to focus on something instead of spreading yourself thin across everything</li><li>Mistakes people make when they start managing a team for the first time</li></ul><p>Links:</p><ul><li><a href="https://blog.asmartbear.com/">Jason's blog</a>, one of the greatest treasure troves of startup advice on the internet</li><li><a href="https://vimeo.com/74338272">Designing the Ideal Bootstrapped Business</a>, one of Jason's MicroConf talks</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How do you decide what role to hire for?</li><li>Why it's so important to figure out exactly what your biggest struggle is before hiring</li><li>How to decide what the most important thing to focus on is when it feels like there's too much to do</li><li>Why it's important to consider the impact of hiring for a specific role on your own happiness vs. just the company's bottom line</li><li>Coming to terms with the fact that you can't do everything, and why it's important to focus on something instead of spreading yourself thin across everything</li><li>Mistakes people make when they start managing a team for the first time</li></ul><p>Links:</p><ul><li><a href="https://blog.asmartbear.com/">Jason's blog</a>, one of the greatest treasure troves of startup advice on the internet</li><li><a href="https://vimeo.com/74338272">Designing the Ideal Bootstrapped Business</a>, one of Jason's MicroConf talks</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 01 Jul 2020 14:01:22 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f662767a/7172d603.mp3" length="53150051" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>3316</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jason Cohen of WP Engine about hiring people to join the Tailwind team, figuring out what to focus on, and learning how to manage.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jason Cohen of WP Engine about hiring people to join the Tailwind team, figuring out what to focus on, and learning how to manage.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>141: Jason Fried - Running the Tailwind Business on Basecamp</title>
      <itunes:episode>141</itunes:episode>
      <podcast:episode>141</podcast:episode>
      <itunes:title>141: Jason Fried - Running the Tailwind Business on Basecamp</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">559864ed-6ac6-4204-b6d1-4981f16e97d1</guid>
      <link>https://share.transistor.fm/s/1a3c0a0d</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How did Basecamp evolve from being a team/client communication tool to focusing on keeping your whole company organized, and is it really even that different?</li><li>How exactly should we set up Basecamp on day one to support a small 3-5 person remote software team? What tools should we use and which ones should we ignore for now?</li><li>Finding the balance between being organized enough and splitting things up too much</li><li>How big should projects be? Is "HEY v1" a project, or is a project something more like "HEY File Attachments"?</li><li>What tools do you normally enable for regular projects, and how do you use them?</li><li>How are you normally using chat at the individual project level?</li><li>Why todo lists should be created by the individuals doing the work, and not the people assigning the work</li><li>How should we use the company HQ project? What are some less obvious ideas we can apply there that can make a big difference?</li><li>Using a "what we're working on" project to keep everyone on the team in the loop and feeling connected</li><li>Using "heartbeats" to summarize the work a team has been doing over a period of time for the rest of the company</li><li>Advice on bringing on new employees and how to assign them their first project</li><li>When you're such a writing-driven company, how do you make sure decisions get written down when they are made in real-time instead of naturally occurring within Basecamp?</li></ul><p>Screenshots:</p><ul><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-check-in.png">Example of a "what did I work on?" check-in</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-heartbeat.png">Example of a heartbeat</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-what-works.png">Example of the "What Works" project</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-hq-message.png">Example of an announcement in the HQ project</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-todo.png">Example of a conversation on a todo</a></li></ul><p>Links:</p><ul><li><a href="https://basecamp.com">Basecamp</a></li><li><a href="https://basecamp.com/shapeup">Shape Up</a>, Basecamp's recent book on how they work</li><li><a href="https://www.youtube.com/watch?v=CFzvA1dEvd8">Going Remote: Basecamp Walkthrough</a>, a livestream where Jason and DHH go over their real Basecamp account</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How did Basecamp evolve from being a team/client communication tool to focusing on keeping your whole company organized, and is it really even that different?</li><li>How exactly should we set up Basecamp on day one to support a small 3-5 person remote software team? What tools should we use and which ones should we ignore for now?</li><li>Finding the balance between being organized enough and splitting things up too much</li><li>How big should projects be? Is "HEY v1" a project, or is a project something more like "HEY File Attachments"?</li><li>What tools do you normally enable for regular projects, and how do you use them?</li><li>How are you normally using chat at the individual project level?</li><li>Why todo lists should be created by the individuals doing the work, and not the people assigning the work</li><li>How should we use the company HQ project? What are some less obvious ideas we can apply there that can make a big difference?</li><li>Using a "what we're working on" project to keep everyone on the team in the loop and feeling connected</li><li>Using "heartbeats" to summarize the work a team has been doing over a period of time for the rest of the company</li><li>Advice on bringing on new employees and how to assign them their first project</li><li>When you're such a writing-driven company, how do you make sure decisions get written down when they are made in real-time instead of naturally occurring within Basecamp?</li></ul><p>Screenshots:</p><ul><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-check-in.png">Example of a "what did I work on?" check-in</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-heartbeat.png">Example of a heartbeat</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-what-works.png">Example of the "What Works" project</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-hq-message.png">Example of an announcement in the HQ project</a></li><li><a href="https://adamwathan.nyc3.cdn.digitaloceanspaces.com/full-stack-radio/basecamp-todo.png">Example of a conversation on a todo</a></li></ul><p>Links:</p><ul><li><a href="https://basecamp.com">Basecamp</a></li><li><a href="https://basecamp.com/shapeup">Shape Up</a>, Basecamp's recent book on how they work</li><li><a href="https://www.youtube.com/watch?v=CFzvA1dEvd8">Going Remote: Basecamp Walkthrough</a>, a livestream where Jason and DHH go over their real Basecamp account</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 10 Jun 2020 14:15:22 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1a3c0a0d/67fe0fb9.mp3" length="64151037" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>4004</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jason Fried about growing the Tailwind team and how to best use Basecamp to keep his particular company organized. He also walks through tons of real examples from their recent work on HEY, sharing lots of behind-the-scenes stuff about how Basecamp use Basecamp themselves.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jason Fried about growing the Tailwind team and how to best use Basecamp to keep his particular company organized. He also walks through tons of real examples from their recent work on HEY, sharing lots of behind-the-scenes </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>140: Evan You - Reimagining the Modern Dev Server with Vite</title>
      <itunes:episode>140</itunes:episode>
      <podcast:episode>140</podcast:episode>
      <itunes:title>140: Evan You - Reimagining the Modern Dev Server with Vite</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b1f42a27-c568-4d4d-af3a-9443a85dc6b0</guid>
      <link>https://share.transistor.fm/s/4d166f1e</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is Vite and what makes it different than existing tools like Webpack?</li><li>How do ES Modules actually work in the browser and what are the limitations?</li><li>Will we ever be able to use ES Modules in production for large complex projects?</li><li>How does Vite work under the hood, and how does it support non-JS files like Vue files, or CSS files?</li><li>How hot module replacement is implemented under the hood in Vite</li><li>Optimizing modules with many dependencies to keep the development experience fast</li><li>What is VitePress and how does it compare to VuePress?</li><li>Bundling sites for production with Vite</li><li>What's the roadmap for Vite 1.0?</li></ul><p>Links:</p><ul><li><a href="https://github.com/vitejs/vite">Vite</a></li><li><a href="https://github.com/vuejs/vitepress">VitePress</a></li><li><a href="https://rollupjs.org/guide/en/">Rollup</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is Vite and what makes it different than existing tools like Webpack?</li><li>How do ES Modules actually work in the browser and what are the limitations?</li><li>Will we ever be able to use ES Modules in production for large complex projects?</li><li>How does Vite work under the hood, and how does it support non-JS files like Vue files, or CSS files?</li><li>How hot module replacement is implemented under the hood in Vite</li><li>Optimizing modules with many dependencies to keep the development experience fast</li><li>What is VitePress and how does it compare to VuePress?</li><li>Bundling sites for production with Vite</li><li>What's the roadmap for Vite 1.0?</li></ul><p>Links:</p><ul><li><a href="https://github.com/vitejs/vite">Vite</a></li><li><a href="https://github.com/vuejs/vitepress">VitePress</a></li><li><a href="https://rollupjs.org/guide/en/">Rollup</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 28 May 2020 13:01:44 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4d166f1e/ef2719eb.mp3" length="46309233" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:duration>2889</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Evan You about Vite, a new dev server and build tool for modern JavaScript projects.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Evan You about Vite, a new dev server and build tool for modern JavaScript projects.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>139: Alex DeBrie - DynamoDB for Relational Database Diehards</title>
      <itunes:episode>139</itunes:episode>
      <podcast:episode>139</podcast:episode>
      <itunes:title>139: Alex DeBrie - DynamoDB for Relational Database Diehards</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f899644b-d153-429c-94ba-ed8cf674d19b</guid>
      <link>https://share.transistor.fm/s/e81a68e7</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Does DynamoDB only make sense for things like your cache, or is it a good choice for a primary data store?</li><li>An overview of the terminology used in DynamoDB and how the terminology compares to a relational database</li><li>How primary keys work in DynamoDB</li><li>What data types are available in DynamoDB</li><li>How DynamoDB is a schemaless database</li><li>Why it's important to understand your access patterns in advance with DynamoDB, unlike in a relational database</li><li>Understanding why and how you usually have multiple record types in a single DynamoDB table</li><li>What "index overloading" is in DynamoDB</li><li>Understanding partition keys and sort keys</li><li>How to structure your data in DynamoDB to make it possible to query related data, and how those queries work</li><li>How secondary indexes work, allowing you to access the same data in different ways</li><li>How to accommodate access patterns you didn't know about before you designed your schema</li><li>When to flatten relationships vs. nest them</li><li>Should you use DynamoDB if you aren't "web-scale"?</li><li>How local development works with DynamoDB</li></ul><p>Links:</p><ul><li><a href="https://aws.amazon.com/dynamodb/">DynamoDB Homepage</a></li><li><a href="https://www.alexdebrie.com/">Alex's blog</a>, loaded with great DynamoDB content</li><li><a href="https://www.dynamodbbook.com/">The DynamoDB Book</a>, Alex's recent book</li><li><a href="https://www.dynamodbguide.com/">DynamoDB Guide</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Does DynamoDB only make sense for things like your cache, or is it a good choice for a primary data store?</li><li>An overview of the terminology used in DynamoDB and how the terminology compares to a relational database</li><li>How primary keys work in DynamoDB</li><li>What data types are available in DynamoDB</li><li>How DynamoDB is a schemaless database</li><li>Why it's important to understand your access patterns in advance with DynamoDB, unlike in a relational database</li><li>Understanding why and how you usually have multiple record types in a single DynamoDB table</li><li>What "index overloading" is in DynamoDB</li><li>Understanding partition keys and sort keys</li><li>How to structure your data in DynamoDB to make it possible to query related data, and how those queries work</li><li>How secondary indexes work, allowing you to access the same data in different ways</li><li>How to accommodate access patterns you didn't know about before you designed your schema</li><li>When to flatten relationships vs. nest them</li><li>Should you use DynamoDB if you aren't "web-scale"?</li><li>How local development works with DynamoDB</li></ul><p>Links:</p><ul><li><a href="https://aws.amazon.com/dynamodb/">DynamoDB Homepage</a></li><li><a href="https://www.alexdebrie.com/">Alex's blog</a>, loaded with great DynamoDB content</li><li><a href="https://www.dynamodbbook.com/">The DynamoDB Book</a>, Alex's recent book</li><li><a href="https://www.dynamodbguide.com/">DynamoDB Guide</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 May 2020 12:04:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e81a68e7/1b023158.mp3" length="56244133" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/wgklkT-xDd_oqY7MsraNlX3JCAKy-39mfHr_bSrosLY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyNDAwMi8x/NTk3OTQ0MDc2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3510</itunes:duration>
      <itunes:summary>In this episode, Adam is talks to Alex DeBrie about DynamoDB, and how it compares to relational databases like MySQL.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is talks to Alex DeBrie about DynamoDB, and how it compares to relational databases like MySQL.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>138: Tom Preston-Werner - Building Full-Stack JS Apps with Redwood.js</title>
      <itunes:episode>138</itunes:episode>
      <podcast:episode>138</podcast:episode>
      <itunes:title>138: Tom Preston-Werner - Building Full-Stack JS Apps with Redwood.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">cf5cd9b4-edec-4420-a830-21933c821292</guid>
      <link>https://share.transistor.fm/s/c6c72286</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What does it mean for Redwood to be a JAMStack framework?</li><li>What does the React layer look like? What’s new, and what’s leveraging existing community tools?</li><li>Why Redwood ships with it’s own routing layer</li><li>What “cells” are in Redwood, and how they aim to provide a declarative abstraction on top of data fetching</li><li>How Redwood tries to provide clear decoupling behind the front-end and back-end, even though it is providing a full-stack solution</li><li>What “services” are in Redwood</li><li>Using Prisma 2 to fetch data from your database in your services</li><li>What database solutions exist today that work well with Redwood in a serverless environment?</li></ul><p>Links:</p><ul><li><a href="https://redwoodjs.com/">Redwood.js</a> homepage</li><li><a href="https://predictcovid.com">PredictCovid.com</a>, a Redwood app in production</li><li><a href="https://github.com/redwoodjs/example-blog">Example blog application</a> built with Redwood</li><li><a href="https://www.prisma.io/">Prisma</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What does it mean for Redwood to be a JAMStack framework?</li><li>What does the React layer look like? What’s new, and what’s leveraging existing community tools?</li><li>Why Redwood ships with it’s own routing layer</li><li>What “cells” are in Redwood, and how they aim to provide a declarative abstraction on top of data fetching</li><li>How Redwood tries to provide clear decoupling behind the front-end and back-end, even though it is providing a full-stack solution</li><li>What “services” are in Redwood</li><li>Using Prisma 2 to fetch data from your database in your services</li><li>What database solutions exist today that work well with Redwood in a serverless environment?</li></ul><p>Links:</p><ul><li><a href="https://redwoodjs.com/">Redwood.js</a> homepage</li><li><a href="https://predictcovid.com">PredictCovid.com</a>, a Redwood app in production</li><li><a href="https://github.com/redwoodjs/example-blog">Example blog application</a> built with Redwood</li><li><a href="https://www.prisma.io/">Prisma</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 22 Apr 2020 13:56:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/c6c72286/6da42481.mp3" length="70606549" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/GE7EOMlUA8uqVOUunegvLFx3tvjvs8BHQL8K1dCGMQ4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyNDAwMS8x/NTk3OTQ0MDc0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4407</itunes:duration>
      <itunes:summary>In this episode, Adam is talks to Tom Preston-Werner about Redwood.js, a new full-stack JavaScript framework for building edge-ready web applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is talks to Tom Preston-Werner about Redwood.js, a new full-stack JavaScript framework for building edge-ready web applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>137: Tim Neutkens - Continuing to Innovate with Next.js 9.3</title>
      <itunes:episode>137</itunes:episode>
      <podcast:episode>137</podcast:episode>
      <itunes:title>137: Tim Neutkens - Continuing to Innovate with Next.js 9.3</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">748f6a8a-3b94-40a1-bc77-191a8fda05cf</guid>
      <link>https://share.transistor.fm/s/e1850eb7</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>An overview of the new getStaticProps, getStaticPaths, and getServerSideProps APIs</li><li>How Next.js helps you serve static pages from an edge CDN automatically, without affecting the actual authoring experience</li><li>Using getStaticPaths to statically pregenerate dynamic routes</li><li>How the fallback feature of getStaticPaths works and lets you statically render pages on-demand to avoid long build times</li><li>How the upcoming incremental static generation feature will work in Next.js</li><li>Deploying Next.js to a platform other than Zeit, and how you retain all of Next’s benefits automatically</li><li>How getServerSideProps is different from getInitialProps</li><li>Why getServerSideProps actually improves performance, even though it introduces another hop</li><li>How getServerSideProps results in smaller bundle sizes vs. getInitialProps</li><li>Using getServerSideProps to safely talk directly to a database, skipping the need for an API</li><li>Why Zeit as a company has started to favor client-side data fetching with SWR over getInitialProps/getServerSideProps, and how they are combining that with statically pregenerated “shells” for incredibly fast feeling experiences</li><li>What’s coming next in future releases</li></ul><p>Links:</p><ul><li><a href="https://nextjs.org/">Next.js</a></li><li><a href="https://nextjs.org/blog/next-9-3">Next.js 9.3 Announcement</a></li><li><a href="https://github.com/zeit/next.js/discussions/11552">Incremental Static Generation RFC</a></li><li><a href="https://next-code-elimination.now.sh/">Next.js Code Elimination Demo</a></li><li><a href="https://github.com/zeit/swr">SWR</a>, ZEIT's data fetching library</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>An overview of the new getStaticProps, getStaticPaths, and getServerSideProps APIs</li><li>How Next.js helps you serve static pages from an edge CDN automatically, without affecting the actual authoring experience</li><li>Using getStaticPaths to statically pregenerate dynamic routes</li><li>How the fallback feature of getStaticPaths works and lets you statically render pages on-demand to avoid long build times</li><li>How the upcoming incremental static generation feature will work in Next.js</li><li>Deploying Next.js to a platform other than Zeit, and how you retain all of Next’s benefits automatically</li><li>How getServerSideProps is different from getInitialProps</li><li>Why getServerSideProps actually improves performance, even though it introduces another hop</li><li>How getServerSideProps results in smaller bundle sizes vs. getInitialProps</li><li>Using getServerSideProps to safely talk directly to a database, skipping the need for an API</li><li>Why Zeit as a company has started to favor client-side data fetching with SWR over getInitialProps/getServerSideProps, and how they are combining that with statically pregenerated “shells” for incredibly fast feeling experiences</li><li>What’s coming next in future releases</li></ul><p>Links:</p><ul><li><a href="https://nextjs.org/">Next.js</a></li><li><a href="https://nextjs.org/blog/next-9-3">Next.js 9.3 Announcement</a></li><li><a href="https://github.com/zeit/next.js/discussions/11552">Incremental Static Generation RFC</a></li><li><a href="https://next-code-elimination.now.sh/">Next.js Code Elimination Demo</a></li><li><a href="https://github.com/zeit/swr">SWR</a>, ZEIT's data fetching library</li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 08 Apr 2020 14:58:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e1850eb7/3bd0f15d.mp3" length="80234616" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/-WfIUlfdYVA2I_65UVchsNNfOpUlaoRQHpnwPM5QV-I/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyNDAwMC8x/NTk3OTQ0MDcyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5009</itunes:duration>
      <itunes:summary>In this episode, Adam is talks to Tim Neutkens about what's new in Next.js 9.3 and how it's changing the way applications are built at ZEIT.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is talks to Tim Neutkens about what's new in Next.js 9.3 and how it's changing the way applications are built at ZEIT.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>136: Michael Chan - React Is Not a Rails Competitor</title>
      <itunes:episode>136</itunes:episode>
      <podcast:episode>136</podcast:episode>
      <itunes:title>136: Michael Chan - React Is Not a Rails Competitor</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">830c3486-1b03-49f2-8fd0-cfdd37b4232b</guid>
      <link>https://share.transistor.fm/s/e11fca34</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What do people actually mean when they say "I used to use Rails, but now I use React"?</li><li>Why back-end development is still a crucial part of building any web application</li><li>What third-party services people are using to try and replace custom back-end code</li><li>Would you default to building a Rails back-end for a React side project, or is your instinct to try and use third-party services only?</li><li>How far do you think front-end-first frameworks like Next.js are going to get their hands dirty in the back-end?</li><li>Are new developers missing out by starting with React and not realizing how important tools like Rails and Laravel are for building complete production-ready applications?</li><li>Are relational databases legacy tech or are they underappreciated?</li></ul><p>Links:</p><ul><li><a href="https://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://reactjs.org/">React</a></li><li><a href="https://aws.amazon.com/amplify/">AWS Amplify</a></li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://hasura.io/">Hasura</a></li><li><a href="https://www.youtube.com/watch?v=783ccP__No8">GraphQL: The Documentary</a></li><li><a href="https://www.onegraph.com/">OneGraph</a></li><li><a href="https://nextjs.org/">Next.js</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What do people actually mean when they say "I used to use Rails, but now I use React"?</li><li>Why back-end development is still a crucial part of building any web application</li><li>What third-party services people are using to try and replace custom back-end code</li><li>Would you default to building a Rails back-end for a React side project, or is your instinct to try and use third-party services only?</li><li>How far do you think front-end-first frameworks like Next.js are going to get their hands dirty in the back-end?</li><li>Are new developers missing out by starting with React and not realizing how important tools like Rails and Laravel are for building complete production-ready applications?</li><li>Are relational databases legacy tech or are they underappreciated?</li></ul><p>Links:</p><ul><li><a href="https://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://reactjs.org/">React</a></li><li><a href="https://aws.amazon.com/amplify/">AWS Amplify</a></li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://hasura.io/">Hasura</a></li><li><a href="https://www.youtube.com/watch?v=783ccP__No8">GraphQL: The Documentary</a></li><li><a href="https://www.onegraph.com/">OneGraph</a></li><li><a href="https://nextjs.org/">Next.js</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 25 Mar 2020 15:42:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e11fca34/dee487b3.mp3" length="65383845" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/0bYc00lT4P_LZcWvxxdbUulgdyAZcEE25KGI9Rk5xg8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5OS8x/NTk3OTQ0MDcwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4081</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Michael Chan to talk about how people who identify as React developers are building real web applications, and why it seems like nobody is talking about databases or background jobs anymore.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Michael Chan to talk about how people who identify as React developers are building real web applications, and why it seems like nobody is talking about databases or background jobs anymore.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>135: Lessons Learned Building Tailwind UI</title>
      <itunes:episode>135</itunes:episode>
      <podcast:episode>135</podcast:episode>
      <itunes:title>135: Lessons Learned Building Tailwind UI</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4436072f-86f6-428d-b0a5-b5eb2a7c65d5</guid>
      <link>https://share.transistor.fm/s/d486369d</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What Tailwind UI is and why we decided to build it</li><li>How odd numbers can wreak havoc on a user interface, and how to avoid them</li><li>Crafting the perfect form control</li><li>Unexpected benefits of working with CSS Grid</li><li>Abusing single column grids just to use gap, and why we desperately need gap support in Flexbox</li></ul><p>Links:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What Tailwind UI is and why we decided to build it</li><li>How odd numbers can wreak havoc on a user interface, and how to avoid them</li><li>Crafting the perfect form control</li><li>Unexpected benefits of working with CSS Grid</li><li>Abusing single column grids just to use gap, and why we desperately need gap support in Flexbox</li></ul><p>Links:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to purchase one of my products:</p><ul><li><a href="https://tailwindui.com">Tailwind UI</a>, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS</li><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 04 Mar 2020 12:45:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/d486369d/10d13e47.mp3" length="94447868" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ewWLxxoVxVtaedyU901fF5VXmqOXvE0eii1nLXzvsVQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5OC8x/NTk3OTQ0MDY4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5897</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Sam Selikoff to talk about some of the interesting technical challenges he faced building Tailwind UI, and how working on the project has influenced how he will build layouts in the future.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Sam Selikoff to talk about some of the interesting technical challenges he faced building Tailwind UI, and how working on the project has influenced how he will build layouts in the future.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>134: Mark Dalgleish - You Should Be Using Layout Components</title>
      <itunes:episode>134</itunes:episode>
      <podcast:episode>134</podcast:episode>
      <itunes:title>134: Mark Dalgleish - You Should Be Using Layout Components</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">99cd13b4-a2e5-4636-90b0-4af319d2fffa</guid>
      <link>https://share.transistor.fm/s/3eb43aff</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What problems you run into when baking white space into components, and why your components should never contain any surrounding white space at all</li><li>Layout challenges you run into due to the way the browser includes line-height in the size of text elements</li><li>The trick Mark's team uses to remove surrounding white space from text elements, without removing the space between wrapping lines</li><li>Using a "stack" component to specify the space between sibling elements</li><li>Issues with naively just using margin on one side of an element to space elements</li><li>The upcoming "gap" property in CSS and how it proves layout components are a good idea</li><li>Using a "content block" component for horizontal spacing/sizing at the page level</li><li>Tricks for maintaining vertical rhythm despite 1px borders trying to ruin it all for you</li><li>Why tools like React are so important for being able to implement designs in a way that matches how designers think</li></ul><p>Links:</p><ul><li><a href="https://www.youtube.com/watch?v=jnV1u67_yVg">"Rethinking Design Best Practices"</a>, Mark's talk at ReactiveConf 2019</li><li><a href="https://seek-oss.github.io/braid-design-system/foundations/layout">Braid</a>, the design system Mark works on</li><li><a href="https://github.com/seek-oss/playroom">Playroom</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to pick up one of my books or courses:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What problems you run into when baking white space into components, and why your components should never contain any surrounding white space at all</li><li>Layout challenges you run into due to the way the browser includes line-height in the size of text elements</li><li>The trick Mark's team uses to remove surrounding white space from text elements, without removing the space between wrapping lines</li><li>Using a "stack" component to specify the space between sibling elements</li><li>Issues with naively just using margin on one side of an element to space elements</li><li>The upcoming "gap" property in CSS and how it proves layout components are a good idea</li><li>Using a "content block" component for horizontal spacing/sizing at the page level</li><li>Tricks for maintaining vertical rhythm despite 1px borders trying to ruin it all for you</li><li>Why tools like React are so important for being able to implement designs in a way that matches how designers think</li></ul><p>Links:</p><ul><li><a href="https://www.youtube.com/watch?v=jnV1u67_yVg">"Rethinking Design Best Practices"</a>, Mark's talk at ReactiveConf 2019</li><li><a href="https://seek-oss.github.io/braid-design-system/foundations/layout">Braid</a>, the design system Mark works on</li><li><a href="https://github.com/seek-oss/playroom">Playroom</a></li></ul><p>Supporting the show:</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to pick up one of my books or courses:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 12 Feb 2020 14:20:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/3eb43aff/680c95b7.mp3" length="54380229" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/PS3zQkJyDU6n6gZNmoVL7I1hEnyrmQ5mtEpgSx0bzgQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5Ny8x/NTk3OTQ0MDY2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3393</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Mark Dalgleish about common mistakes people make in their approach to constructing layouts, and how dedicated layout components can make your component system much easier to work with.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Mark Dalgleish about common mistakes people make in their approach to constructing layouts, and how dedicated layout components can make your component system much easier to work with.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>133: Sam Selikoff - Building Production-Ready SPAs Fast with Mirage.js</title>
      <itunes:episode>133</itunes:episode>
      <podcast:episode>133</podcast:episode>
      <itunes:title>133: Sam Selikoff - Building Production-Ready SPAs Fast with Mirage.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aa8a5482-6c57-4c94-803b-3464bb4e6301</guid>
      <link>https://share.transistor.fm/s/923c3065</link>
      <description>
        <![CDATA[<p>Topics</p><ul><li>What is Mirage and how does it work?</li><li>What makes Mirage better than a dummy JSON server you run on another port?</li><li>What makes Mirage better than running your actual API locally?</li><li>Using Mirage for actual development, and not just for your test suite</li><li>How Mirage's internal ORM works, and how it can help you mirror your API's behavior more quickly</li><li>Managing the risks of maintaining a complex stub of your real API with Mirage and keeping them in sync</li><li>What's next for Mirage</li></ul><p>Links</p><ul><li><a href="https://miragejs.com/">Mirage.js</a></li><li><a href="https://github.com/miragejs/miragejs">Mirage.js on GitHub</a></li></ul><p>Supporting the show</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to pick up one of my books or courses:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics</p><ul><li>What is Mirage and how does it work?</li><li>What makes Mirage better than a dummy JSON server you run on another port?</li><li>What makes Mirage better than running your actual API locally?</li><li>Using Mirage for actual development, and not just for your test suite</li><li>How Mirage's internal ORM works, and how it can help you mirror your API's behavior more quickly</li><li>Managing the risks of maintaining a complex stub of your real API with Mirage and keeping them in sync</li><li>What's next for Mirage</li></ul><p>Links</p><ul><li><a href="https://miragejs.com/">Mirage.js</a></li><li><a href="https://github.com/miragejs/miragejs">Mirage.js on GitHub</a></li></ul><p>Supporting the show</p><p><br>I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.</p><p>If you do want to support the show, the best way to do it is to pick up one of my books or courses:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a>, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.</li><li><a href="https://adamwathan.me/advanced-vue-component-design">Advanced Vue Component Design</a>, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.</li><li><a href="https://course.testdrivenlaravel.com">Test-Driven Laravel</a>, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.</li><li><a href="https://adamwathan.me/refactoring-to-collections">Refactoring to Collections</a>, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 29 Jan 2020 15:10:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/923c3065/f485b429.mp3" length="60718094" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/NAL5yPtvV2zSsraZmGoWdQn-z_LUOhGCiYSsH-Wo63c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5Ni8x/NTk3OTQ0MDY0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3789</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sam Selikoff about Mirage.js and how to use it to build production-ready front-end applications, even if your back-end API isn't ready yet.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sam Selikoff about Mirage.js and how to use it to build production-ready front-end applications, even if your back-end API isn't ready yet.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>132: Caleb Porzio - Just Enough JavaScript with Alpine.js</title>
      <itunes:episode>132</itunes:episode>
      <podcast:episode>132</podcast:episode>
      <itunes:title>132: Caleb Porzio - Just Enough JavaScript with Alpine.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">33372d85-948a-4e2e-8e3d-28b12016bfb0</guid>
      <link>https://share.transistor.fm/s/eff31ec8</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is Alpine and what does it replace?</li><li>How does Alpine compare to Vue?</li><li>How does Alpine compare to Stimulus?</li><li>“Why not just use vanilla JavaScript you dummy?”</li><li>How Alpine works internally</li><li>Patterns for extracting reusable behaviours with Alpine</li><li>The Alpine roadmap</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li></ul><p>Links:</p><ul><li><a href="https://github.com/alpinejs/alpine">Alpine.js</a> on GitHub</li><li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template">The template tag</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with">The with statement</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy">Proxy objects</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is Alpine and what does it replace?</li><li>How does Alpine compare to Vue?</li><li>How does Alpine compare to Stimulus?</li><li>“Why not just use vanilla JavaScript you dummy?”</li><li>How Alpine works internally</li><li>Patterns for extracting reusable behaviours with Alpine</li><li>The Alpine roadmap</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li></ul><p>Links:</p><ul><li><a href="https://github.com/alpinejs/alpine">Alpine.js</a> on GitHub</li><li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template">The template tag</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with">The with statement</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy">Proxy objects</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 15 Jan 2020 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/eff31ec8/2615365a.mp3" length="82901906" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/FmwDOxP7gyE9Xmg78zSSFYWfuA0ib1oME1IXuL1IWFo/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5NS8x/NTk3OTQ0MDYyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5176</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Caleb Porzio about his new UI library Alpine.js.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Caleb Porzio about his new UI library Alpine.js.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>131: Ryan Singer - How Basecamp Builds Software</title>
      <itunes:episode>131</itunes:episode>
      <podcast:episode>131</podcast:episode>
      <itunes:title>131: Ryan Singer - How Basecamp Builds Software</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6378314b-4db4-4809-94e5-5ca387d3042c</guid>
      <link>https://share.transistor.fm/s/da6a1fb4</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why "fixed time, variable scope" is so important for actually getting things done</li><li>Integrating development and design into a single process instead of design first, develop later</li><li>What it means to "shape" work before deciding to work on it</li><li>What it means to "bet" on a project, and why Basecamp would rather trash a project than extend the deadline by an extra week</li><li>Taking deadlines seriously, and how it empowers teams to make their own decisions about scope to avoid having to trash the project</li><li>An example of a project at Basecamp that failed to ship, and working through what they did wrong that led to that outcome</li><li>De-risking projects by getting input from technical experts on the team before committing to actually doing the work</li><li>What exactly is the deliverable a design/development team receives from leadership at the start of a project that they are expected to be able to succeed with?</li><li>The difference between macro planning and micro planning on a project</li><li>How Basecamp avoids iterating on solutions within a cycle without turning projects into fixed time, fixed scope</li><li>Why designers at Basecamp start by actually building the very rough "Times New Roman" version of a UI with HTML and CSS before spending time on high fidelity visual design decisions</li><li>Applying "Shape Up" on client projects</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li></ul><p>Links:</p><ul><li><a href="https://basecamp.com/shapeup">Shape Up: Stop Running in Circles and Ship Work that Matters</a>, Ryan's recent book about how they work at Basecamp</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why "fixed time, variable scope" is so important for actually getting things done</li><li>Integrating development and design into a single process instead of design first, develop later</li><li>What it means to "shape" work before deciding to work on it</li><li>What it means to "bet" on a project, and why Basecamp would rather trash a project than extend the deadline by an extra week</li><li>Taking deadlines seriously, and how it empowers teams to make their own decisions about scope to avoid having to trash the project</li><li>An example of a project at Basecamp that failed to ship, and working through what they did wrong that led to that outcome</li><li>De-risking projects by getting input from technical experts on the team before committing to actually doing the work</li><li>What exactly is the deliverable a design/development team receives from leadership at the start of a project that they are expected to be able to succeed with?</li><li>The difference between macro planning and micro planning on a project</li><li>How Basecamp avoids iterating on solutions within a cycle without turning projects into fixed time, fixed scope</li><li>Why designers at Basecamp start by actually building the very rough "Times New Roman" version of a UI with HTML and CSS before spending time on high fidelity visual design decisions</li><li>Applying "Shape Up" on client projects</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li></ul><p>Links:</p><ul><li><a href="https://basecamp.com/shapeup">Shape Up: Stop Running in Circles and Ship Work that Matters</a>, Ryan's recent book about how they work at Basecamp</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 01 Jan 2020 21:15:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/da6a1fb4/cebf416d.mp3" length="70491914" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Fw-jypAE0cQrBajfsa_bdTnuR_q2tyGzSim9CIO3ViE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5NC8x/NTk3OTQ0MDU5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4400</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ryan Singer of Basecamp about how they plan, structure, and execute on new features.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ryan Singer of Basecamp about how they plan, structure, and execute on new features.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>130: David Khourshid - Building Better UI Components with State Machines</title>
      <itunes:episode>130</itunes:episode>
      <podcast:episode>130</podcast:episode>
      <itunes:title>130: David Khourshid - Building Better UI Components with State Machines</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6208ef6b-fc7a-48d5-803a-74debbd1ad4a</guid>
      <link>https://share.transistor.fm/s/1b9d93ff</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What exactly is a finite state machine?</li><li>Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code</li><li>Why it makes so much more sense to keep track of a component's state using some sort of label</li><li>How simple it can actually be to implement UI component logic with a state machine and why you shouldn't think of it as complex or over-engineering</li><li>How you can think of using state machines in UI programming to be like an inversion of the typical approach you may have taken in the past, where actions become scoped to certain states instead of actions needing to inspect the current state</li><li>What events might look like in your state machine and where you're actually sending them from and to</li><li>Advice for naming your events</li><li>What it means to "transition" between states</li><li>How using a state machine makes it easy to provide slightly different behavior for the same action based on the current state</li><li>The benefits of visualizing your state machines</li><li>Using the XState library to build state machines in JavaScript</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://dev.to/davidkpiano/no-disabling-a-button-is-not-app-logic-598i">"No, disabling a button is not app logic."</a>, David's recent article on state machines</li><li><a href="https://xstate.js.org/docs/">XState Docs</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What exactly is a finite state machine?</li><li>Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code</li><li>Why it makes so much more sense to keep track of a component's state using some sort of label</li><li>How simple it can actually be to implement UI component logic with a state machine and why you shouldn't think of it as complex or over-engineering</li><li>How you can think of using state machines in UI programming to be like an inversion of the typical approach you may have taken in the past, where actions become scoped to certain states instead of actions needing to inspect the current state</li><li>What events might look like in your state machine and where you're actually sending them from and to</li><li>Advice for naming your events</li><li>What it means to "transition" between states</li><li>How using a state machine makes it easy to provide slightly different behavior for the same action based on the current state</li><li>The benefits of visualizing your state machines</li><li>Using the XState library to build state machines in JavaScript</li></ul><p>Sponsors:</p><ul><li><a href="https://tuple.app">Tuple</a>, try the best pair programming app out there for free for two weeks</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://dev.to/davidkpiano/no-disabling-a-button-is-not-app-logic-598i">"No, disabling a button is not app logic."</a>, David's recent article on state machines</li><li><a href="https://xstate.js.org/docs/">XState Docs</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 11 Dec 2019 22:12:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1b9d93ff/c5be82ff.mp3" length="52195435" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/u96FB31vo9WE_ZJWpQbJSHSE9-4KoITTCu2SLWFZJ1U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5My8x/NTk3OTQ0MDU3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3256</itunes:duration>
      <itunes:summary>In this episode, Adam talks to David Khourshid about using state machines to build UI components that are simpler and more resilient to bugs.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to David Khourshid about using state machines to build UI components that are simpler and more resilient to bugs.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>129: Evan You - What's Coming in Vue.js 3.0</title>
      <itunes:episode>129</itunes:episode>
      <podcast:episode>129</podcast:episode>
      <itunes:title>129: Evan You - What's Coming in Vue.js 3.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8dfe67cb-4276-4152-8f17-db673dab449b</guid>
      <link>https://share.transistor.fm/s/50dd0f57</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What were the first feature/change ideas that got the wheels turning for Vue 3</li><li>How Vue's underlying VNode data structure is changing and how that affects users who work directly with render functions</li><li>How the h function works in Vue 3 and how it helps you write code that's more composable</li><li>How many breaking changes are just removing deprecations vs. hard breaks and how a compatibility build is going to ease the upgrade process</li><li>The new template compiler and how it will drastically increase performance</li><li>What were the goals of the class-based component API and why was it cancelled?</li><li>The new composition API and how it will help you write more reusable logic without the downsides of mixins or scoped slots</li><li>A deep-dive into reactive vs. refs in the composition API</li><li>How the composition API compares to hooks in React</li><li>How provide/inject is being improved for Vue 3</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/vuejs/vue-next">Vue 3 source code</a> on GitHub</li><li><a href="https://github.com/vuejs/rfcs">Vue RFCs</a></li><li><a href="https://vue-composition-api-rfc.netlify.com/">Vue 3 Composition API</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What were the first feature/change ideas that got the wheels turning for Vue 3</li><li>How Vue's underlying VNode data structure is changing and how that affects users who work directly with render functions</li><li>How the h function works in Vue 3 and how it helps you write code that's more composable</li><li>How many breaking changes are just removing deprecations vs. hard breaks and how a compatibility build is going to ease the upgrade process</li><li>The new template compiler and how it will drastically increase performance</li><li>What were the goals of the class-based component API and why was it cancelled?</li><li>The new composition API and how it will help you write more reusable logic without the downsides of mixins or scoped slots</li><li>A deep-dive into reactive vs. refs in the composition API</li><li>How the composition API compares to hooks in React</li><li>How provide/inject is being improved for Vue 3</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/vuejs/vue-next">Vue 3 source code</a> on GitHub</li><li><a href="https://github.com/vuejs/rfcs">Vue RFCs</a></li><li><a href="https://vue-composition-api-rfc.netlify.com/">Vue 3 Composition API</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 27 Nov 2019 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/50dd0f57/706a5c64.mp3" length="75386184" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/9W3Dtaunf7rnMXTxwruPF-bbQmWHFI_59Cz-5-tyPjw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5Mi8x/NTk3OTQ0MDU1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4706</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Evan You about all of the changes and improvements coming to Vue.js 3.0.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Evan You about all of the changes and improvements coming to Vue.js 3.0.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>128: Alasdair Monk - Scaling CSS at Heroku with Utility Classes</title>
      <itunes:episode>128</itunes:episode>
      <podcast:episode>128</podcast:episode>
      <itunes:title>128: Alasdair Monk - Scaling CSS at Heroku with Utility Classes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4149742f-8a5c-4ae1-a15b-e95af2979acc</guid>
      <link>https://share.transistor.fm/s/6334724d</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why Heroku introduced BEM to try and solve their CSS issues and why it didn't work</li><li>How custom tooling and Ember's component system alleviated any maintainability concerns about littering the HTML with presentational classes</li><li>Why Heroku still uses some component classes like "btn" and "input" even though they could encapsulate those in an Ember component</li><li>Why simply introducing any sort of rigid CSS architecture wasn't enough and why switching to a utility CSS approach specifically was critical to making UI development at Heroku more maintainable</li><li>How with a non-utility CSS approach, every new feature always seemed to require writing new CSS, no matter how many "reusable" components existed in the system</li><li>Why the team at Heroku still loves working with this approach, even 3.5 years after introducing it</li><li>How a utility-based approach has worked just as well for Heroku's marketing properties as it has for their application UI</li><li>Pylon, Alasdair's experimental CSS library that provides declarative layout primitives in the form of custom HTML elements</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://design.herokai.com/purple3">purple3</a>, Heroku's utility CSS library for their product UIs</li><li><a href="https://design.herokai.com/shibori3">shibori3</a>, Heroku's utility CSS library for their marketing properties</li><li><a href="https://almonk.github.io/pylon/">Pylon</a>, Alasdair's declarative CSS layout library</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why Heroku introduced BEM to try and solve their CSS issues and why it didn't work</li><li>How custom tooling and Ember's component system alleviated any maintainability concerns about littering the HTML with presentational classes</li><li>Why Heroku still uses some component classes like "btn" and "input" even though they could encapsulate those in an Ember component</li><li>Why simply introducing any sort of rigid CSS architecture wasn't enough and why switching to a utility CSS approach specifically was critical to making UI development at Heroku more maintainable</li><li>How with a non-utility CSS approach, every new feature always seemed to require writing new CSS, no matter how many "reusable" components existed in the system</li><li>Why the team at Heroku still loves working with this approach, even 3.5 years after introducing it</li><li>How a utility-based approach has worked just as well for Heroku's marketing properties as it has for their application UI</li><li>Pylon, Alasdair's experimental CSS library that provides declarative layout primitives in the form of custom HTML elements</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://design.herokai.com/purple3">purple3</a>, Heroku's utility CSS library for their product UIs</li><li><a href="https://design.herokai.com/shibori3">shibori3</a>, Heroku's utility CSS library for their marketing properties</li><li><a href="https://almonk.github.io/pylon/">Pylon</a>, Alasdair's declarative CSS layout library</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 20 Nov 2019 15:57:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/6334724d/81813415.mp3" length="58832674" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ORySGARim6ankq43EHktrWk0l8l8GxvwpUXzZLWyJ1U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5MS8x/NTk3OTQ0MDUzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3671</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Alasdair Monk about how they approach CSS at Heroku, and how using a utility-based approach has kept their team happy for the last three years.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Alasdair Monk about how they approach CSS at Heroku, and how using a utility-based approach has kept their team happy for the last three years.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>127: Jonathan Reinink - Building Modern Monoliths with Inertia.js</title>
      <itunes:episode>127</itunes:episode>
      <podcast:episode>127</podcast:episode>
      <itunes:title>127: Jonathan Reinink - Building Modern Monoliths with Inertia.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ead41ea7-228d-48be-9ccc-2a6bc1c8660c</guid>
      <link>https://share.transistor.fm/s/42d86761</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What Inertia.js is and what problem it solves</li><li>Why Inertia is more like a protocol than a framework</li><li>How navigation works in Inertia</li><li>How form submissions work in Inertia</li><li>How Inertia automatically updates your assets for visitors when you update your code</li><li>Handling flash messages and validation errors work</li><li>Building applications with persistent layouts</li><li>Showing placeholder screens with Inertia while data is loading</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://inertiajs.com">Inertia.js</a></li><li><a href="https://github.com/inertiajs">Inertia.js on GitHub</a></li><li><a href="https://github.com/inertiajs/pingcrm">Ping CRM</a>, the canonical Inertia.js demo application</li><li><a href="https://twitter.com/reinink/status/1179498715129765888">Placeholder components in Inertia.js</a></li><li><a href="https://github.com/sponsors/reinink">Sponsor Jonathan's work on Inertia on GitHub</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What Inertia.js is and what problem it solves</li><li>Why Inertia is more like a protocol than a framework</li><li>How navigation works in Inertia</li><li>How form submissions work in Inertia</li><li>How Inertia automatically updates your assets for visitors when you update your code</li><li>Handling flash messages and validation errors work</li><li>Building applications with persistent layouts</li><li>Showing placeholder screens with Inertia while data is loading</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://inertiajs.com">Inertia.js</a></li><li><a href="https://github.com/inertiajs">Inertia.js on GitHub</a></li><li><a href="https://github.com/inertiajs/pingcrm">Ping CRM</a>, the canonical Inertia.js demo application</li><li><a href="https://twitter.com/reinink/status/1179498715129765888">Placeholder components in Inertia.js</a></li><li><a href="https://github.com/sponsors/reinink">Sponsor Jonathan's work on Inertia on GitHub</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 06 Nov 2019 18:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/42d86761/c39821bd.mp3" length="92645850" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/R8mMOd4swp7hm8g6Gd88L_Iv2F8dgayyb3lMsVZBjHA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk5MC8x/NTk3OTQ0MDUxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5785</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about Inertia.js, a new framework he recently released that lets you build single page applications with Vue, React, or Svelte, without having to give up the productivity benefits of traditional server-side development workflows using tools like Laravel or Rails.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about Inertia.js, a new framework he recently released that lets you build single page applications with Vue, React, or Svelte, without having to give up the productivity benefits of traditional server-side </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>126: James Long - Building Distributed Local-First JavaScript Applications</title>
      <itunes:episode>126</itunes:episode>
      <podcast:episode>126</podcast:episode>
      <itunes:title>126: James Long - Building Distributed Local-First JavaScript Applications</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5bb29db8-605b-432d-9892-5d57b0cd7df0</guid>
      <link>https://share.transistor.fm/s/9b561aaa</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How do you keep data synchronized between two different clients when all of the data is stored locally instead of in the cloud?</li><li>Understanding conflict-free replicated data types and how they help when building distributed applications</li><li>Diving deep into how messages are replayed across clients when network access becomes available to achieve consistent state</li><li>Using a Merkle tree to efficiently compare the message store from two clients to know which messages need to be synchronized</li><li>Considerations you need to make when structuring your data to enable eventual consistency</li><li>What it might look like to move an app like Actual to an offline-first web app where you can't use things like SQLite</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://actualbudget.com">Actual</a></li><li><a href="https://electron.io">Electron</a></li><li><a href="https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type">Conflict-free replicated data type (CRDT)</a></li><li><a href="http://sergeiturukin.com/2017/06/26/hybrid-logical-clocks.html">Hybrid logical clock</a></li><li><a href="https://en.wikipedia.org/wiki/Merkle_tree">Merkle tree</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How do you keep data synchronized between two different clients when all of the data is stored locally instead of in the cloud?</li><li>Understanding conflict-free replicated data types and how they help when building distributed applications</li><li>Diving deep into how messages are replayed across clients when network access becomes available to achieve consistent state</li><li>Using a Merkle tree to efficiently compare the message store from two clients to know which messages need to be synchronized</li><li>Considerations you need to make when structuring your data to enable eventual consistency</li><li>What it might look like to move an app like Actual to an offline-first web app where you can't use things like SQLite</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://actualbudget.com">Actual</a></li><li><a href="https://electron.io">Electron</a></li><li><a href="https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type">Conflict-free replicated data type (CRDT)</a></li><li><a href="http://sergeiturukin.com/2017/06/26/hybrid-logical-clocks.html">Hybrid logical clock</a></li><li><a href="https://en.wikipedia.org/wiki/Merkle_tree">Merkle tree</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 23 Oct 2019 14:10:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/9b561aaa/63fa37ad.mp3" length="58888289" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/hcADLlAj6jMyYtKCid9JZocPKE1oi_2bpkmSZdlCAlQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4OS8x/NTk3OTQ0MDQ5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3675</itunes:duration>
      <itunes:summary>In this episode, Adam talks to James Long (creator of Prettier) about building Actual, a local-first Electron application with no central database that syncs data peer-to-peer.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to James Long (creator of Prettier) about building Actual, a local-first Electron application with no central database that syncs data peer-to-peer.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>125: Rob Walling - Choosing the Right Product Idea</title>
      <itunes:episode>125</itunes:episode>
      <podcast:episode>125</podcast:episode>
      <itunes:title>125: Rob Walling - Choosing the Right Product Idea</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">54c35e0b-1435-418d-86c6-15b55df0cbd2</guid>
      <link>https://share.transistor.fm/s/5bc691cf</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Brainstorming ideas vs. paying attention to your own problems</li><li>Why it's smart to start with a product that might never make a million dollars a year</li><li>Should you avoid markets with competition?</li><li>Why it's a good idea to build something for fewer people</li><li>Strategies for figuring out how many people have the problem you're trying to solve</li><li>Why you should start marketing before you start building</li><li>When should you start charging money for your product?</li><li>Why getting 1,000 customers is extremely hard and how that affects your pricing</li><li>Why you don't need an audience to build a software product</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://robwalling.com">Rob's website</a></li><li><a href="https://www.startupsfortherestofus.com">Startups for the Rest of Us</a>, Rob's podcast</li><li><a href="https://drip.com">Drip</a>, the last software business Rob built</li><li><a href="https://tinyseed.com">TinySeed</a>, Rob's startup accelerator for bootstrappers</li><li><a href="https://microconf.com">MicroConf</a>, the conference Rob organizes</li><li><a href="https://robwalling.com/2015/03/26/the-stairstep-approach-to-bootstrapping/">"The Stairstep Approach to Bootstrapping"</a></li><li><a href="https://robwalling.com/2010/10/14/startup-marketing-part-6-why-you-should-start-marketing-the-day-you-start-coding/">"Why You Should Start Marketing the Day You Start Coding"</a></li><li><a href="https://www.amazon.com/Traction-Startup-Achieve-Explosive-Customer/dp/1591848369">"Traction"</a> by Gabriel Weinberg</li><li><a href="https://ryanbattles.com/saas-marketing-essentials">"SaaS Marketing Essentials"</a> by Ryan Battles</li><li><a href="https://startupbook.net/">"Start Small, Stay Small"</a>, Rob's book</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Brainstorming ideas vs. paying attention to your own problems</li><li>Why it's smart to start with a product that might never make a million dollars a year</li><li>Should you avoid markets with competition?</li><li>Why it's a good idea to build something for fewer people</li><li>Strategies for figuring out how many people have the problem you're trying to solve</li><li>Why you should start marketing before you start building</li><li>When should you start charging money for your product?</li><li>Why getting 1,000 customers is extremely hard and how that affects your pricing</li><li>Why you don't need an audience to build a software product</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://robwalling.com">Rob's website</a></li><li><a href="https://www.startupsfortherestofus.com">Startups for the Rest of Us</a>, Rob's podcast</li><li><a href="https://drip.com">Drip</a>, the last software business Rob built</li><li><a href="https://tinyseed.com">TinySeed</a>, Rob's startup accelerator for bootstrappers</li><li><a href="https://microconf.com">MicroConf</a>, the conference Rob organizes</li><li><a href="https://robwalling.com/2015/03/26/the-stairstep-approach-to-bootstrapping/">"The Stairstep Approach to Bootstrapping"</a></li><li><a href="https://robwalling.com/2010/10/14/startup-marketing-part-6-why-you-should-start-marketing-the-day-you-start-coding/">"Why You Should Start Marketing the Day You Start Coding"</a></li><li><a href="https://www.amazon.com/Traction-Startup-Achieve-Explosive-Customer/dp/1591848369">"Traction"</a> by Gabriel Weinberg</li><li><a href="https://ryanbattles.com/saas-marketing-essentials">"SaaS Marketing Essentials"</a> by Ryan Battles</li><li><a href="https://startupbook.net/">"Start Small, Stay Small"</a>, Rob's book</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 09 Oct 2019 15:15:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5bc691cf/f50c7df3.mp3" length="52909623" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/P0r9i1gk8MgduqQg_bsMSG9aks81ioEs4vWXlujdlQ0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4OC8x/NTk3OTQ0MDQ3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3301</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Rob Walling about choosing, validating, and marketing a viable software product.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Rob Walling about choosing, validating, and marketing a viable software product.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>124: Leslie Cohn-Wein &amp; Rafael Conde - Designing the User Interface at Netlify</title>
      <itunes:episode>124</itunes:episode>
      <podcast:episode>124</podcast:episode>
      <itunes:title>124: Leslie Cohn-Wein &amp; Rafael Conde - Designing the User Interface at Netlify</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e8578725-e32d-430c-a6bb-76d618fc475d</guid>
      <link>https://share.transistor.fm/s/b5d1bf3c</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Creating pixel-perfect mockups in advance vs. designing and implementing in tandem</li><li>Working with existing JS libraries for interactive UI features vs. hand-rolling a custom implementation from scratch</li><li>How design systems play into the design process at Netlify, and how mockups aren't meant to implemented pixel-for-pixel</li><li>What tools Netlify uses to design new features and manage the design process</li><li>What technologies Netlify uses to keep their UI consistent</li><li>Using modern CSS features like CSS grid</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.netlify.com/products/analytics/">Netlify Analytics</a></li><li><a href="https://www.highcharts.com/">Highcharts</a></li><li><a href="https://www.abstract.com">Abstract</a></li><li><a href="https://www.sketch.com">Sketch</a></li><li><a href="https://github.com/postcss/postcss">PostCSS</a></li><li><a href="https://github.com/postcss/postcss-nested">postcss-nested</a></li><li><a href="https://github.com/outpunk/postcss-each">postcss-each</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Creating pixel-perfect mockups in advance vs. designing and implementing in tandem</li><li>Working with existing JS libraries for interactive UI features vs. hand-rolling a custom implementation from scratch</li><li>How design systems play into the design process at Netlify, and how mockups aren't meant to implemented pixel-for-pixel</li><li>What tools Netlify uses to design new features and manage the design process</li><li>What technologies Netlify uses to keep their UI consistent</li><li>Using modern CSS features like CSS grid</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.netlify.com/products/analytics/">Netlify Analytics</a></li><li><a href="https://www.highcharts.com/">Highcharts</a></li><li><a href="https://www.abstract.com">Abstract</a></li><li><a href="https://www.sketch.com">Sketch</a></li><li><a href="https://github.com/postcss/postcss">PostCSS</a></li><li><a href="https://github.com/postcss/postcss-nested">postcss-nested</a></li><li><a href="https://github.com/outpunk/postcss-each">postcss-each</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 25 Sep 2019 18:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b5d1bf3c/9ff16ef5.mp3" length="54234219" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/XshYlpr4QAp_IxCam6lRAz20-Dn4dHrHA38qJNSNq7Q/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4Ny8x/NTk3OTQ0MDQ1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3384</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Leslie Cohn-Wein and Rafael Conde about designing and implementing new UI features at Netlify.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Leslie Cohn-Wein and Rafael Conde about designing and implementing new UI features at Netlify.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>123: Ian Landsman - Marketing and Positioning a New Tailwind CSS Product</title>
      <itunes:episode>123</itunes:episode>
      <podcast:episode>123</podcast:episode>
      <itunes:title>123: Ian Landsman - Marketing and Positioning a New Tailwind CSS Product</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c7e6de8d-7e1f-4a2c-837a-3e749c79d6e8</guid>
      <link>https://share.transistor.fm/s/4593705b</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Building website templates vs. a UI kit</li><li>Should the product be positioned as a UI library or an educational resource?</li><li>One-time purchase pricing vs. subscription pricing vs. some combination of the two</li><li>Why marketing features can sometimes be better than marketing benefits</li><li>"Dribbble but with code"</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://twitter.com/adamwathan/status/1112101755888648192">Tweet previewing the Tailwind component directory</a></li><li><a href="https://blog.sketchapp.com/versioning-licensing-and-sketch-4-0-8ad98783e9ba">Article on Sketch pricing model</a></li><li><a href="https://megamaker.co/club/">MegaMaker Club</a></li><li><a href="https://thermostat.io">Thermostat</a>, the NPS survey software Ian is working on</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Building website templates vs. a UI kit</li><li>Should the product be positioned as a UI library or an educational resource?</li><li>One-time purchase pricing vs. subscription pricing vs. some combination of the two</li><li>Why marketing features can sometimes be better than marketing benefits</li><li>"Dribbble but with code"</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://twitter.com/adamwathan/status/1112101755888648192">Tweet previewing the Tailwind component directory</a></li><li><a href="https://blog.sketchapp.com/versioning-licensing-and-sketch-4-0-8ad98783e9ba">Article on Sketch pricing model</a></li><li><a href="https://megamaker.co/club/">MegaMaker Club</a></li><li><a href="https://thermostat.io">Thermostat</a>, the NPS survey software Ian is working on</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 11 Sep 2019 18:16:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4593705b/17e7fd59.mp3" length="63775076" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/usAJR3BkEBNgIczN0Fgph6zKV61pdBvvsPR6X8KhVWk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4NS8x/NTk3OTQ0MDQzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3980</itunes:duration>
      <itunes:summary>In this episode, Adam gets some advice from Ian Landsman of Userscape on marketing and positioning a new Tailwind CSS components directory project he's working on with Steve Schoger.</itunes:summary>
      <itunes:subtitle>In this episode, Adam gets some advice from Ian Landsman of Userscape on marketing and positioning a new Tailwind CSS components directory project he's working on with Steve Schoger.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>122: Matt Biilmann - Architecting the Netlify Dashboard with React and Redux</title>
      <itunes:episode>122</itunes:episode>
      <podcast:episode>122</podcast:episode>
      <itunes:title>122: Matt Biilmann - Architecting the Netlify Dashboard with React and Redux</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b3ef931a-6024-4fc5-9fdb-d8259c664ac4</guid>
      <link>https://share.transistor.fm/s/a6461570</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Walking through how a single screen in the app is rendered in step-by-step detail</li><li>How they separate container components and presentational components to make things easier to reason about</li><li>How the Redux store is organized</li><li>How they handle caching data on the client and deciding when to bust the cache</li><li>How the API is designed</li><li>Why they are sticking with REST instead of Graphql</li><li>How they handle authentication in their app</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.netlify.com">Netlify</a></li><li><a href="https://reactjs.org">React</a></li><li><a href="https://reacttraining.com/react-router/web/guides/quick-start">React Router</a></li><li><a href="https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0">"Presentational and Container Components"</a> by Dan Abramov</li><li><a href="http://storybook.netlify.com">Netlify's Storybook</a></li><li><a href="https://immutable-js.github.io/immutable-js/">Immutable</a></li><li><a href="https://github.com/immerjs/immer">Immer</a></li><li><a href="https://github.com/mheiber/redux-funk">redux-funk</a></li><li><a href="https://www.netlify.com/products/analytics/">Netlify Analytics</a></li><li><a href="https://jamstackconf.com/">JAMstack Conf</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Walking through how a single screen in the app is rendered in step-by-step detail</li><li>How they separate container components and presentational components to make things easier to reason about</li><li>How the Redux store is organized</li><li>How they handle caching data on the client and deciding when to bust the cache</li><li>How the API is designed</li><li>Why they are sticking with REST instead of Graphql</li><li>How they handle authentication in their app</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.netlify.com">Netlify</a></li><li><a href="https://reactjs.org">React</a></li><li><a href="https://reacttraining.com/react-router/web/guides/quick-start">React Router</a></li><li><a href="https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0">"Presentational and Container Components"</a> by Dan Abramov</li><li><a href="http://storybook.netlify.com">Netlify's Storybook</a></li><li><a href="https://immutable-js.github.io/immutable-js/">Immutable</a></li><li><a href="https://github.com/immerjs/immer">Immer</a></li><li><a href="https://github.com/mheiber/redux-funk">redux-funk</a></li><li><a href="https://www.netlify.com/products/analytics/">Netlify Analytics</a></li><li><a href="https://jamstackconf.com/">JAMstack Conf</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 28 Aug 2019 19:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a6461570/0a5bb879.mp3" length="53762765" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/zyKooyFq6kQ-s5ksdZsnubWAnpx-C1y0HXGsmgWD5Ho/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4NC8x/NTk3OTQ0MDQxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3354</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Matt Biilmann CEO of Netlify about building the Netlify dashboard, and what makes it feel so fast.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Matt Biilmann CEO of Netlify about building the Netlify dashboard, and what makes it feel so fast.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>121: Benedikt Deicke - Building Userlist.io</title>
      <itunes:episode>121</itunes:episode>
      <podcast:episode>121</podcast:episode>
      <itunes:title>121: Benedikt Deicke - Building Userlist.io</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">39a81803-57b9-43ab-86b8-45de59843225</guid>
      <link>https://share.transistor.fm/s/baf213bf</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>The risks and technical challenges of building client-side API integrations and why Benedikt decided to focus on a server-side integration for launch</li><li>Building Userlist with Ember instead of trendier tools like React</li><li>How the Ember app authenticates with the Rails API</li><li>Strategies for keeping email deliverability high for Userlist's customers</li><li>How Benedikt built Userlist's complex segmentation engine by creating a custom AST structure and compiling it to SQL</li><li>How the automation and email scheduling system works</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://userlist.io/">Userlist.io</a></li><li><a href="https://www.slowandsteadypodcast.com/">Slow and Steady</a>, Benedikt's podcast</li><li><a href="https://prosemirror.net/">Prosemirror</a></li><li><a href="https://emberjs.com/">Ember</a></li><li><a href="https://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://sidekiq.org/">Sidekiq</a></li><li><a href="https://www.sparkpost.com/">Sparkpost</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>The risks and technical challenges of building client-side API integrations and why Benedikt decided to focus on a server-side integration for launch</li><li>Building Userlist with Ember instead of trendier tools like React</li><li>How the Ember app authenticates with the Rails API</li><li>Strategies for keeping email deliverability high for Userlist's customers</li><li>How Benedikt built Userlist's complex segmentation engine by creating a custom AST structure and compiling it to SQL</li><li>How the automation and email scheduling system works</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://userlist.io/">Userlist.io</a></li><li><a href="https://www.slowandsteadypodcast.com/">Slow and Steady</a>, Benedikt's podcast</li><li><a href="https://prosemirror.net/">Prosemirror</a></li><li><a href="https://emberjs.com/">Ember</a></li><li><a href="https://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://sidekiq.org/">Sidekiq</a></li><li><a href="https://www.sparkpost.com/">Sparkpost</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 14 Aug 2019 14:35:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/baf213bf/9f647572.mp3" length="48862240" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/QCjFr9_ZFJNdsudDjv6_hNBO1JhPtjc3X5YdmDSKwRU/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4My8x/NTk3OTQ0MDM5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3048</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Benedikt Deicke about building Userlist.io, a new email automation product for SaaS businesses that he recently launched with his co-founder Jane Portman.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Benedikt Deicke about building Userlist.io, a new email automation product for SaaS businesses that he recently launched with his co-founder Jane Portman.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>120: Taylor Otwell - Serverless Laravel with Vapor</title>
      <itunes:episode>120</itunes:episode>
      <podcast:episode>120</podcast:episode>
      <itunes:title>120: Taylor Otwell - Serverless Laravel with Vapor</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8baf54b9-b053-4928-adf7-9da88bff90c3</guid>
      <link>https://share.transistor.fm/s/13617bcf</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is serverless?</li><li>What AWS services Vapor manages and how they are billed</li><li>Using a single RDS instance with multiple databases</li><li>Understanding cold boots with Lambda and how to minimize the effect they have on your application's performance</li><li>Performance on Vapor</li><li>How queues work with Vapor</li><li>Tuning your queue concurrency based on your database connection limit</li><li>Strategies for preventing your web instances and queue instances from competing for resources</li><li>How scheduled tasks work with Vapor</li><li>How file uploads work with Vapor</li><li>Limitations when running code on Lambda and strategies for working around them</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://vapor.laravel.com/">Laravel Vapor</a></li><li><a href="https://www.youtube.com/watch?v=XsPeWjKAUt0">Intro to Laravel Vapor</a>, Taylor's talk at Laracon</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is serverless?</li><li>What AWS services Vapor manages and how they are billed</li><li>Using a single RDS instance with multiple databases</li><li>Understanding cold boots with Lambda and how to minimize the effect they have on your application's performance</li><li>Performance on Vapor</li><li>How queues work with Vapor</li><li>Tuning your queue concurrency based on your database connection limit</li><li>Strategies for preventing your web instances and queue instances from competing for resources</li><li>How scheduled tasks work with Vapor</li><li>How file uploads work with Vapor</li><li>Limitations when running code on Lambda and strategies for working around them</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://vapor.laravel.com/">Laravel Vapor</a></li><li><a href="https://www.youtube.com/watch?v=XsPeWjKAUt0">Intro to Laravel Vapor</a>, Taylor's talk at Laracon</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 31 Jul 2019 14:05:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/13617bcf/29bc2a63.mp3" length="59175767" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/h-9qeFbubAZpbhWsmuc2ib6HXReHZgZBHlOwRlUJjyk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4Mi8x/NTk3OTQ0MDM2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3693</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Taylor Otwell about Laravel Vapor, the new serverless platform for Laravel applications that was recently announced at Laracon US.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Taylor Otwell about Laravel Vapor, the new serverless platform for Laravel applications that was recently announced at Laracon US.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>119: Ryan Toronto - Why a Back-End Developer Made the Switch to SPAs</title>
      <itunes:episode>119</itunes:episode>
      <podcast:episode>119</podcast:episode>
      <itunes:title>119: Ryan Toronto - Why a Back-End Developer Made the Switch to SPAs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">73cfd99e-915a-46ac-9684-e23451841d85</guid>
      <link>https://share.transistor.fm/s/5c01464e</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How modernizing a Flash app drove Ryan to start building SPAs</li><li>How products are really just user interfaces to the end user, and why that means it makes sense to make the UI the core of your codebase</li><li>Why the backend will continue to be commoditized and application developers will be spending more and more of their time in the UI</li><li>What makes something a web app instead of a website, and why almost everything is actually an app</li><li>Why application developers still need to write server-side code right now and what areas have the biggest room for innovation and improvement</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Ryan's tutorial site</li><li><a href="https://miragejs.com">Mirage.js</a></li><li><a href="https://twitter.com/simonw/status/1143638272993742848">Client-side SQL</a></li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://github.com/hasura/graphql-engine">Hasura GraphQL Engine</a>, an automatic GraphQL API over Postgres</li><li><a href="https://twitter.com/garybernhardt/status/1140714850860933120">Conversation on ugprading API requests</a></li><li><a href="http://www.fullstackradio.com/60">Interview with Michelle Bu of Stripe</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How modernizing a Flash app drove Ryan to start building SPAs</li><li>How products are really just user interfaces to the end user, and why that means it makes sense to make the UI the core of your codebase</li><li>Why the backend will continue to be commoditized and application developers will be spending more and more of their time in the UI</li><li>What makes something a web app instead of a website, and why almost everything is actually an app</li><li>Why application developers still need to write server-side code right now and what areas have the biggest room for innovation and improvement</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Ryan's tutorial site</li><li><a href="https://miragejs.com">Mirage.js</a></li><li><a href="https://twitter.com/simonw/status/1143638272993742848">Client-side SQL</a></li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://github.com/hasura/graphql-engine">Hasura GraphQL Engine</a>, an automatic GraphQL API over Postgres</li><li><a href="https://twitter.com/garybernhardt/status/1140714850860933120">Conversation on ugprading API requests</a></li><li><a href="http://www.fullstackradio.com/60">Interview with Michelle Bu of Stripe</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 17 Jul 2019 14:34:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5c01464e/94dc3a20.mp3" length="56878447" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/k1hG6tDFB8UOW1RfSkkBw5eHKbMTpiHvH0-BPNUU5Vw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4MS8x/NTk3OTQ0MDM0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3549</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ryan Toronto about his journey from being a full stack Rails developer to focusing on single page applications, and why application developers should be betting on UI-focused frameworks like Ember, React, and Vue.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ryan Toronto about his journey from being a full stack Rails developer to focusing on single page applications, and why application developers should be betting on UI-focused frameworks like Ember, React, and Vue.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>118: Aaron Gustafson - Semantic HTML: The Hard Parts</title>
      <itunes:episode>118</itunes:episode>
      <podcast:episode>118</podcast:episode>
      <itunes:title>118: Aaron Gustafson - Semantic HTML: The Hard Parts</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">023e8e70-804e-4b29-8efd-7619bed1c045</guid>
      <link>https://share.transistor.fm/s/f89485c0</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Can you have more than one "h1" on page?</li><li>How important is heading order?</li><li>Why not everything that looks like a heading should necessarily be a heading</li><li>Why you may want to include invisible headings in some situations</li><li>What the document outline is and how your use of headings impacts it</li><li>How to make your heading levels dynamic to make your components more flexible</li><li>What a "sectioning context" is</li><li>Can you have multiple "article" elements on one page?</li><li>What even is an "article" anyways?</li><li>How to use elements like "section" and "aside" properly</li><li>Should navigation items be in lists?</li><li>Why Aaron can't remember the last time he used a "span"</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.aaron-gustafson.com/">Aaron's personal website</a></li><li><a href="http://html5doctor.com/downloads/h5d-sectioning-flowchart.png">HTML5 Element Flowchart</a> from html5 Doctor</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Can you have more than one "h1" on page?</li><li>How important is heading order?</li><li>Why not everything that looks like a heading should necessarily be a heading</li><li>Why you may want to include invisible headings in some situations</li><li>What the document outline is and how your use of headings impacts it</li><li>How to make your heading levels dynamic to make your components more flexible</li><li>What a "sectioning context" is</li><li>Can you have multiple "article" elements on one page?</li><li>What even is an "article" anyways?</li><li>How to use elements like "section" and "aside" properly</li><li>Should navigation items be in lists?</li><li>Why Aaron can't remember the last time he used a "span"</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.aaron-gustafson.com/">Aaron's personal website</a></li><li><a href="http://html5doctor.com/downloads/h5d-sectioning-flowchart.png">HTML5 Element Flowchart</a> from html5 Doctor</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 03 Jul 2019 13:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f89485c0/9472c16f.mp3" length="67181419" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/eq3gRuDIf-NaO_tCGXfcV5FcA1uvph3-Sou17e8ftwU/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk4MC8x/NTk3OTQ0MDMyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4193</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Aaron Gustafson about authoring semantic HTML in the context of web applications, where choosing the right element can be a lot more complicated than it seems.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Aaron Gustafson about authoring semantic HTML in the context of web applications, where choosing the right element can be a lot more complicated than it seems.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>117: Mitchell Hamilton - Writing CSS-in-JS with Emotion</title>
      <itunes:episode>117</itunes:episode>
      <podcast:episode>117</podcast:episode>
      <itunes:title>117: Mitchell Hamilton - Writing CSS-in-JS with Emotion</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">81798671-d426-4f5b-ad9a-5a579c439865</guid>
      <link>https://share.transistor.fm/s/b0c1d873</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What CSS-in-JS even is</li><li>What Emotion does differently than other CSS-in-JS libraries</li><li>How to actually use Emotion to style your projects</li><li>How the JSX pragma works and what it's for</li><li>How Emotion works under the hood</li><li>Performance</li><li>Adding global styles to your project</li><li>Style re-use and composition in Emotion</li><li>Using Emotion with server-side rendering</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://emotion.sh">Emotion</a></li><li><a href="https://github.com/threepointone/glam">Glam</a></li><li><a href="https://github.com/threepointone/glamor">Glamor</a></li><li><a href="https://github.com/paypal/glamorous">Glamorous</a></li><li><a href="https://www.styled-components.com/">Styled Components</a></li><li><a href="https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#options">JSX pragma</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule">CSSStyleSheet.insertRule()</a></li><li><a href="https://emotion.sh/docs/globals">Global styles in Emotion</a></li><li><a href="https://emotion.sh/docs/ssr">Server-side rendering in Emotion</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What CSS-in-JS even is</li><li>What Emotion does differently than other CSS-in-JS libraries</li><li>How to actually use Emotion to style your projects</li><li>How the JSX pragma works and what it's for</li><li>How Emotion works under the hood</li><li>Performance</li><li>Adding global styles to your project</li><li>Style re-use and composition in Emotion</li><li>Using Emotion with server-side rendering</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://emotion.sh">Emotion</a></li><li><a href="https://github.com/threepointone/glam">Glam</a></li><li><a href="https://github.com/threepointone/glamor">Glamor</a></li><li><a href="https://github.com/paypal/glamorous">Glamorous</a></li><li><a href="https://www.styled-components.com/">Styled Components</a></li><li><a href="https://babeljs.io/docs/en/babel-plugin-transform-react-jsx#options">JSX pragma</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule">CSSStyleSheet.insertRule()</a></li><li><a href="https://emotion.sh/docs/globals">Global styles in Emotion</a></li><li><a href="https://emotion.sh/docs/ssr">Server-side rendering in Emotion</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 20 Jun 2019 15:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b0c1d873/b4885f6d.mp3" length="49994027" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ulV77jsiYIrISEr42CUc2hmaGru5CCgbAoAxRUttWRY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3OS8x/NTk3OTQ0MDMwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3119</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Mitchell Hamilton about writing your styles directly in your JavaScript components using the CSS-in-JS library Emotion.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Mitchell Hamilton about writing your styles directly in your JavaScript components using the CSS-in-JS library Emotion.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>116: Jerod Santo - Building the Changelog Platform with Elixir and Phoenix</title>
      <itunes:episode>116</itunes:episode>
      <podcast:episode>116</podcast:episode>
      <itunes:title>116: Jerod Santo - Building the Changelog Platform with Elixir and Phoenix</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">22bca04f-f243-4503-9955-5d5b616a3a82</guid>
      <link>https://share.transistor.fm/s/1212a2d9</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How pattern matching works in Elixir and why it's more powerful than method overloading in other languages</li><li>How Elixir's pipe operator makes the transition from OO to functional programming more natural</li><li>Why you don't need to be intimidated by unfamiliar features like GenServers to use Elixir for web app development</li><li>Noticeable differences between working with Rails and Phoenix and what it was like to transition</li><li>How the Phoenix ORM makes n+1 queries impossible</li><li>Why background tasks are a lot easier in Elixir than in an ecosystem like PHP</li><li>What other tools and technology power the Changelog platform</li><li>How the Changelog Phoenix app is deployed</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://changelog.com/jsparty/65">Building rapid UI with utility-first CSS</a>, Adam's episode of JS Party</li><li><a href="https://elixir-lang.org/">Elixir</a></li><li><a href="https://phoenixframework.org/">Phoenix</a></li><li><a href="https://changelog.com/podcast/147">Chris McCord on The Changelog</a></li><li><a href="https://github.com/thechangelog/changelog.com">The Changelog source code</a></li><li><a href="https://www.confidentruby.com/">Confident Ruby</a></li><li><a href="https://changelog.com/posts/why-we-chose-turbolinks">"Why we chose Turbolinks"</a></li><li><a href="https://pragprog.com/book/phoenix14/programming-phoenix-1-4">Programming Phoenix</a> book</li><li><a href="https://elixirforum.com">Elixir Forum</a></li><li><a href="https://changelog.com/community">Our Slack</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How pattern matching works in Elixir and why it's more powerful than method overloading in other languages</li><li>How Elixir's pipe operator makes the transition from OO to functional programming more natural</li><li>Why you don't need to be intimidated by unfamiliar features like GenServers to use Elixir for web app development</li><li>Noticeable differences between working with Rails and Phoenix and what it was like to transition</li><li>How the Phoenix ORM makes n+1 queries impossible</li><li>Why background tasks are a lot easier in Elixir than in an ecosystem like PHP</li><li>What other tools and technology power the Changelog platform</li><li>How the Changelog Phoenix app is deployed</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://changelog.com/jsparty/65">Building rapid UI with utility-first CSS</a>, Adam's episode of JS Party</li><li><a href="https://elixir-lang.org/">Elixir</a></li><li><a href="https://phoenixframework.org/">Phoenix</a></li><li><a href="https://changelog.com/podcast/147">Chris McCord on The Changelog</a></li><li><a href="https://github.com/thechangelog/changelog.com">The Changelog source code</a></li><li><a href="https://www.confidentruby.com/">Confident Ruby</a></li><li><a href="https://changelog.com/posts/why-we-chose-turbolinks">"Why we chose Turbolinks"</a></li><li><a href="https://pragprog.com/book/phoenix14/programming-phoenix-1-4">Programming Phoenix</a> book</li><li><a href="https://elixirforum.com">Elixir Forum</a></li><li><a href="https://changelog.com/community">Our Slack</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 05 Jun 2019 13:26:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1212a2d9/87d3710f.mp3" length="58354469" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/gT_2jARqTWJ1VChes48W0kXl5txnm3FF1RY8uaQGCHA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3OC8x/NTk3OTQ0MDI3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3641</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jerod Santo of The Changelog about building their custom podcasting platform using Elixir and Phoenix.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jerod Santo of The Changelog about building their custom podcasting platform using Elixir and Phoenix.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>115: Jason Lengstorf - Gatsby for Skeptics</title>
      <itunes:episode>115</itunes:episode>
      <podcast:episode>115</podcast:episode>
      <itunes:title>115: Jason Lengstorf - Gatsby for Skeptics</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7c447fe5-8690-42bf-8160-aa2bfc67021b</guid>
      <link>https://share.transistor.fm/s/c97aef43</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How Gatsby is more than just a static site generator</li><li>How you create pages with Gatsby and how it's more powerful than traditional static site generators</li><li>The benefits of having a unified data access layer for all of your content</li><li>How to build dynamic applications with Gatsby</li><li>Why Gatsby is actually faster than static HTML</li><li>How Gatsby makes performance best practices easy</li><li>Gatsby themes and why they are more exciting than traditional CMS themes</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://www.gatsbyjs.org/">Gatsby</a></li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://www.gatsbyjs.org/packages/gatsby-image/">gatsby-image</a></li><li><a href="https://github.com/reach/router">Reach Router</a></li><li><a href="https://developers.google.com/web/fundamentals/performance/prpl-pattern/">The PRPL Pattern</a></li><li><a href="https://www.twitch.tv/jlengstorf">Jason on Twitch</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How Gatsby is more than just a static site generator</li><li>How you create pages with Gatsby and how it's more powerful than traditional static site generators</li><li>The benefits of having a unified data access layer for all of your content</li><li>How to build dynamic applications with Gatsby</li><li>Why Gatsby is actually faster than static HTML</li><li>How Gatsby makes performance best practices easy</li><li>Gatsby themes and why they are more exciting than traditional CMS themes</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://www.gatsbyjs.org/">Gatsby</a></li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://www.gatsbyjs.org/packages/gatsby-image/">gatsby-image</a></li><li><a href="https://github.com/reach/router">Reach Router</a></li><li><a href="https://developers.google.com/web/fundamentals/performance/prpl-pattern/">The PRPL Pattern</a></li><li><a href="https://www.twitch.tv/jlengstorf">Jason on Twitch</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 22 May 2019 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/c97aef43/4de1d898.mp3" length="53281722" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/TlD7ZwBGcJ00UrBNMnTX2nL5wv4Hm8TSCqW5xj8nmdE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3Ny8x/NTk3OTQ0MDI1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3324</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jason Lengstorf about Gatsby, and why using React and GraphQL to build something even as simple as a blog is not as crazy of an idea as it sounds.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jason Lengstorf about Gatsby, and why using React and GraphQL to build something even as simple as a blog is not as crazy of an idea as it sounds.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>114: Sebastian De Deyne - React for Vue Developers</title>
      <itunes:episode>114</itunes:episode>
      <podcast:episode>114</podcast:episode>
      <itunes:title>114: Sebastian De Deyne - React for Vue Developers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">96eaa61a-e5b5-4b56-917b-44ff2dbda129</guid>
      <link>https://share.transistor.fm/s/462592ac</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How Vue focuses on making things easy at the cost of a more complex API, while React focuses on keeping things simple at the cost of a steeper learning curve</li><li>How to translate Vue's computed properties to React using the useMemo hook</li><li>How to translate Vue's watchers to React using the useEffect hook</li><li>How to translate Vue's v-model to React using value props and event listeners</li><li>How to translate Vue's events to React using callback props</li><li>How to translate Vue's slots to React by passing JSX as a normal prop</li><li>How to handle transitions in React with libraries like Pose</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $100 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://sebastiandedeyne.com/why-i-prefer-react-over-vue">Why I prefer React over Vue</a>, from Sebastian's blog</li><li><a href="https://reactjs.org/docs/getting-started.html">React docs</a></li><li><a href="https://www.youtube.com/watch?v=V-QO-KO90iQ">Introducing Hooks at React Conf</a></li><li><a href="https://reactjs.org/docs/hooks-intro.html">Hooks docs</a></li><li><a href="https://template-explorer.vuejs.org/#%3Cdiv%20id%3D%22app%22%3E%0A%20%20%3Cselect%20v-model%3D%22selectModel%22%3E%3C%2Fselect%3E%0A%20%20%3Cinput%20type%3D%22text%22%20v-model%3D%22textModel%22%3E%0A%20%20%3Cinput%20type%3D%22checkbox%22%20value%3D%22foo%22%20v-model%3D%22checkboxModel%22%3E%0A%20%20%3Cinput%20type%3D%22radio%22%20value%3D%22foo%22%20v-model%3D%22radioModel%22%3E%0A%3C%2Fdiv%3E">Vue Template Explorer</a></li><li><a href="https://popmotion.io/pose/">Pose</a>, animation library for React and Vue</li><li><a href="https://overreacted.io/">Overreacted.io</a>, Dan Abramov's React blog</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How Vue focuses on making things easy at the cost of a more complex API, while React focuses on keeping things simple at the cost of a steeper learning curve</li><li>How to translate Vue's computed properties to React using the useMemo hook</li><li>How to translate Vue's watchers to React using the useEffect hook</li><li>How to translate Vue's v-model to React using value props and event listeners</li><li>How to translate Vue's events to React using callback props</li><li>How to translate Vue's slots to React by passing JSX as a normal prop</li><li>How to handle transitions in React with libraries like Pose</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $100 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://sebastiandedeyne.com/why-i-prefer-react-over-vue">Why I prefer React over Vue</a>, from Sebastian's blog</li><li><a href="https://reactjs.org/docs/getting-started.html">React docs</a></li><li><a href="https://www.youtube.com/watch?v=V-QO-KO90iQ">Introducing Hooks at React Conf</a></li><li><a href="https://reactjs.org/docs/hooks-intro.html">Hooks docs</a></li><li><a href="https://template-explorer.vuejs.org/#%3Cdiv%20id%3D%22app%22%3E%0A%20%20%3Cselect%20v-model%3D%22selectModel%22%3E%3C%2Fselect%3E%0A%20%20%3Cinput%20type%3D%22text%22%20v-model%3D%22textModel%22%3E%0A%20%20%3Cinput%20type%3D%22checkbox%22%20value%3D%22foo%22%20v-model%3D%22checkboxModel%22%3E%0A%20%20%3Cinput%20type%3D%22radio%22%20value%3D%22foo%22%20v-model%3D%22radioModel%22%3E%0A%3C%2Fdiv%3E">Vue Template Explorer</a></li><li><a href="https://popmotion.io/pose/">Pose</a>, animation library for React and Vue</li><li><a href="https://overreacted.io/">Overreacted.io</a>, Dan Abramov's React blog</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 08 May 2019 13:05:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/462592ac/9f0c6de9.mp3" length="61786006" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/wa7gA9gqknbXL8HO_ceaTROods1_f16o11jJeUlN3KA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3Ni8x/NTk3OTQ0MDIzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3856</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sebastian De Deyne about learning React from the perspective of a Vue developer, and how to translate all of the Vue features you're already comfortable with to React code.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sebastian De Deyne about learning React from the perspective of a Vue developer, and how to translate all of the Vue features you're already comfortable with to React code.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>113: Justin Jackson - Growing Transistor to $10,000/month</title>
      <itunes:episode>113</itunes:episode>
      <podcast:episode>113</podcast:episode>
      <itunes:title>113: Justin Jackson - Growing Transistor to $10,000/month</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1dd901ca-4988-43c3-b3c5-b663b9e81874</guid>
      <link>https://share.transistor.fm/s/00a4b121</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why you need more than just a product, and what Justin brings to the table in his partnership with Jon</li><li>How having an audience helped him get his first customers, even in a crowded market</li><li>Why you should use every advantage you have to get people in the door, even though the only thing that will make customers stay is a great product with great service</li><li>"People like us do things like this" vs "scratching your own itch"</li><li>How their affiliate program has been working surprisingly well for them, and how affiliate programs compare to traditional advertising</li><li>What Justin's day looks like working on Transistor as the marketing focused side of the partnership</li><li>How Justin and Jon are paying themselves, inspired by Profit First</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://transistor.fm">Transistor</a>, Justin's podcast hosting business</li><li><a href="https://saas.transistor.fm">Build your SaaS</a>, Justin's podcast on building Transistor with Jon</li><li><a href="https://www.thegoodnewspodcast.fm/">The Good News Podcast</a>, Cards Against Humanity's podcast hosted on Transistor</li><li><a href="https://transistor.fm/how-to-start-a-podcast/">The Transistor blog</a></li><li><a href="https://transistor.baremetrics.com">Transistor's revenue metrics</a></li><li><a href="https://www.getrewardful.com/">Rewardful</a>, the affiliate SaaS Justin uses</li><li><a href="https://profitfirstbook.com/">Profit First</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why you need more than just a product, and what Justin brings to the table in his partnership with Jon</li><li>How having an audience helped him get his first customers, even in a crowded market</li><li>Why you should use every advantage you have to get people in the door, even though the only thing that will make customers stay is a great product with great service</li><li>"People like us do things like this" vs "scratching your own itch"</li><li>How their affiliate program has been working surprisingly well for them, and how affiliate programs compare to traditional advertising</li><li>What Justin's day looks like working on Transistor as the marketing focused side of the partnership</li><li>How Justin and Jon are paying themselves, inspired by Profit First</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li></ul><p>Links:</p><ul><li><a href="https://transistor.fm">Transistor</a>, Justin's podcast hosting business</li><li><a href="https://saas.transistor.fm">Build your SaaS</a>, Justin's podcast on building Transistor with Jon</li><li><a href="https://www.thegoodnewspodcast.fm/">The Good News Podcast</a>, Cards Against Humanity's podcast hosted on Transistor</li><li><a href="https://transistor.fm/how-to-start-a-podcast/">The Transistor blog</a></li><li><a href="https://transistor.baremetrics.com">Transistor's revenue metrics</a></li><li><a href="https://www.getrewardful.com/">Rewardful</a>, the affiliate SaaS Justin uses</li><li><a href="https://profitfirstbook.com/">Profit First</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 24 Apr 2019 13:52:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/00a4b121/c64afb6c.mp3" length="62895518" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/YJ-EXopU6yTjOFlN-BsK_ePw5ie4cxc8VG7ESbW3fs4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3NS8x/NTk3OTQ0MDIxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3925</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Justin Jackson about growing his new SaaS business Transistor to $10,000 in MRR.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Justin Jackson about growing his new SaaS business Transistor to $10,000 in MRR.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>112: Guillermo Rauch - Building Serverless Applications with Now</title>
      <itunes:episode>112</itunes:episode>
      <podcast:episode>112</podcast:episode>
      <itunes:title>112: Guillermo Rauch - Building Serverless Applications with Now</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">af4fd96c-2001-4f3c-9305-5917c860bd66</guid>
      <link>https://share.transistor.fm/s/90d95ada</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How Now is trying to bring the CDN experience to your server-side code</li><li>How the constraints of serverless can nudge you to build more robust solutions</li><li>How to talk to a database in a stateless serverless environment</li><li>Best practices for deploying serverless code when you have a centralized data store</li><li>Why routing should be handled at the Now configuration level instead of in application code</li><li>How Now functions are different from microservices, and how you share code between them</li><li>How Now bundles your project using builders</li><li>Creating a monolithic project with Now that uses different programming languages for each endpoint</li><li>How the upcoming "now dev" feature will enable you to simulate a serverless environment locally</li><li>A behind-the-scenes look at the Now dashboard, how it's built, and the third-party services that power it</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://zeit.co">ZEIT</a></li><li><a href="https://nextjs.org/">Next.js</a></li><li><a href="https://now.sh">Now.sh</a></li><li><a href="https://github.com/zeit/now-builders">Now builders</a> on GitHub</li><li><a href="https://zeit.co/examples">Now Monorepo example</a></li><li><a href="https://wordpress5.now.sh/?p=1">Wordpress running on Now</a> on now</li><li>Third-party services for serverless projects: <ul><li><a href="https://azure.microsoft.com/en-us/services/cosmos-db/">Cosmos DB</a></li><li><a href="https://scalegrid.io/">ScaleGrid</a></li><li><a href="https://compose.com/">Compose</a></li><li><a href="https://aws.amazon.com/dynamodb/">DynamoDB</a></li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://aws.amazon.com/rds/aurora/">Amazon Aurora</a></li><li><a href="https://auth0.com/">Auth0</a></li></ul></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How Now is trying to bring the CDN experience to your server-side code</li><li>How the constraints of serverless can nudge you to build more robust solutions</li><li>How to talk to a database in a stateless serverless environment</li><li>Best practices for deploying serverless code when you have a centralized data store</li><li>Why routing should be handled at the Now configuration level instead of in application code</li><li>How Now functions are different from microservices, and how you share code between them</li><li>How Now bundles your project using builders</li><li>Creating a monolithic project with Now that uses different programming languages for each endpoint</li><li>How the upcoming "now dev" feature will enable you to simulate a serverless environment locally</li><li>A behind-the-scenes look at the Now dashboard, how it's built, and the third-party services that power it</li></ul><p>Sponsors:</p><ul><li><a href="https://www.digitalocean.com/?refcode=74a1c5d63dac&amp;utm_source=fullstackradio&amp;utm_medium=podcast&amp;utm_campaign=DO_Dev_Signup_Cold_FullStackRadio_Podcast">DigitalOcean</a>, get your free $50 credit at <a href="https://do.co/fullstack">do.co/fullstack</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://zeit.co">ZEIT</a></li><li><a href="https://nextjs.org/">Next.js</a></li><li><a href="https://now.sh">Now.sh</a></li><li><a href="https://github.com/zeit/now-builders">Now builders</a> on GitHub</li><li><a href="https://zeit.co/examples">Now Monorepo example</a></li><li><a href="https://wordpress5.now.sh/?p=1">Wordpress running on Now</a> on now</li><li>Third-party services for serverless projects: <ul><li><a href="https://azure.microsoft.com/en-us/services/cosmos-db/">Cosmos DB</a></li><li><a href="https://scalegrid.io/">ScaleGrid</a></li><li><a href="https://compose.com/">Compose</a></li><li><a href="https://aws.amazon.com/dynamodb/">DynamoDB</a></li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://aws.amazon.com/rds/aurora/">Amazon Aurora</a></li><li><a href="https://auth0.com/">Auth0</a></li></ul></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 10 Apr 2019 13:57:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/90d95ada/5a3c8428.mp3" length="66082044" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/nARGtKQNO06VuDfQdl4cmCwie08eFXazpadVsGymkxM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3NC8x/NTk3OTQ0MDE5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4124</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Guillermo Rauch building and deploying serverless web applications with Now.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Guillermo Rauch building and deploying serverless web applications with Now.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>111: Jeffrey Way - Building the New Laracasts with Tailwind CSS</title>
      <itunes:episode>111</itunes:episode>
      <podcast:episode>111</podcast:episode>
      <itunes:title>111: Jeffrey Way - Building the New Laracasts with Tailwind CSS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">53dcdfe1-285b-44fb-9a29-c0d654872635</guid>
      <link>https://share.transistor.fm/s/65148731</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How Jeffrey has written CSS historically, and what drew him to a utility-first approach</li><li>Incrementally replacing Bulma with Tailwind</li><li>The importance of solidifying your Tailwind configuration before beginning to implement a design</li><li>The new Tailwind color system</li><li>Why choosing a color palette in advance is much better than using preprocessor functions like darken() or lighten()</li><li>How duplicating your markup is often a better solution than trying to write incredibly crafty responsive CSS</li><li>How Tailwind helps with performance by letting you keep your CSS cached</li><li>How to use CSS variables to create multiple themes for the same Tailwind site</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://www.imagecon.com/?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=imagecon2019">ImageCon</a>, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15.</li></ul><p>Links:</p><ul><li><a href="https://laracasts.com">Laracasts</a></li><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://tailwindcss.com/docs/state-variants/#group-hover">Group Hover</a> in Tailwind</li><li><a href="http://m.twitter.com">Mobile Twitter</a>, responsive app without media queries</li><li><a href="https://github.com/adamwathan/theming-tailwind-demo">Theming Tailwind</a> demo on GitHub</li><li><a href="https://laracasts.com/series/build-a-laravel-app-with-tdd/episodes/36">Easy Tailwind Themes Using CSS Variables</a>, free lesson on Laracasts</li><li><a href="https://laracasts.com/series/laravel-vue-and-spas">Laravel, Vue and SPAs</a>, Laracasts series on building an SPA with Tailwind CSS</li><li><a href="https://www.laracats.com/">LaraCats.com</a> 😸</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How Jeffrey has written CSS historically, and what drew him to a utility-first approach</li><li>Incrementally replacing Bulma with Tailwind</li><li>The importance of solidifying your Tailwind configuration before beginning to implement a design</li><li>The new Tailwind color system</li><li>Why choosing a color palette in advance is much better than using preprocessor functions like darken() or lighten()</li><li>How duplicating your markup is often a better solution than trying to write incredibly crafty responsive CSS</li><li>How Tailwind helps with performance by letting you keep your CSS cached</li><li>How to use CSS variables to create multiple themes for the same Tailwind site</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://www.imagecon.com/?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=imagecon2019">ImageCon</a>, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15.</li></ul><p>Links:</p><ul><li><a href="https://laracasts.com">Laracasts</a></li><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://tailwindcss.com/docs/state-variants/#group-hover">Group Hover</a> in Tailwind</li><li><a href="http://m.twitter.com">Mobile Twitter</a>, responsive app without media queries</li><li><a href="https://github.com/adamwathan/theming-tailwind-demo">Theming Tailwind</a> demo on GitHub</li><li><a href="https://laracasts.com/series/build-a-laravel-app-with-tdd/episodes/36">Easy Tailwind Themes Using CSS Variables</a>, free lesson on Laracasts</li><li><a href="https://laracasts.com/series/laravel-vue-and-spas">Laravel, Vue and SPAs</a>, Laracasts series on building an SPA with Tailwind CSS</li><li><a href="https://www.laracats.com/">LaraCats.com</a> 😸</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 28 Mar 2019 16:16:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/65148731/05d9ec62.mp3" length="81322530" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/vUWdd26cLJlBlGPzBXZIjeNwnt34sNkEnlb1LXR0kOY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3My8x/NTk3OTQ0MDE3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5077</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jeffrey Way about the process of building the brand new Laracasts.com with Tailwind CSS.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jeffrey Way about the process of building the brand new Laracasts.com with Tailwind CSS.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>110: Caleb Porzio - Embracing the Backend with Livewire</title>
      <itunes:episode>110</itunes:episode>
      <podcast:episode>110</podcast:episode>
      <itunes:title>110: Caleb Porzio - Embracing the Backend with Livewire</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">81d56d03-8b8f-4e11-a575-6a060b4f649b</guid>
      <link>https://share.transistor.fm/s/b8cb6a45</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Pain points you run into when you are working in a JS based UI instead of a server-rendered UI</li><li>What Livewire is and where the inspiration came from</li><li>How Livewire lets you build interactive user interfaces with server-side code</li><li>The challenges of stateful long-running processes in PHP and using stateless AJAX requests as an alternative</li><li>Walking through a worked example of using Livewire to build an interactive dropdown</li><li>What's next for Livewire</li></ul><p>Sponsors:</p><ul><li><a href="https://www.imagecon.com/?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=imagecon2019">ImageCon</a>, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15.</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://gumroad.com/l/bvkx">Full Stack Radio T-Shirt + Sticker Pack Pre-orders</a></li><li><a href="http://calebporzio.com/">Caleb's blog</a>, loaded with great Livewire content</li><li><a href="http://noplanstomerge.com/">No Plans to Merge</a>, Caleb's podcast</li><li><a href="https://zaengle.com/blog/layers-of-a-laravel-vue-application">Sharing Data in a Laravel/Vue Application</a> on the Zaengle blog</li><li><a href="https://www.youtube.com/watch?v=uQO4Xh1gMpY">Embrace the Backend</a>, Caleb's talk at Laracon 2018</li><li><a href="https://www.youtube.com/watch?v=Z2DU0qLfPIY">Phoenix LiveView unveiling</a> at ElixirConf 2018</li><li><a href="https://github.com/patrick-steele-idem/morphdom">morphdom</a></li><li><a href="http://laravellivewire.com">Sign up for Livewire updates</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Pain points you run into when you are working in a JS based UI instead of a server-rendered UI</li><li>What Livewire is and where the inspiration came from</li><li>How Livewire lets you build interactive user interfaces with server-side code</li><li>The challenges of stateful long-running processes in PHP and using stateless AJAX requests as an alternative</li><li>Walking through a worked example of using Livewire to build an interactive dropdown</li><li>What's next for Livewire</li></ul><p>Sponsors:</p><ul><li><a href="https://www.imagecon.com/?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=imagecon2019">ImageCon</a>, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15.</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://gumroad.com/l/bvkx">Full Stack Radio T-Shirt + Sticker Pack Pre-orders</a></li><li><a href="http://calebporzio.com/">Caleb's blog</a>, loaded with great Livewire content</li><li><a href="http://noplanstomerge.com/">No Plans to Merge</a>, Caleb's podcast</li><li><a href="https://zaengle.com/blog/layers-of-a-laravel-vue-application">Sharing Data in a Laravel/Vue Application</a> on the Zaengle blog</li><li><a href="https://www.youtube.com/watch?v=uQO4Xh1gMpY">Embrace the Backend</a>, Caleb's talk at Laracon 2018</li><li><a href="https://www.youtube.com/watch?v=Z2DU0qLfPIY">Phoenix LiveView unveiling</a> at ElixirConf 2018</li><li><a href="https://github.com/patrick-steele-idem/morphdom">morphdom</a></li><li><a href="http://laravellivewire.com">Sign up for Livewire updates</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 14 Mar 2019 15:27:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b8cb6a45/edd2fef0.mp3" length="56613269" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/XX9c9v7hbU85DXfX3xxSpQcMJKV2V1xELlQF0PyWWhs/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3Mi8x/NTk3OTQ0MDE0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3533</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Caleb Porzio about Livewire, a new library he's working on that lets you build interactive user interfaces using server-side code.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Caleb Porzio about Livewire, a new library he's working on that lets you build interactive user interfaces using server-side code.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>109: The Road to Tailwind CSS v1.0</title>
      <itunes:episode>109</itunes:episode>
      <podcast:episode>109</podcast:episode>
      <itunes:title>109: The Road to Tailwind CSS v1.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5b4d1a77-59e9-4d26-8cdd-88b8ca4582f3</guid>
      <link>https://share.transistor.fm/s/ab81a15b</link>
      <description>
        <![CDATA[<p><strong>🎉You can now pre-order Full Stack Radio shirts and stickers!</strong> <a href="https://gumroad.com/l/bvkx">Learn more →</a></p><p><br></p><p>Topics include:</p><ul><li>Semantic versioning and why there hasn't been a v1.0 release already</li><li>How v1.0 will be encouraging people to leverage the default design system</li><li>Breaking changes and what the upgrade story will be like</li><li>What's coming after Tailwind CSS v1.0</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://gumroad.com/l/bvkx">Full Stack Radio T-Shirt + Sticker Pack Pre-orders</a></li><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://adamwathan.me/journal/">Adam's Work Journal</a>, where writes about his progress on v1.0</li><li><a href="https://github.com/tailwindcss/tailwindcss/issues/692">The v1.0 To-Do List</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/pull/637">PR explaining the new config format</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p><strong>🎉You can now pre-order Full Stack Radio shirts and stickers!</strong> <a href="https://gumroad.com/l/bvkx">Learn more →</a></p><p><br></p><p>Topics include:</p><ul><li>Semantic versioning and why there hasn't been a v1.0 release already</li><li>How v1.0 will be encouraging people to leverage the default design system</li><li>Breaking changes and what the upgrade story will be like</li><li>What's coming after Tailwind CSS v1.0</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://gumroad.com/l/bvkx">Full Stack Radio T-Shirt + Sticker Pack Pre-orders</a></li><li><a href="https://tailwindcss.com">Tailwind CSS</a></li><li><a href="https://adamwathan.me/journal/">Adam's Work Journal</a>, where writes about his progress on v1.0</li><li><a href="https://github.com/tailwindcss/tailwindcss/issues/692">The v1.0 To-Do List</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/pull/637">PR explaining the new config format</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 27 Feb 2019 15:16:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ab81a15b/53028028.mp3" length="99122936" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/4V75qt3AcXXERpumvFbuuuV3g59StmO2bJw-6qxnas8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3MS8x/NTk3OTQ0MDEyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>6189</itunes:duration>
      <itunes:summary>In this episode, the tables are turned as Sam Selikoff interviews Adam about the upcoming release of Tailwind CSS v1.0.</itunes:summary>
      <itunes:subtitle>In this episode, the tables are turned as Sam Selikoff interviews Adam about the upcoming release of Tailwind CSS v1.0.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>108: Jonathan Reinink - Client-Side Rendering, Server-Side Routing</title>
      <itunes:episode>108</itunes:episode>
      <podcast:episode>108</podcast:episode>
      <itunes:title>108: Jonathan Reinink - Client-Side Rendering, Server-Side Routing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6fc0c54d-7982-438b-8a27-3d5100c0c580</guid>
      <link>https://share.transistor.fm/s/23f0fc79</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why the UI fidelity threshold for building an SPA feels so low</li><li>How forcing yourself to prepare data for Vue helps avoid putting too much logic into your templates</li><li>Why it's still worth building your app as a traditional server-based web app, even if you are using Vue for your entire UI</li><li>Performance and complexity benefits of being able to prepare data for the view in a controller instead of having to build an API</li><li>Strategies for dealing with things like accessing routes, checking authorization rules, and other things you'd normally do in a Blade template</li><li>Switching from a template-inheritance mindset to a component mindset</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://laravel.com">Laravel</a></li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://reinink.ca/articles/server-side-apps-with-client-side-rendering">Server-side apps with client-side rendering</a>, from Jonathan's blog</li><li><a href="https://github.com/reinink/client-side-rendering-in-laravel">Example project</a></li><li><a href="https://github.com/tightenco/ziggy">Ziggy</a>, package for accessing your Laravel routes on the client</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why the UI fidelity threshold for building an SPA feels so low</li><li>How forcing yourself to prepare data for Vue helps avoid putting too much logic into your templates</li><li>Why it's still worth building your app as a traditional server-based web app, even if you are using Vue for your entire UI</li><li>Performance and complexity benefits of being able to prepare data for the view in a controller instead of having to build an API</li><li>Strategies for dealing with things like accessing routes, checking authorization rules, and other things you'd normally do in a Blade template</li><li>Switching from a template-inheritance mindset to a component mindset</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://laravel.com">Laravel</a></li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://reinink.ca/articles/server-side-apps-with-client-side-rendering">Server-side apps with client-side rendering</a>, from Jonathan's blog</li><li><a href="https://github.com/reinink/client-side-rendering-in-laravel">Example project</a></li><li><a href="https://github.com/tightenco/ziggy">Ziggy</a>, package for accessing your Laravel routes on the client</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 14 Feb 2019 17:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/23f0fc79/ae1ecc5e.mp3" length="67048184" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/B2jFJA3FHhx8MnWeVnC7orruANwMJ5ZnZkKb3lb9l60/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk3MC8x/NTk3OTQ0MDEwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4185</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about a new approach he has been using to build Laravel and Vue.js apps that lets him match the UI fidelity of an SPA, without abandoning server-side routing or data fetching.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about a new approach he has been using to build Laravel and Vue.js apps that lets him match the UI fidelity of an SPA, without abandoning server-side routing or data fetching.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>107: Sam Selikoff - Pushing Complexity to the Client-Side</title>
      <itunes:episode>107</itunes:episode>
      <podcast:episode>107</podcast:episode>
      <itunes:title>107: Sam Selikoff - Pushing Complexity to the Client-Side</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">66f34f47-76ab-4d6c-8c69-a5252d1d5b24</guid>
      <link>https://share.transistor.fm/s/e6c16cd8</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Building an API without writing any controller code</li><li>Thinking of your API like a database as much as possible</li><li>Modeling everything on the server as a resource, including things like S3 upload signatures</li><li>Using tools like Firebase to avoid writing an API entirely</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://jsonapi.org/">JSON:API</a>, the API spec Sam uses to build his SPA backends</li><li><a href="http://jsonapi-resources.com/">JSONAPI::Resources</a>, the Rails gem for declaratively building a JSON:API compliant API</li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://vuex.vuejs.org/">Vuex</a></li><li><a href="https://www.apollographql.com/">Apollo GraphQL</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Building an API without writing any controller code</li><li>Thinking of your API like a database as much as possible</li><li>Modeling everything on the server as a resource, including things like S3 upload signatures</li><li>Using tools like Firebase to avoid writing an API entirely</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://jsonapi.org/">JSON:API</a>, the API spec Sam uses to build his SPA backends</li><li><a href="http://jsonapi-resources.com/">JSONAPI::Resources</a>, the Rails gem for declaratively building a JSON:API compliant API</li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://vuex.vuejs.org/">Vuex</a></li><li><a href="https://www.apollographql.com/">Apollo GraphQL</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 30 Jan 2019 15:14:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e6c16cd8/37b16149.mp3" length="48087574" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/i4cEfkRg5BXH5bbSOX7QdmVAuI-A9ldf5TMaYugWh2Q/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2OS8x/NTk3OTQ0MDA3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3000</itunes:duration>
      <itunes:summary>In this episode, Adam continues his discussion with Sam Selikoff about building single page applications, this time focusing on strategies for keeping your API layer as simple as possible, so all of your complexity lives in your client-side codebase instead of being spread across both.</itunes:summary>
      <itunes:subtitle>In this episode, Adam continues his discussion with Sam Selikoff about building single page applications, this time focusing on strategies for keeping your API layer as simple as possible, so all of your complexity lives in your client-side codebase inste</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>106: Sam Selikoff - Single Page Application Architecture</title>
      <itunes:episode>106</itunes:episode>
      <podcast:episode>106</podcast:episode>
      <itunes:title>106: Sam Selikoff - Single Page Application Architecture</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">11701194-3415-4a6b-b20d-111ec5513838</guid>
      <link>https://share.transistor.fm/s/de367503</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why you should think of SPAs as desktop apps instead of web apps</li><li>Strategies for pushing complexity out of your backend and on to the client</li><li>Building optimistic UIs</li><li>Best practices for storing and retrieving data</li><li>Why you should design your SPAs with an "offline-first" mindset</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://www.youtube.com/watch?v=MF0jFKvS4SI">Cruddy by Design</a>, Adam's talk on modeling with resources</li><li><a href="https://www.youtube.com/watch?v=puOrC7cfjRI">Progressive Enhacement is Dead, Long Live Progressive Enhancement</a>, a talk from Tom Dale that talks about building offline-first web applications</li><li><a href="https://guides.emberjs.com/release/models/">Ember Data</a></li><li><a href="https://jsonapi.org/">JSON:API</a></li><li><a href="https://github.com/orbitjs/ember-orbit">Ember-Orbit</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why you should think of SPAs as desktop apps instead of web apps</li><li>Strategies for pushing complexity out of your backend and on to the client</li><li>Building optimistic UIs</li><li>Best practices for storing and retrieving data</li><li>Why you should design your SPAs with an "offline-first" mindset</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://www.youtube.com/watch?v=MF0jFKvS4SI">Cruddy by Design</a>, Adam's talk on modeling with resources</li><li><a href="https://www.youtube.com/watch?v=puOrC7cfjRI">Progressive Enhacement is Dead, Long Live Progressive Enhancement</a>, a talk from Tom Dale that talks about building offline-first web applications</li><li><a href="https://guides.emberjs.com/release/models/">Ember Data</a></li><li><a href="https://jsonapi.org/">JSON:API</a></li><li><a href="https://github.com/orbitjs/ember-orbit">Ember-Orbit</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 16 Jan 2019 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/de367503/e77c0916.mp3" length="53272953" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/FDx703M38YBK4Nc1WnFFBvos6uTpAGZOXkZosJupOJ4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2OC8x/NTk3OTQ0MDA1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3324</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sam Selikoff about single page application architecture, and why you should think of client-side applications like desktop applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sam Selikoff about single page application architecture, and why you should think of client-side applications like desktop applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>105: Strength Training for Nerds</title>
      <itunes:episode>105</itunes:episode>
      <podcast:episode>105</podcast:episode>
      <itunes:title>105: Strength Training for Nerds</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4493f2dc-b504-4ad2-8c25-993e9c9e802d</guid>
      <link>https://share.transistor.fm/s/7e8610ea</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What exercises you should focus on and why</li><li>How to develop a system that will force you to make progress</li><li>The importance of keeping a training journal</li><li>Why full-body workouts are better than training a specific muscle group each day</li><li>The importance of mobility for both training and your work life</li><li>Why building strength is so important as you age</li><li>Why you shouldn't trust trainers trying to sell complex exercise programs</li><li>Why you probably shouldn't be running for exercise</li><li>What equipment you need to get started</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.amazon.com/Starting-Strength-Basic-Barbell-Training/dp/0982522746/ref=dp_ob_title_bk">Starting Strength</a> by Mark Rippetoe</li><li><a href="https://www.amazon.com/Simplest-Effective-Training-System-Strength/dp/B00686OYGQ/ref=sr_1_1?ie=UTF8&amp;qid=1546532108&amp;sr=8-1&amp;keywords=wendler">5/3/1</a> by Jim Wendler</li><li><a href="https://www.amazon.com/Deskbound-Standing-Up-Sitting-World/dp/1628600586/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1546531977&amp;sr=1-1&amp;keywords=deskbound">Deskbound</a> by Kelly Starrett</li><li><a href="https://www.amazon.com/Atomic-Habits-Proven-Build-Break/dp/0735211299/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1546531995&amp;sr=1-1&amp;keywords=atomic+habits">Atomic Habits</a> by James Clear</li><li><a href="https://www.strong.app/">Strong</a> app for iOS</li><li><a href="https://startingstrength.com/article/why-you-should-not-be-running">"Why You Should Not Be Running"</a> by Mark Rippetoe</li><li><a href="https://www.roguefitness.com/mobility-wod-battlestar-2-0-kits">The MobilityWOD BattleStar</a></li><li><a href="https://www.roguefitness.com/">Rogue Fitness</a></li><li><a href="https://www.youtube.com/watch?v=2-J-DCbsQzo">Adam's last powerlifting competition</a> on YouTube</li><li><a href="https://www.habitsforhackers.com/">Habits for Hackers</a>, Ben's latest course</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What exercises you should focus on and why</li><li>How to develop a system that will force you to make progress</li><li>The importance of keeping a training journal</li><li>Why full-body workouts are better than training a specific muscle group each day</li><li>The importance of mobility for both training and your work life</li><li>Why building strength is so important as you age</li><li>Why you shouldn't trust trainers trying to sell complex exercise programs</li><li>Why you probably shouldn't be running for exercise</li><li>What equipment you need to get started</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://www.amazon.com/Starting-Strength-Basic-Barbell-Training/dp/0982522746/ref=dp_ob_title_bk">Starting Strength</a> by Mark Rippetoe</li><li><a href="https://www.amazon.com/Simplest-Effective-Training-System-Strength/dp/B00686OYGQ/ref=sr_1_1?ie=UTF8&amp;qid=1546532108&amp;sr=8-1&amp;keywords=wendler">5/3/1</a> by Jim Wendler</li><li><a href="https://www.amazon.com/Deskbound-Standing-Up-Sitting-World/dp/1628600586/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1546531977&amp;sr=1-1&amp;keywords=deskbound">Deskbound</a> by Kelly Starrett</li><li><a href="https://www.amazon.com/Atomic-Habits-Proven-Build-Break/dp/0735211299/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1546531995&amp;sr=1-1&amp;keywords=atomic+habits">Atomic Habits</a> by James Clear</li><li><a href="https://www.strong.app/">Strong</a> app for iOS</li><li><a href="https://startingstrength.com/article/why-you-should-not-be-running">"Why You Should Not Be Running"</a> by Mark Rippetoe</li><li><a href="https://www.roguefitness.com/mobility-wod-battlestar-2-0-kits">The MobilityWOD BattleStar</a></li><li><a href="https://www.roguefitness.com/">Rogue Fitness</a></li><li><a href="https://www.youtube.com/watch?v=2-J-DCbsQzo">Adam's last powerlifting competition</a> on YouTube</li><li><a href="https://www.habitsforhackers.com/">Habits for Hackers</a>, Ben's latest course</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 03 Jan 2019 16:18:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7e8610ea/5ac4c9ae.mp3" length="60705355" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Ev36WkDjKb13JZ6gfP7HBp87263irTaB2noRasTOrWM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2Ny8x/NTk3OTQ0MDAzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3788</itunes:duration>
      <itunes:summary>In the spirit of the new year, Adam and Ben Orenstein talk about getting in shape through strength training.</itunes:summary>
      <itunes:subtitle>In the spirit of the new year, Adam and Ben Orenstein talk about getting in shape through strength training.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>104: Jonathan Reinink - Pushing More Work to the Database</title>
      <itunes:episode>104</itunes:episode>
      <podcast:episode>104</podcast:episode>
      <itunes:title>104: Jonathan Reinink - Pushing More Work to the Database</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">575b2037-ebfa-4881-8973-0ad6adcc70a7</guid>
      <link>https://share.transistor.fm/s/abe63742</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Issues you run into when you do too much work in code instead of in the database</li><li>Why memory usage is just as important as query count</li><li>How being smarter with your database usage can let you avoid hard problems like cache invalidation</li><li>Denormalizing computable data to make it queryable</li><li>Using "where not exists" strategically to improve query performance</li><li>Why the solution to n+1 problems isn't always as simple as eager-loading</li><li>How subqueries work and how you can use them to avoid memory problems when eager-loading</li></ul><p>Sponsors:</p><ul><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a></li><li><a href="https://reinink.ca/articles/dynamic-relationships-in-laravel-using-subqueries">"Dynamic relationships in Laravel using subqueries"</a> on Jonathan's blog</li><li><a href="https://github.com/reinink/laracon2018">Source code</a> for Jonathan's Laracon Online talk</li><li><a href="https://stackoverflow.com/questions/173041/not-in-vs-not-exists">The benefits of NOT EXISTS</a> on StackOverflow</li><li><a href="https://github.com/reinink/advanced-eloquent">Advanced Eloquent</a>, Jonathan's Laravel package</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Issues you run into when you do too much work in code instead of in the database</li><li>Why memory usage is just as important as query count</li><li>How being smarter with your database usage can let you avoid hard problems like cache invalidation</li><li>Denormalizing computable data to make it queryable</li><li>Using "where not exists" strategically to improve query performance</li><li>Why the solution to n+1 problems isn't always as simple as eager-loading</li><li>How subqueries work and how you can use them to avoid memory problems when eager-loading</li></ul><p>Sponsors:</p><ul><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a></li><li><a href="https://reinink.ca/articles/dynamic-relationships-in-laravel-using-subqueries">"Dynamic relationships in Laravel using subqueries"</a> on Jonathan's blog</li><li><a href="https://github.com/reinink/laracon2018">Source code</a> for Jonathan's Laracon Online talk</li><li><a href="https://stackoverflow.com/questions/173041/not-in-vs-not-exists">The benefits of NOT EXISTS</a> on StackOverflow</li><li><a href="https://github.com/reinink/advanced-eloquent">Advanced Eloquent</a>, Jonathan's Laravel package</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 19 Dec 2018 16:16:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/abe63742/ca3d9ea4.mp3" length="59383495" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/6BViIVnp9TAAdukh6CMnkwkNcvxVoTk4CFAzPDD0eXs/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2Ni8x/NTk3OTQ0MDAwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3706</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about strategies for off-loading resource intensive work from your application code and into your database.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about strategies for off-loading resource intensive work from your application code and into your database.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>103: Steve Schoger - Design Q&amp;A + Refactoring UI Details</title>
      <itunes:episode>103</itunes:episode>
      <podcast:episode>103</podcast:episode>
      <itunes:title>103: Steve Schoger - Design Q&amp;A + Refactoring UI Details</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fc674d6e-7630-470e-bafc-24238d79ac9c</guid>
      <link>https://share.transistor.fm/s/38996a81</link>
      <description>
        <![CDATA[<p>Questions include:</p><ul><li>What's your process for getting started on a new design?</li><li>How do you make your designs feel original?</li><li>How do you choose fonts for a new project?</li><li>How do you make complex tables look good, and how do you make them work on mobile?</li><li>What's the best way to style multiple secondary actions on a page?</li></ul><p>Refactoring UI topics include:</p><ul><li>Structuring the book to make it easy to read in a short amount of time</li><li>An overview of the sections and chapters in the book</li><li>What's covered in the screencasts</li><li>How the included color palettes are designed and why they are more useful than the color palettes you're used to generating online</li><li>What the font recommendation guide includes and how it's organized</li><li>Details about the included icon set</li><li>What's inside the component gallery, and how it's meant to be used</li><li>The release date! 🎉</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at <a href="https://rollbar.com/fullstackradio">rollbar.com/fullstackradio</a> and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li></ul><p>Links:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a></li><li><a href="https://twitter.com/i/moments/994601867987619840">🔥 Design Tips</a></li><li><a href="https://fontsinuse.com/">Fonts In Use</a></li><li><a href="https://basecamp.com/books/Getting%20Real.pdf">"Getting Real" by Basecamp</a>, our inspiration for structuring the book</li><li><a href="https://www.youtube.com/steveschoger">Refactoring UI on YouTube</a></li><li><a href="https://twitter.com/steveschoger/status/1068186151289307137">Preview of the Refactoring UI icon set</a></li><li><a href="https://twitter.com/steveschoger/status/1062059228721045504">Preview of the Refactoring UI color palettes</a></li><li><a href="https://twitter.com/steveschoger/status/1069328268355092480">Preview of the Refactoring UI component gallery</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Questions include:</p><ul><li>What's your process for getting started on a new design?</li><li>How do you make your designs feel original?</li><li>How do you choose fonts for a new project?</li><li>How do you make complex tables look good, and how do you make them work on mobile?</li><li>What's the best way to style multiple secondary actions on a page?</li></ul><p>Refactoring UI topics include:</p><ul><li>Structuring the book to make it easy to read in a short amount of time</li><li>An overview of the sections and chapters in the book</li><li>What's covered in the screencasts</li><li>How the included color palettes are designed and why they are more useful than the color palettes you're used to generating online</li><li>What the font recommendation guide includes and how it's organized</li><li>Details about the included icon set</li><li>What's inside the component gallery, and how it's meant to be used</li><li>The release date! 🎉</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at <a href="https://rollbar.com/fullstackradio">rollbar.com/fullstackradio</a> and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li></ul><p>Links:</p><ul><li><a href="https://refactoringui.com/book">Refactoring UI</a></li><li><a href="https://twitter.com/i/moments/994601867987619840">🔥 Design Tips</a></li><li><a href="https://fontsinuse.com/">Fonts In Use</a></li><li><a href="https://basecamp.com/books/Getting%20Real.pdf">"Getting Real" by Basecamp</a>, our inspiration for structuring the book</li><li><a href="https://www.youtube.com/steveschoger">Refactoring UI on YouTube</a></li><li><a href="https://twitter.com/steveschoger/status/1068186151289307137">Preview of the Refactoring UI icon set</a></li><li><a href="https://twitter.com/steveschoger/status/1062059228721045504">Preview of the Refactoring UI color palettes</a></li><li><a href="https://twitter.com/steveschoger/status/1069328268355092480">Preview of the Refactoring UI component gallery</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 05 Dec 2018 14:38:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/38996a81/88e6cbc2.mp3" length="62682062" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/HCNR9PY-8o5lWPzmDmCzgSXDv5I1Rhp7GvKF21w5GhE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2NS8x/NTk3OTQzOTk4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3912</itunes:duration>
      <itunes:summary>In this episode, Adam and Steve Schoger answer listener questions about UI design, and share all of the details about their upcoming book and design resource Refactoring UI.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Steve Schoger answer listener questions about UI design, and share all of the details about their upcoming book and design resource Refactoring UI.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>102: Paul Jarvis - Staying Small</title>
      <itunes:episode>102</itunes:episode>
      <podcast:episode>102</podcast:episode>
      <itunes:title>102: Paul Jarvis - Staying Small</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">da0a86d2-b029-4f0b-b0f7-721fcca164f3</guid>
      <link>https://share.transistor.fm/s/a1c5e392</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why "success" shouldn't mean the same thing to everyone</li><li>How to stay small without doing all the work you don't want to do yourself</li><li>Why it's important to define what "enough" is for your business instead of always feeling the need to do better than you did last year</li><li>Questions to ask yourself to figure out what "success" would be for you</li><li>How knowing your "enough" can help you build better products for the people you want to serve</li><li>Why you should ignore the people who don't like what you're doing and double down on the people who love it</li></ul><p>Sponsors:</p><ul><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://pjrvs.com/">Paul's website</a></li><li><a href="https://ofone.co/">Company of One</a>, Paul's upcoming book</li><li><a href="https://pjrvs.com/enough-already/">"Enough already"</a>, from Paul's blog</li><li><a href="https://kk.org/thetechnium/1000-true-fans/">"1,000 True Fans"</a>, by Kevin Kelly</li><li><a href="https://pjrvs.com/rats/">"Find your rat people"</a>, from Paul's blog</li><li><a href="https://mixergy.com/interviews/sean-dsouza-psychotactics/">"Sean D'Souza doesn't want to grow his company!"</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why "success" shouldn't mean the same thing to everyone</li><li>How to stay small without doing all the work you don't want to do yourself</li><li>Why it's important to define what "enough" is for your business instead of always feeling the need to do better than you did last year</li><li>Questions to ask yourself to figure out what "success" would be for you</li><li>How knowing your "enough" can help you build better products for the people you want to serve</li><li>Why you should ignore the people who don't like what you're doing and double down on the people who love it</li></ul><p>Sponsors:</p><ul><li><a href="https://ohdear.app">Oh Dear!</a>, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://pjrvs.com/">Paul's website</a></li><li><a href="https://ofone.co/">Company of One</a>, Paul's upcoming book</li><li><a href="https://pjrvs.com/enough-already/">"Enough already"</a>, from Paul's blog</li><li><a href="https://kk.org/thetechnium/1000-true-fans/">"1,000 True Fans"</a>, by Kevin Kelly</li><li><a href="https://pjrvs.com/rats/">"Find your rat people"</a>, from Paul's blog</li><li><a href="https://mixergy.com/interviews/sean-dsouza-psychotactics/">"Sean D'Souza doesn't want to grow his company!"</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 21 Nov 2018 19:47:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a1c5e392/3337e6f8.mp3" length="63503676" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/mpiw71VnSyfYHZ5eVa2beiDbA5SO7FzYchvyLNXssk0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2NC8x/NTk3OTQzOTk2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3963</itunes:duration>
      <itunes:summary>In this episode Adam talks to Paul Jarvis about defining your own version of success and why you might not need to build a big business to achieve it.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Paul Jarvis about defining your own version of success and why you might not need to build a big business to achieve it.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>101: Ben Orenstein - How to Build an App in a Week</title>
      <itunes:episode>101</itunes:episode>
      <podcast:episode>101</podcast:episode>
      <itunes:title>101: Ben Orenstein - How to Build an App in a Week</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c33a7ced-21f4-4b0d-b131-9c91f3606166</guid>
      <link>https://share.transistor.fm/s/f488ec4c</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why deadlines are critical</li><li>Using manual processes to avoid building features entirely</li><li>How launching a stripped down version of your idea can help you build the right thing</li><li>Recognizing when you don't need to solve a problem <em>yet</em></li><li>Why you shouldn't design your entire UI up front</li><li>How evolutionary design applies to both code and interface design</li><li>Why you should always finish a feature before starting the next one</li><li>Applying this approach to Ben's current project Tuple</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://artofproductpodcast.com/">The Art of Product</a>, Ben's podcast</li><li><a href="https://tuple.app/">Tuple</a>, Ben's current project</li><li><a href="https://robots.thoughtbot.com/you-should-take-a-codecation">"You Should Take a Codecation"</a></li><li><a href="https://www.trailmix.life/">Trailmix.life</a>, Ben's first codecation SaaS</li><li><a href="https://www.briefs.fm/">Briefs.fm</a>, Ben's second codecation SaaS</li><li><a href="https://nomadlist.com/">Nomadlist</a>, by <a href="https://twitter.com/levelsio">Pieter Levels</a></li><li><a href="https://twitter.com/levelsio/status/1058406384599846912">Airline List</a></li><li>Basecamp 6 week cycles</li><li><a href="https://m.signalvnoise.com/how-we-set-up-our-work-cbce3d3d9cae">"How we structure our work and teams at Basecamp"</a></li><li><a href="https://m.signalvnoise.com/what-six-weeks-of-work-looks-like-69289221e80d">"What six weeks of work looks like"</a> (at Basecamp)</li><li><a href="https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp">"Making Sense of MVP"</a>, by Henrik Kniberg</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why deadlines are critical</li><li>Using manual processes to avoid building features entirely</li><li>How launching a stripped down version of your idea can help you build the right thing</li><li>Recognizing when you don't need to solve a problem <em>yet</em></li><li>Why you shouldn't design your entire UI up front</li><li>How evolutionary design applies to both code and interface design</li><li>Why you should always finish a feature before starting the next one</li><li>Applying this approach to Ben's current project Tuple</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://artofproductpodcast.com/">The Art of Product</a>, Ben's podcast</li><li><a href="https://tuple.app/">Tuple</a>, Ben's current project</li><li><a href="https://robots.thoughtbot.com/you-should-take-a-codecation">"You Should Take a Codecation"</a></li><li><a href="https://www.trailmix.life/">Trailmix.life</a>, Ben's first codecation SaaS</li><li><a href="https://www.briefs.fm/">Briefs.fm</a>, Ben's second codecation SaaS</li><li><a href="https://nomadlist.com/">Nomadlist</a>, by <a href="https://twitter.com/levelsio">Pieter Levels</a></li><li><a href="https://twitter.com/levelsio/status/1058406384599846912">Airline List</a></li><li>Basecamp 6 week cycles</li><li><a href="https://m.signalvnoise.com/how-we-set-up-our-work-cbce3d3d9cae">"How we structure our work and teams at Basecamp"</a></li><li><a href="https://m.signalvnoise.com/what-six-weeks-of-work-looks-like-69289221e80d">"What six weeks of work looks like"</a> (at Basecamp)</li><li><a href="https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp">"Making Sense of MVP"</a>, by Henrik Kniberg</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 07 Nov 2018 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f488ec4c/bb50a5d3.mp3" length="53295507" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/66by4md7-HgBBzWSps7HfBm1WZOhMHn8agiSZOh3Rbw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2My8x/NTk3OTQzOTk0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3325</itunes:duration>
      <itunes:summary>In this episode Adam talks to Ben Orenstein about the common mistakes people make when working on a new project that prevent them from getting it to the finish line.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Ben Orenstein about the common mistakes people make when working on a new project that prevent them from getting it to the finish line.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>100: Sébastien Chopin - Building Universal Vue.js Apps with Nuxt.js</title>
      <itunes:episode>100</itunes:episode>
      <podcast:episode>100</podcast:episode>
      <itunes:title>100: Sébastien Chopin - Building Universal Vue.js Apps with Nuxt.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e1d44c41-547d-45fb-bc40-4db2cbed67d7</guid>
      <link>https://share.transistor.fm/s/11c69f32</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>The history behind Nuxt.js</li><li>How Nuxt.js uses special Page components and file-based routing instead of using a traditional router</li><li>Creating dynamic page-based routes without a custom server</li><li>How the asyncData lifecycle hook works</li><li>How server-side rendering works in Nuxt.js</li><li>How Nuxt.js uses intelligent code-splitting to improve performance</li><li>How to use the fetch method to dispatch Vuex actions</li><li>Using the head method to populate head elements on a page</li><li>How layouts and middleware work</li><li>Options for generating, serving, and deploying Nuxt applications</li><li>When and why would someone use Vue CLI instead of Nuxt?</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://vuetoronto.com/tickets/?unii-discount-code=ADVANCEDVUE">VueConf TO Discount</a></li><li><a href="https://nuxtjs.org/">Nuxt.js Documentation</a></li><li><a href="https://vuepress.vuejs.org/">Vuepress</a></li><li><a href="https://cli.vuejs.org/">Vue CLI 3</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>The history behind Nuxt.js</li><li>How Nuxt.js uses special Page components and file-based routing instead of using a traditional router</li><li>Creating dynamic page-based routes without a custom server</li><li>How the asyncData lifecycle hook works</li><li>How server-side rendering works in Nuxt.js</li><li>How Nuxt.js uses intelligent code-splitting to improve performance</li><li>How to use the fetch method to dispatch Vuex actions</li><li>Using the head method to populate head elements on a page</li><li>How layouts and middleware work</li><li>Options for generating, serving, and deploying Nuxt applications</li><li>When and why would someone use Vue CLI instead of Nuxt?</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li></ul><p>Links:</p><ul><li><a href="https://vuetoronto.com/tickets/?unii-discount-code=ADVANCEDVUE">VueConf TO Discount</a></li><li><a href="https://nuxtjs.org/">Nuxt.js Documentation</a></li><li><a href="https://vuepress.vuejs.org/">Vuepress</a></li><li><a href="https://cli.vuejs.org/">Vue CLI 3</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 24 Oct 2018 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/11c69f32/29f0909e.mp3" length="46944637" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ofc6Fse5_Z8v6T8-BtJKmwY5lBp4NqfjZqEX5pErthU/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2Mi8x/NTk3OTQzOTkyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2928</itunes:duration>
      <itunes:summary>In this episode Adam talks to Sébastien Chopin about Nuxt.js, a Next.js-inspired framework for building server-rendered client-side applications with Vue.js.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Sébastien Chopin about Nuxt.js, a Next.js-inspired framework for building server-rendered client-side applications with Vue.js.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>99: Tim Neutkens - Building React Apps with Next.js</title>
      <itunes:episode>99</itunes:episode>
      <podcast:episode>99</podcast:episode>
      <itunes:title>99: Tim Neutkens - Building React Apps with Next.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">58d73af7-caf5-4f7a-96a4-3763318da7c9</guid>
      <link>https://share.transistor.fm/s/7a7ec7e0</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How Next.js is different than using create-react-app</li><li>How page-based routing works in Next.js vs. a traditional router</li><li>The mechanics behind how components are server-side rendered and picked up by React on the client</li><li>What it really means to server-render a React app and how it's different from a traditional server-rendered web app</li><li>How to use "getInitialProps" to tell Next.js how to render a page on the server</li><li>How dynamic routing works using page-based routing</li><li>What's new in Next.js 7.0</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://vuetoronto.com/tickets/?unii-discount-code=ADVANCEDVUE">VueConf TO Discount</a></li><li><a href="https://nextjs.org/">Next.js Documentation</a></li><li><a href="https://nextjs.org/learn/">Learn Next.js</a>, official guide</li><li><a href="https://nextjs.org/blog">Next.js Blog</a></li><li><a href="https://github.com/zeit/next.js/tree/master/examples">Next.js Examples</a> on GitHub</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How Next.js is different than using create-react-app</li><li>How page-based routing works in Next.js vs. a traditional router</li><li>The mechanics behind how components are server-side rendered and picked up by React on the client</li><li>What it really means to server-render a React app and how it's different from a traditional server-rendered web app</li><li>How to use "getInitialProps" to tell Next.js how to render a page on the server</li><li>How dynamic routing works using page-based routing</li><li>What's new in Next.js 7.0</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for <a href="https://opencollective.com/">Open Collective</a></li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://vuetoronto.com/tickets/?unii-discount-code=ADVANCEDVUE">VueConf TO Discount</a></li><li><a href="https://nextjs.org/">Next.js Documentation</a></li><li><a href="https://nextjs.org/learn/">Learn Next.js</a>, official guide</li><li><a href="https://nextjs.org/blog">Next.js Blog</a></li><li><a href="https://github.com/zeit/next.js/tree/master/examples">Next.js Examples</a> on GitHub</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 10 Oct 2018 16:32:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7a7ec7e0/b099d023.mp3" length="50049592" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/8jPWDLil5X-4lWPM5Qpase-GVvdW0STkg36aBmyAvH8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2MS8x/NTk3OTQzOTkwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3122</itunes:duration>
      <itunes:summary>In this episode Adam talks to Tim Neutkens about Next.js, an opinionated React framework for building server-rendered client-side applications.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Tim Neutkens about Next.js, an opinionated React framework for building server-rendered client-side applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>98: Ryan Chenkie - Securing Single Page Applications</title>
      <itunes:episode>98</itunes:episode>
      <podcast:episode>98</podcast:episode>
      <itunes:title>98: Ryan Chenkie - Securing Single Page Applications</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">482f9530-accf-4973-9e55-20965813e9f2</guid>
      <link>https://share.transistor.fm/s/c4f73b06</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What JSON Web Tokens are and how to use them to authenticate users</li><li>Strategies for invalidating stateless API tokens</li><li>Using cookie and session authentication</li><li>Using authentication-as-a-service solutions like Auth0</li><li>Proxying requests to your API to simplify CORS issues</li><li>Protecting against XSS attacks</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://jwt.io/">JSON Web Tokens</a></li><li><a href="https://ryanchenkie.com/securing-angular-applications/">Securing Angular Applications</a>, Ryan's book</li><li><a href="https://securityheaders.com/">Security Headers scanning tool</a></li><li><a href="https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5">"I’m harvesting credit card numbers and passwords from your site. Here’s how."</a></li><li>https://auth0.com/</li><li><a href="https://twitter.com/adamwathan/status/1035506251713544193">"CORS is bad for performance"</a> Twitter thread</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What JSON Web Tokens are and how to use them to authenticate users</li><li>Strategies for invalidating stateless API tokens</li><li>Using cookie and session authentication</li><li>Using authentication-as-a-service solutions like Auth0</li><li>Proxying requests to your API to simplify CORS issues</li><li>Protecting against XSS attacks</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://jwt.io/">JSON Web Tokens</a></li><li><a href="https://ryanchenkie.com/securing-angular-applications/">Securing Angular Applications</a>, Ryan's book</li><li><a href="https://securityheaders.com/">Security Headers scanning tool</a></li><li><a href="https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5">"I’m harvesting credit card numbers and passwords from your site. Here’s how."</a></li><li>https://auth0.com/</li><li><a href="https://twitter.com/adamwathan/status/1035506251713544193">"CORS is bad for performance"</a> Twitter thread</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 26 Sep 2018 15:19:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/c4f73b06/1dc6b5c2.mp3" length="55542964" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Set5E7DHcczdXqwwR7bN2DlgBMP7ngVXwDosGw-SGZY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk2MC8x/NTk3OTQzOTg4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3466</itunes:duration>
      <itunes:summary>In this episode Adam talks to Ryan Chenkie of Angularcasts about authentication strategies and security best practices when building client-side applications with frameworks like React, Vue, Angular, or Ember.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Ryan Chenkie of Angularcasts about authentication strategies and security best practices when building client-side applications with frameworks like React, Vue, Angular, or Ember.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>97: Ryan Florence - Building Accessible UI Components</title>
      <itunes:episode>97</itunes:episode>
      <podcast:episode>97</podcast:episode>
      <itunes:title>97: Ryan Florence - Building Accessible UI Components</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d701fa20-61e3-4b9d-9e5e-2c74b590a265</guid>
      <link>https://share.transistor.fm/s/2a9a7d65</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How modern JS frameworks have made the web less accessible</li><li>How Reach UI is making it easier for people to build accessible components without sacrificing customizability</li><li>The importance of using the correct markup</li><li>How focus trapping works</li><li>Adding keyboard navigation to components in a way that makes sense for screenreader users</li><li>The challenges of building an accessibility-focused UI library</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://ui.reach.tech">Reach UI</a></li><li><a href="https://github.com/necolas/react-native-web">React Native for Web</a></li><li><a href="https://www.w3.org/TR/wai-aria-practices-1.1/">WAI-ARIA Authoring Practices</a></li><li><a href="https://www.apple.com/ca/accessibility/mac/vision/">VoiceOver</a></li><li><a href="https://www.nvaccess.org/download/">NVDA</a></li><li><a href="https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L121-L140">Hiding elements visually but not from screenreaders</a></li><li><a href="https://reach.tech/workshops">Ryan's Advanced React Workshop Tour</a></li><li><a href="https://reach.tech/courses">Ryan's Online React Courses</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How modern JS frameworks have made the web less accessible</li><li>How Reach UI is making it easier for people to build accessible components without sacrificing customizability</li><li>The importance of using the correct markup</li><li>How focus trapping works</li><li>Adding keyboard navigation to components in a way that makes sense for screenreader users</li><li>The challenges of building an accessibility-focused UI library</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://ui.reach.tech">Reach UI</a></li><li><a href="https://github.com/necolas/react-native-web">React Native for Web</a></li><li><a href="https://www.w3.org/TR/wai-aria-practices-1.1/">WAI-ARIA Authoring Practices</a></li><li><a href="https://www.apple.com/ca/accessibility/mac/vision/">VoiceOver</a></li><li><a href="https://www.nvaccess.org/download/">NVDA</a></li><li><a href="https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L121-L140">Hiding elements visually but not from screenreaders</a></li><li><a href="https://reach.tech/workshops">Ryan's Advanced React Workshop Tour</a></li><li><a href="https://reach.tech/courses">Ryan's Online React Courses</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 12 Sep 2018 19:44:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/2a9a7d65/47d61232.mp3" length="57428709" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Vfx9lpIqSN2B6sH09C4smRwCb8E8dlPv_DIr_a-wYEI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1OS8x/NTk3OTQzOTg2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3584</itunes:duration>
      <itunes:summary>In this episode Adam talks to Ryan Florence about the challenges of making custom UI components accessible, and how Ryan is trying to make that easier with Reach UI.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Ryan Florence about the challenges of making custom UI components accessible, and how Ryan is trying to make that easier with Reach UI.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>96: James Clear - Designing Your Environment to Shape Your Behavior</title>
      <itunes:episode>96</itunes:episode>
      <podcast:episode>96</podcast:episode>
      <itunes:title>96: James Clear - Designing Your Environment to Shape Your Behavior</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4e023a5e-3b9e-46f0-9501-1a42b0fa49d6</guid>
      <link>https://share.transistor.fm/s/ab3a00f7</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why goals aren't useful on their own</li><li>The four rules that guide human behavior</li><li>Using environment design to encourage the habits you want to adopt</li><li>Building habits of avoidance</li><li>Why being productive is really about decision making</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li></ul><p>Links:</p><ul><li><a href="https://jamesclear.com/">JamesClear.com</a></li><li><a href="https://jamesclear.com/atomic-habits">Pre-order Atomic Habits</a>, James' upcoming book</li><li><a href="https://jamesclear.com/newsletter">James' Newsletter</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why goals aren't useful on their own</li><li>The four rules that guide human behavior</li><li>Using environment design to encourage the habits you want to adopt</li><li>Building habits of avoidance</li><li>Why being productive is really about decision making</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li></ul><p>Links:</p><ul><li><a href="https://jamesclear.com/">JamesClear.com</a></li><li><a href="https://jamesclear.com/atomic-habits">Pre-order Atomic Habits</a>, James' upcoming book</li><li><a href="https://jamesclear.com/newsletter">James' Newsletter</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 29 Aug 2018 14:28:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ab3a00f7/489f4c06.mp3" length="58990691" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/rzJw1DHxPcCdd4TiI0YDuwo-8IZT9-h-2XcD3GzC6h0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1OC8x/NTk3OTQzOTg0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3681</itunes:duration>
      <itunes:summary>In this episode, Adam talks to James Clear about why goal setting isn't enough, why you should focus on building habits instead, and how to build habits that you'll actually stick with.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to James Clear about why goal setting isn't enough, why you should focus on building habits instead, and how to build habits that you'll actually stick with.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>95: Frank de Jonge - Implementing Event Sourcing</title>
      <itunes:episode>95</itunes:episode>
      <podcast:episode>95</podcast:episode>
      <itunes:title>95: Frank de Jonge - Implementing Event Sourcing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">dfb43a58-46ba-48ee-8f67-8c55deb89988</guid>
      <link>https://share.transistor.fm/s/53271af6</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How to fetch and reconstitute an aggregate from its events</li><li>Using generators to make it easy to transform event streams</li><li>What it looks like to apply an event to an aggregate</li><li>How to create events and what they look like</li><li>Implementing a message repository for fetching events from storage</li><li>How to raise events from inside your aggregates</li><li>How to persist aggregates at the end of a request</li><li>What it looks like to insert new events into storage</li><li>Dispatching events to consumers to produce side effects</li><li>Using event consumers to create and update projections</li></ul><p>Sponsors:</p><ul><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="http://www.fullstackradio.com/85">Full Stack Radio #85</a></li><li><a href="https://eventsauce.io">EventSauce</a>, Frank's event sourcing library</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How to fetch and reconstitute an aggregate from its events</li><li>Using generators to make it easy to transform event streams</li><li>What it looks like to apply an event to an aggregate</li><li>How to create events and what they look like</li><li>Implementing a message repository for fetching events from storage</li><li>How to raise events from inside your aggregates</li><li>How to persist aggregates at the end of a request</li><li>What it looks like to insert new events into storage</li><li>Dispatching events to consumers to produce side effects</li><li>Using event consumers to create and update projections</li></ul><p>Sponsors:</p><ul><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="http://www.fullstackradio.com/85">Full Stack Radio #85</a></li><li><a href="https://eventsauce.io">EventSauce</a>, Frank's event sourcing library</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 15 Aug 2018 15:09:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/53271af6/1c6ac825.mp3" length="85468375" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/2MIpEhE0pWkIgJ-eWA-7IZkejZGkQ4W6LmQVW-6e_rE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1Ny8x/NTk3OTQzOTgxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5336</itunes:duration>
      <itunes:summary>In this episode, Adam continues his event sourcing discussion with Frank de Jonge from episode 85, going deep into how to actually implement event sourcing using Frank's library EventSauce.</itunes:summary>
      <itunes:subtitle>In this episode, Adam continues his event sourcing discussion with Frank de Jonge from episode 85, going deep into how to actually implement event sourcing using Frank's library EventSauce.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>94: Ben Orenstein - The Art of Pairing</title>
      <itunes:episode>94</itunes:episode>
      <podcast:episode>94</podcast:episode>
      <itunes:title>94: Ben Orenstein - The Art of Pairing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b874df66-74b1-4d84-94b7-183947eff97b</guid>
      <link>https://share.transistor.fm/s/6fce3168</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>The benefits of pairing with someone more experienced than you</li><li>The benefits of pairing with someone less experienced than you</li><li>How pairing helps you build things faster</li><li>Why pairing often removes the need for code review</li><li>How to get started with pairing if you've never done it before</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li></ul><p>Links:</p><ul><li><a href="https://tuple.app/">Tuple</a>, the remote pairing tool Ben is building</li><li><a href="https://tuple.app/pair-programming-guide">Tuple's Pair Programming Guide</a></li><li><a href="http://artofproductpodcast.com/">The Art of Product</a>, Ben's podcast with Derrick Reimer</li><li><a href="http://www.benorenstein.com/">Ben's blog</a></li><li><a href="https://en.wikipedia.org/wiki/Pair_programming">Pair programming</a> on Wikipedia</li><li><a href="https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_1?ie=UTF8&amp;qid=1533135342&amp;sr=8-1&amp;keywords=extreme+programming">"Extreme Programming Explained"</a> by Kent Beck</li><li><a href="http://www.benorenstein.com/blog/how-to-improve-as-a-programmer">"How to Improve as a Programmer"</a></li><li><a href="http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html">Llewellyn’s strong-style pairing</a></li><li><a href="https://en.wikipedia.org/wiki/Pomodoro_Technique">The Pomodoro Technique</a></li><li><a href="http://podcast.vehikl.com/018-paired-programming">Vehikl podcast episode on pairing</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>The benefits of pairing with someone more experienced than you</li><li>The benefits of pairing with someone less experienced than you</li><li>How pairing helps you build things faster</li><li>Why pairing often removes the need for code review</li><li>How to get started with pairing if you've never done it before</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li></ul><p>Links:</p><ul><li><a href="https://tuple.app/">Tuple</a>, the remote pairing tool Ben is building</li><li><a href="https://tuple.app/pair-programming-guide">Tuple's Pair Programming Guide</a></li><li><a href="http://artofproductpodcast.com/">The Art of Product</a>, Ben's podcast with Derrick Reimer</li><li><a href="http://www.benorenstein.com/">Ben's blog</a></li><li><a href="https://en.wikipedia.org/wiki/Pair_programming">Pair programming</a> on Wikipedia</li><li><a href="https://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_1?ie=UTF8&amp;qid=1533135342&amp;sr=8-1&amp;keywords=extreme+programming">"Extreme Programming Explained"</a> by Kent Beck</li><li><a href="http://www.benorenstein.com/blog/how-to-improve-as-a-programmer">"How to Improve as a Programmer"</a></li><li><a href="http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html">Llewellyn’s strong-style pairing</a></li><li><a href="https://en.wikipedia.org/wiki/Pomodoro_Technique">The Pomodoro Technique</a></li><li><a href="http://podcast.vehikl.com/018-paired-programming">Vehikl podcast episode on pairing</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 01 Aug 2018 15:03:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/6fce3168/7b7478e3.mp3" length="51046757" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ijfGmDC6qJ55TQjOf_GQm3y73b-XzK-RjRQ6uPfCHJQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1Ni8x/NTk3OTQzOTc5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3185</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ben Orenstein about the benefits of pair programming and how to do it effectively.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ben Orenstein about the benefits of pair programming and how to do it effectively.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>93: Justin Jackson - Who You Want to Help &gt; What You Want to Build</title>
      <itunes:episode>93</itunes:episode>
      <podcast:episode>93</podcast:episode>
      <itunes:title>93: Justin Jackson - Who You Want to Help &gt; What You Want to Build</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">176a26ea-02e8-48e1-88bd-1eca537d12a9</guid>
      <link>https://share.transistor.fm/s/620611a3</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why you should choose a market before getting too attached to the type of product you want to create</li><li>Why it can make sense to create products in different categories if they are for the same people</li><li>Why a CSS framework and a TDD course have more in common than it sounds</li><li>Why you might be happier having a job than running a business if you want to spend your time doing a specific type of work</li><li>What you should be doing instead of racking your brain for app ideas</li></ul><p>Sponsors:</p><ul><li><a href="https://www.netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://sivers.org/a">"Anything You Want"</a> by Derek Sivers</li><li><a href="https://twitter.com/adamwathan/status/1015979729013227520">Adam's tweet storm</a> after re-reading "Anything You Want"</li><li><a href="https://www.youtube.com/watch?v=F-q3PLqMOoc">Justin's talk on product validation at MicroConf 2018</a></li><li><a href="https://justinjackson.ca/">Justin's website</a></li><li><a href="https://justinjackson.podia.com/marketing-for-developers">Justin's Marketing for Developers course</a></li><li><a href="https://saas.transistor.fm/">Build your SaaS</a>, Justin's podcast about building <a href="https://transistor.fm/how-to-start-a-podcast/">Transistor.fm</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why you should choose a market before getting too attached to the type of product you want to create</li><li>Why it can make sense to create products in different categories if they are for the same people</li><li>Why a CSS framework and a TDD course have more in common than it sounds</li><li>Why you might be happier having a job than running a business if you want to spend your time doing a specific type of work</li><li>What you should be doing instead of racking your brain for app ideas</li></ul><p>Sponsors:</p><ul><li><a href="https://www.netlify.com/fullstackradio">Netlify</a>, incredibly powerful static site hosting for free</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://sivers.org/a">"Anything You Want"</a> by Derek Sivers</li><li><a href="https://twitter.com/adamwathan/status/1015979729013227520">Adam's tweet storm</a> after re-reading "Anything You Want"</li><li><a href="https://www.youtube.com/watch?v=F-q3PLqMOoc">Justin's talk on product validation at MicroConf 2018</a></li><li><a href="https://justinjackson.ca/">Justin's website</a></li><li><a href="https://justinjackson.podia.com/marketing-for-developers">Justin's Marketing for Developers course</a></li><li><a href="https://saas.transistor.fm/">Build your SaaS</a>, Justin's podcast about building <a href="https://transistor.fm/how-to-start-a-podcast/">Transistor.fm</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 18 Jul 2018 15:55:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/620611a3/41a9810c.mp3" length="71138181" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ItJGxOZyiBQvB-5jSVXhOeOc13SrK_mf0rjbQw_pv8M/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1NS8x/NTk3OTQzOTc3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4440</itunes:duration>
      <itunes:summary>In this episode, Adam and Justin Jackson have a candid conversation about a life-changing realization Adam recently had about what he does for a living. They talk about why it's important to define your business by the people it serves instead of the product you make, and how to stop stressing yourself out trying to come up with the perfect SaaS app idea.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Justin Jackson have a candid conversation about a life-changing realization Adam recently had about what he does for a living. They talk about why it's important to define your business by the people it serves instead of the prod</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>Yes</itunes:explicit>
    </item>
    <item>
      <title>92: Derrick Reimer - Building an SPA with Elm, Phoenix and GraphQL</title>
      <itunes:episode>92</itunes:episode>
      <podcast:episode>92</podcast:episode>
      <itunes:title>92: Derrick Reimer - Building an SPA with Elm, Phoenix and GraphQL</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f76673b0-756c-4364-b8de-d94e924b1cf4</guid>
      <link>https://share.transistor.fm/s/2ed4457f</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why Derrick chose to build Level as an SPA</li><li>Choosing Elm over React or Vue</li><li>How Elm is sort of like a language and framework combined</li><li>Moving to Phoenix from Rails</li><li>Why getting abstractions right feels easier in a functional language</li><li>How "contexts" help you organize your Phoenix code</li><li>The benefits of GraphQL over REST</li><li>What it looks like to implement GraphQL on the server</li><li>Avoiding n+1 queries with GraphQL</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://level.app/">Level</a></li><li><a href="https://www.youtube.com/channel/UC_S4Y8fdGKdsEWn4GcosEKw">Level live-coding screencasts on YouTube</a></li><li><a href="http://elm-lang.org/">Elm</a>, the functional programming language Derrick is using on the frontend</li><li><a href="https://guide.elm-lang.org/">An Introduction to Elm</a>, the official tutorial</li><li><a href="https://guide.elm-lang.org/architecture/">The Elm Architecture</a></li><li><a href="https://elixir-lang.org/">Elixir</a>, the functional programming language Derrick is using on the backend</li><li><a href="http://phoenixframework.org/">Phoenix</a>, the Elixir framework</li><li><a href="https://hexdocs.pm/phoenix/contexts.html">Contexts</a> in Phoenix</li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://github.com/absinthe-graphql/absinthe">Absinthe</a>, GraphQL implementation for Elixir</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why Derrick chose to build Level as an SPA</li><li>Choosing Elm over React or Vue</li><li>How Elm is sort of like a language and framework combined</li><li>Moving to Phoenix from Rails</li><li>Why getting abstractions right feels easier in a functional language</li><li>How "contexts" help you organize your Phoenix code</li><li>The benefits of GraphQL over REST</li><li>What it looks like to implement GraphQL on the server</li><li>Avoiding n+1 queries with GraphQL</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li></ul><p>Links:</p><ul><li><a href="https://level.app/">Level</a></li><li><a href="https://www.youtube.com/channel/UC_S4Y8fdGKdsEWn4GcosEKw">Level live-coding screencasts on YouTube</a></li><li><a href="http://elm-lang.org/">Elm</a>, the functional programming language Derrick is using on the frontend</li><li><a href="https://guide.elm-lang.org/">An Introduction to Elm</a>, the official tutorial</li><li><a href="https://guide.elm-lang.org/architecture/">The Elm Architecture</a></li><li><a href="https://elixir-lang.org/">Elixir</a>, the functional programming language Derrick is using on the backend</li><li><a href="http://phoenixframework.org/">Phoenix</a>, the Elixir framework</li><li><a href="https://hexdocs.pm/phoenix/contexts.html">Contexts</a> in Phoenix</li><li><a href="https://graphql.org/">GraphQL</a></li><li><a href="https://github.com/absinthe-graphql/absinthe">Absinthe</a>, GraphQL implementation for Elixir</li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 03 Jul 2018 17:03:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/2ed4457f/4c23b077.mp3" length="59711541" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/F6zWwiQ7LzLsaAGTcbDJiElMiJasWOWcveNzG5FUOp4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1NC8x/NTk3OTQzOTc1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3726</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Derrick Reimer about building his new app Level as an SPA using Elm, Phoenix, and GraphQL.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Derrick Reimer about building his new app Level as an SPA using Elm, Phoenix, and GraphQL.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>91: Derrick Reimer - Designing a Calmer Team Communication Platform</title>
      <itunes:episode>91</itunes:episode>
      <podcast:episode>91</podcast:episode>
      <itunes:title>91: Derrick Reimer - Designing a Calmer Team Communication Platform</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3937f7c5-7171-48b3-a498-eca804ace216</guid>
      <link>https://share.transistor.fm/s/a83e2ae4</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://level.app/">Level</a></li><li><a href="https://www.derrickreimer.com/posts/the-war-on-developer-productivity/">The War on Developer Productivity</a>, the Level manifesto</li><li><a href="https://www.youtube.com/channel/UC_S4Y8fdGKdsEWn4GcosEKw">Level live-coding screencasts on YouTube</a></li><li><a href="https://ghost.org/">Ghost</a>, open-source publishing platform</li><li><a href="https://www.discourse.org/">Discourse</a>, open-source discussion platform</li><li><a href="https://blog.ghost.org/5/">"After 5 years and $3M, here's everything we've learned from building Ghost"</a>,</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://level.app/">Level</a></li><li><a href="https://www.derrickreimer.com/posts/the-war-on-developer-productivity/">The War on Developer Productivity</a>, the Level manifesto</li><li><a href="https://www.youtube.com/channel/UC_S4Y8fdGKdsEWn4GcosEKw">Level live-coding screencasts on YouTube</a></li><li><a href="https://ghost.org/">Ghost</a>, open-source publishing platform</li><li><a href="https://www.discourse.org/">Discourse</a>, open-source discussion platform</li><li><a href="https://blog.ghost.org/5/">"After 5 years and $3M, here's everything we've learned from building Ghost"</a>,</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 20 Jun 2018 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a83e2ae4/3ebe710b.mp3" length="46960360" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/0dqllmpC8aKzuatu0KOB1SFJAhl5RDRafB7XXhILnSA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1My8x/NTk3OTQzOTczLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2929</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Derrick Reimer about the product design decisions behind Level, a new team communication platform Derrick is building. They also talk about Derrick's decision to open-source the entire codebase, despite the fact that he's building a real business around it.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Derrick Reimer about the product design decisions behind Level, a new team communication platform Derrick is building. They also talk about Derrick's decision to open-source the entire codebase, despite the fact that he's bu</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>90: David Hemphill - Using JSX with Vue.js</title>
      <itunes:episode>90</itunes:episode>
      <podcast:episode>90</podcast:episode>
      <itunes:title>90: David Hemphill - Using JSX with Vue.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">70f1672a-1e3d-4713-8637-7db7f0aeafc2</guid>
      <link>https://share.transistor.fm/s/5b2223ce</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What even is JSX, really?</li><li>Why JSX is not a templating a language</li><li>How render functions work</li><li>Advantages of JSX over templates</li><li>How to translate template features like v-if to JSX</li><li>How event listeners work with JSX</li><li>JSX gotchas to watch out for</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://reactjs.org/docs/introducing-jsx.html">Introducing JSX</a> from the React documentation</li><li><a href="https://vuejs.org/v2/guide/render-function.html">Render Functions &amp; JSX</a> in the Vue.js documentation</li><li><a href="https://template-explorer.vuejs.org/">Vue.js Template Explorer</a>, see how Vue compiles templates to render functions</li><li><a href="https://github.com/vuejs/babel-plugin-transform-vue-jsx">babel-plugin-transform-vue-jsx</a> on GitHub</li><li><a href="https://sebastiandedeyne.com/vue-templates-in-jsx">Vue Templates in JSX</a>, article by <a href="https://twitter.com/sebdedeyne">Sebastian De Deyne</a></li><li><a href="https://prettier.io/">Prettier</a> code formatter</li><li><a href="https://github.com/hyperhype/hyperscript">Hyperscript</a></li><li><a href="https://www.quora.com/Why-do-I-have-to-use-className-instead-of-class-in-ReactJs-components-done-in-JSX-JSX-is-preprocessed-so-shouldnt-that-conversion-happen-when-JSX-is-converted-to-JavaScript">Why React uses "className" instead of "class"</a></li><li><a href="https://alligator.io/vuejs/jsx-render-functions/">Writing Vue.js Render Functions in JSX</a> from Alligator.io</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What even is JSX, really?</li><li>Why JSX is not a templating a language</li><li>How render functions work</li><li>Advantages of JSX over templates</li><li>How to translate template features like v-if to JSX</li><li>How event listeners work with JSX</li><li>JSX gotchas to watch out for</li></ul><p>Sponsors:</p><ul><li><a href="https://cloudinary.com/users/register/free?utm_source=fullstackradio&amp;utm_medium=Sponsored_Podcast&amp;utm_content=fullstackradio_PodCast">Cloudinary</a>, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://reactjs.org/docs/introducing-jsx.html">Introducing JSX</a> from the React documentation</li><li><a href="https://vuejs.org/v2/guide/render-function.html">Render Functions &amp; JSX</a> in the Vue.js documentation</li><li><a href="https://template-explorer.vuejs.org/">Vue.js Template Explorer</a>, see how Vue compiles templates to render functions</li><li><a href="https://github.com/vuejs/babel-plugin-transform-vue-jsx">babel-plugin-transform-vue-jsx</a> on GitHub</li><li><a href="https://sebastiandedeyne.com/vue-templates-in-jsx">Vue Templates in JSX</a>, article by <a href="https://twitter.com/sebdedeyne">Sebastian De Deyne</a></li><li><a href="https://prettier.io/">Prettier</a> code formatter</li><li><a href="https://github.com/hyperhype/hyperscript">Hyperscript</a></li><li><a href="https://www.quora.com/Why-do-I-have-to-use-className-instead-of-class-in-ReactJs-components-done-in-JSX-JSX-is-preprocessed-so-shouldnt-that-conversion-happen-when-JSX-is-converted-to-JavaScript">Why React uses "className" instead of "class"</a></li><li><a href="https://alligator.io/vuejs/jsx-render-functions/">Writing Vue.js Render Functions in JSX</a> from Alligator.io</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 13 Jun 2018 18:32:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5b2223ce/bc2d00ba.mp3" length="61798389" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/bX-UMiNKGtvrX52gQ_JvMdaQexxnBbf5c_kVavTxl-4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1Mi8x/NTk3OTQzOTcxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3857</itunes:duration>
      <itunes:summary>In this episode, Adam talks to David Hemphill about using JSX instead of templates in Vue.js, and why you might want to give it a try.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to David Hemphill about using JSX instead of templates in Vue.js, and why you might want to give it a try.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>89: Sam Selikoff - Choosing Ember.js in 2018</title>
      <itunes:episode>89</itunes:episode>
      <podcast:episode>89</podcast:episode>
      <itunes:title>89: Sam Selikoff - Choosing Ember.js in 2018</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a6f16237-a495-45d5-bf72-8f1e3f3c5a2f</guid>
      <link>https://share.transistor.fm/s/b94a0441</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why has Ember stuck around when other frameworks from the same era haven't?</li><li>What do you get when you choose Ember that you don't get with other frameworks?</li><li>How does Ember's UI layer compare to React/Vue?</li><li>What choices does Ember make differently than frameworks like React and Vue?</li><li>How does Ember do state management?</li><li>Why Ember is a great choice if you value stability</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://www.emberjs.com/">Ember.js Documentation</a></li><li><a href="https://github.com/embermap/ember-cli-tailwind">ember-cli-tailwind</a>, Tailwind CSS add-on for Ember</li><li><a href="https://guides.emberjs.com/v2.14.0/templates/handlebars-basics/">Handlebars</a>, Ember's templating language</li><li><a href="https://emberigniter.com/should-we-use-ember-controllers/">"Should we use controllers?"</a>, on how controllers fit into Ember when also using components</li><li><a href="https://guides.emberjs.com/v3.1.0/models/">Ember Data</a></li><li><a href="https://emberjs.com/builds/">Ember's release cycle</a></li><li><a href="https://www.embercasts.com/">embercasts</a>, Ember.js training for beginners</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why has Ember stuck around when other frameworks from the same era haven't?</li><li>What do you get when you choose Ember that you don't get with other frameworks?</li><li>How does Ember's UI layer compare to React/Vue?</li><li>What choices does Ember make differently than frameworks like React and Vue?</li><li>How does Ember do state management?</li><li>Why Ember is a great choice if you value stability</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://embermap.com/">EmberMap</a>, Sam's Ember.js training site</li><li><a href="https://www.emberjs.com/">Ember.js Documentation</a></li><li><a href="https://github.com/embermap/ember-cli-tailwind">ember-cli-tailwind</a>, Tailwind CSS add-on for Ember</li><li><a href="https://guides.emberjs.com/v2.14.0/templates/handlebars-basics/">Handlebars</a>, Ember's templating language</li><li><a href="https://emberigniter.com/should-we-use-ember-controllers/">"Should we use controllers?"</a>, on how controllers fit into Ember when also using components</li><li><a href="https://guides.emberjs.com/v3.1.0/models/">Ember Data</a></li><li><a href="https://emberjs.com/builds/">Ember's release cycle</a></li><li><a href="https://www.embercasts.com/">embercasts</a>, Ember.js training for beginners</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 23 May 2018 15:44:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b94a0441/08df8087.mp3" length="59669789" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/18aPfD8bS6ymFoRwmJdlhceixWpQT099ayMp3lwSX0w/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1MS8x/NTk3OTQzOTY5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3724</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sam Selikoff about how Ember fits into the JS framework landscape in 2018, and why it might be the right choice for your next project.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sam Selikoff about how Ember fits into the JS framework landscape in 2018, and why it might be the right choice for your next project.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>88: Blake Newman - Vue.js State Management with Vuex</title>
      <itunes:episode>88</itunes:episode>
      <podcast:episode>88</podcast:episode>
      <itunes:title>88: Blake Newman - Vue.js State Management with Vuex</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4619d828-3055-4fa0-8000-e23f02eb11ee</guid>
      <link>https://share.transistor.fm/s/926e0b20</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is Vuex and where did it come from?</li><li>The benefits of centralizing all of your application's state into one place</li><li>What sort of state belongs in Vuex and what state should stay local to a component</li><li>What all the Vuex terminology means, like actions, mutations, getters, etc.</li><li>How you initially populate a Vuex store</li><li>Strategies for organizing all of the state in a store</li><li>Common mistakes people make with Vuex</li><li>Dealing with forms when using Vuex</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://vuex.vuejs.org/">Vuex Documentation</a></li><li><a href="https://guide.elm-lang.org/architecture/">The Elm Architecture</a></li><li><a href="https://css-tricks.com/intro-to-vue-4-vuex/">Intro to Vuex</a> on CSS Tricks by Sarah Drasner</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is Vuex and where did it come from?</li><li>The benefits of centralizing all of your application's state into one place</li><li>What sort of state belongs in Vuex and what state should stay local to a component</li><li>What all the Vuex terminology means, like actions, mutations, getters, etc.</li><li>How you initially populate a Vuex store</li><li>Strategies for organizing all of the state in a store</li><li>Common mistakes people make with Vuex</li><li>Dealing with forms when using Vuex</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://vuex.vuejs.org/">Vuex Documentation</a></li><li><a href="https://guide.elm-lang.org/architecture/">The Elm Architecture</a></li><li><a href="https://css-tricks.com/intro-to-vue-4-vuex/">Intro to Vuex</a> on CSS Tricks by Sarah Drasner</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 10 May 2018 05:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/926e0b20/b4a4c818.mp3" length="55343123" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/caDXuNAcfYULp2t5XTsq1X_DYlfoZv6SSj8HMVOgXwc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk1MC8x/NTk3OTQzOTY3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3453</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Blake Newman about getting started with Vuex, and how you would use it to manage your application's state using several practical real-world examples.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Blake Newman about getting started with Vuex, and how you would use it to manage your application's state using several practical real-world examples.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>87: Chris Fritz - Vue.js Anti-Patterns (and How to Avoid Them)</title>
      <itunes:episode>87</itunes:episode>
      <podcast:episode>87</podcast:episode>
      <itunes:title>87: Chris Fritz - Vue.js Anti-Patterns (and How to Avoid Them)</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">623a57d6-9dd0-4c56-ae1a-f27784fd816a</guid>
      <link>https://share.transistor.fm/s/6123dc51</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why global state is better than an event bus</li><li>Why and how to avoid using this.$parent</li><li>Custom events vs. callback props</li><li>When to use watchers and when you don't need to</li><li>Why you should prefer computed properties over methods</li><li>Inline templates vs. scoped slots</li><li>Using components to share code instead of mixins or directives</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://github.com/chrisvfritz">Chris on GitHub</a></li><li><a href="https://www.patreon.com/chrisvuefritz">Chris on Patreon</a></li><li><a href="https://www.youtube.com/watch?v=7lpemgMhi0k">"7 Secret Patterns Vue Consultants Don't Want You To Know"</a>, Chris' recent presentation</li><li><a href="https://css-tricks.com/methods-computed-and-watchers-in-vue-js/">"Methods, Computed, and Watchers in Vue.js"</a> by <a href="https://twitter.com/sarah_edo">Sarah Drasner</a></li><li><a href="https://github.com/LinusBorg/portal-vue">PortalVue</a>, library for rendering elements outside of their parent component</li><li><a href="https://github.com/chrisvfritz/vue-enterprise-boilerplate">vue-enterprise-boilerplate</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why global state is better than an event bus</li><li>Why and how to avoid using this.$parent</li><li>Custom events vs. callback props</li><li>When to use watchers and when you don't need to</li><li>Why you should prefer computed properties over methods</li><li>Inline templates vs. scoped slots</li><li>Using components to share code instead of mixins or directives</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://github.com/chrisvfritz">Chris on GitHub</a></li><li><a href="https://www.patreon.com/chrisvuefritz">Chris on Patreon</a></li><li><a href="https://www.youtube.com/watch?v=7lpemgMhi0k">"7 Secret Patterns Vue Consultants Don't Want You To Know"</a>, Chris' recent presentation</li><li><a href="https://css-tricks.com/methods-computed-and-watchers-in-vue-js/">"Methods, Computed, and Watchers in Vue.js"</a> by <a href="https://twitter.com/sarah_edo">Sarah Drasner</a></li><li><a href="https://github.com/LinusBorg/portal-vue">PortalVue</a>, library for rendering elements outside of their parent component</li><li><a href="https://github.com/chrisvfritz/vue-enterprise-boilerplate">vue-enterprise-boilerplate</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 25 Apr 2018 17:01:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/6123dc51/6d0ed32d.mp3" length="67533291" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/_Ui7arqjYxIXeOo_Ik_J8F3PLLNRapdEkfQsx300aIQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0OS8x/NTk3OTQzOTY2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4215</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Chris Fritz about common mistakes people make when designing Vue.js applications, and better ways to solve the same problems.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Chris Fritz about common mistakes people make when designing Vue.js applications, and better ways to solve the same problems.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>86: Jonathan Reinink - Rebuilding a SaaS with Vue.js and Tailwind CSS</title>
      <itunes:episode>86</itunes:episode>
      <podcast:episode>86</podcast:episode>
      <itunes:title>86: Jonathan Reinink - Rebuilding a SaaS with Vue.js and Tailwind CSS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4abafe88-6dc7-400c-822d-d88535f42d90</guid>
      <link>https://share.transistor.fm/s/586c49cc</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Wrapping non-Vue libraries as Vue components to maintain a consistent paradigm</li><li>Using Popper.js with Vue to build dropdowns and tooltips</li><li>Using portals to build better modal components</li><li>Patterns for making it easier to reuse components throughout an application</li><li>Which Tailwind CSS component classes Jonathan chose to extract (and which ones he didn't)</li><li>How Jonathan chose to customize his Tailwind configuration for his project</li><li>Using Tailwind's advanced screen options to better accommodate a sidebar layout</li><li>How Jonathan is using Purgecss to reduce his CSS from 110,000 lines of code 1.7mb in development to 8.8kb in production</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://www.youtube.com/watch?v=jR3R_m5FPRc">"Building a Sortable Component with Vue.js"</a>, replay from Adam's recent live stream</li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://tailwindcss.com/">Tailwind CSS</a></li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://popper.js.org/">Popper.js</a> positioning library</li><li><a href="https://github.com/dbushell/Pikaday">Pikaday</a> date picker library</li><li><a href="https://vuejs.org/v2/api/#Vue-nextTick">Vue.nextTick()</a></li><li><a href="https://github.com/LinusBorg/portal-vue">PortalVue</a>, library for rendering elements outside of their parent component</li><li><a href="https://reactjs.org/docs/portals.html">Portals in React</a></li><li><a href="https://github.com/FullHuman/purgecss">Purgecss</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Wrapping non-Vue libraries as Vue components to maintain a consistent paradigm</li><li>Using Popper.js with Vue to build dropdowns and tooltips</li><li>Using portals to build better modal components</li><li>Patterns for making it easier to reuse components throughout an application</li><li>Which Tailwind CSS component classes Jonathan chose to extract (and which ones he didn't)</li><li>How Jonathan chose to customize his Tailwind configuration for his project</li><li>Using Tailwind's advanced screen options to better accommodate a sidebar layout</li><li>How Jonathan is using Purgecss to reduce his CSS from 110,000 lines of code 1.7mb in development to 8.8kb in production</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://www.youtube.com/watch?v=jR3R_m5FPRc">"Building a Sortable Component with Vue.js"</a>, replay from Adam's recent live stream</li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://tailwindcss.com/">Tailwind CSS</a></li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://popper.js.org/">Popper.js</a> positioning library</li><li><a href="https://github.com/dbushell/Pikaday">Pikaday</a> date picker library</li><li><a href="https://vuejs.org/v2/api/#Vue-nextTick">Vue.nextTick()</a></li><li><a href="https://github.com/LinusBorg/portal-vue">PortalVue</a>, library for rendering elements outside of their parent component</li><li><a href="https://reactjs.org/docs/portals.html">Portals in React</a></li><li><a href="https://github.com/FullHuman/purgecss">Purgecss</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 11 Apr 2018 14:07:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/586c49cc/6bc26f73.mp3" length="88602979" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Nl67BPsDfu37iUpRpmWd1d3Yw93cSioAI-ctRhnZd1I/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0OC8x/NTk3OTQzOTY0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5532</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about lessons learned rebuilding his SaaS app with Vue.js and Tailwind CSS.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about lessons learned rebuilding his SaaS app with Vue.js and Tailwind CSS.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>85: Frank de Jonge - Event Sourcing for Beginners</title>
      <itunes:episode>85</itunes:episode>
      <podcast:episode>85</podcast:episode>
      <itunes:title>85: Frank de Jonge - Event Sourcing for Beginners</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e421f12c-b1ae-4507-8304-0a89a96bd849</guid>
      <link>https://share.transistor.fm/s/0d6b3c06</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What does "event sourcing" even mean?</li><li>What do terms like "aggregate" and "projection" mean in the context of event sourcing?</li><li>What are the benefits of modeling something with event sourcing vs. a traditional state-based approach?</li><li>How events are usually stored</li><li>Why and how you might build multiple projections from a single event stream</li><li>How events in event sourcing differ from the sort of events you might already be using in your projects</li><li>A walkthrough of what the actual code would look like to model a "publish blog post" feature using event sourcing</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://blog.frankdejonge.nl/">Frank's Blog</a></li><li><a href="https://eventsauce.io/">EventSauce</a>, Frank's new PHP event sourcing library</li><li><a href="https://eventstore.org/">Event Store</a> event sourcing database</li><li><a href="https://martinfowler.com/eaaDev/EventSourcing.html">"Event Sourcing"</a> introduction by Martin Fowler</li><li><a href="https://www.youtube.com/watch?v=8JKjvY4etTY">"Event Sourcing"</a> talk by Greg Young at GOTO 2014</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What does "event sourcing" even mean?</li><li>What do terms like "aggregate" and "projection" mean in the context of event sourcing?</li><li>What are the benefits of modeling something with event sourcing vs. a traditional state-based approach?</li><li>How events are usually stored</li><li>Why and how you might build multiple projections from a single event stream</li><li>How events in event sourcing differ from the sort of events you might already be using in your projects</li><li>A walkthrough of what the actual code would look like to model a "publish blog post" feature using event sourcing</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/advanced-vue-component-design/">Advanced Vue Component Design</a>, Adam's upcoming course</li><li><a href="https://blog.frankdejonge.nl/">Frank's Blog</a></li><li><a href="https://eventsauce.io/">EventSauce</a>, Frank's new PHP event sourcing library</li><li><a href="https://eventstore.org/">Event Store</a> event sourcing database</li><li><a href="https://martinfowler.com/eaaDev/EventSourcing.html">"Event Sourcing"</a> introduction by Martin Fowler</li><li><a href="https://www.youtube.com/watch?v=8JKjvY4etTY">"Event Sourcing"</a> talk by Greg Young at GOTO 2014</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 Mar 2018 13:18:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/0d6b3c06/b89fe872.mp3" length="69638617" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/GE4tBtkeS4ljDWqGE1YlfQuRWJrJwNakY8WNnTRQAFM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0Ny8x/NTk3OTQzOTYyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4347</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Frank de Jonge, author of the EventSauce library, about what event sourcing is, how it works, and what it looks like to use it to model some practical real-world problems.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Frank de Jonge, author of the EventSauce library, about what event sourcing is, how it works, and what it looks like to use it to model some practical real-world problems.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>84: Edd Yerburgh - Testing Vue.js Components</title>
      <itunes:episode>84</itunes:episode>
      <podcast:episode>84</podcast:episode>
      <itunes:title>84: Edd Yerburgh - Testing Vue.js Components</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a65c4c53-becf-46ca-9dc6-e4c3353d4d85</guid>
      <link>https://share.transistor.fm/s/626db27e</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Challenges with testing Vue components prior to vue-test-utils</li><li>How vue-test-utils works and what it looks like to test a component</li><li>Choosing a test runner</li><li>Common mistakes people make when testing their components</li><li>Mocking and stubbing external dependencies</li><li>Combining unit testing with snapshot testing</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://github.com/vuejs/vue-test-utils">vue-test-utils</a> on GitHub</li><li><a href="https://vue-test-utils.vuejs.org/en/">vue-test-utils Documentation</a></li><li><a href="https://www.manning.com/books/testing-vuejs-applications">"Testing Vue.js Applications"</a>, Edd's book</li><li><a href="https://github.com/airbnb/enzyme">Enzyme</a> testing utility for React</li><li><a href="https://github.com/jsdom/jsdom">jsdom</a></li><li><a href="https://facebook.github.io/jest/">Jest</a>, Edd's recommended test runner</li><li><a href="https://github.com/zinserjan/mocha-webpack">mocha-webpack</a></li><li><a href="https://facebook.github.io/jest/docs/en/mock-functions.html">Mocking in Jest</a></li><li><a href="https://facebook.github.io/jest/docs/en/snapshot-testing.html">Snapshot testing in Jest</a></li><li><a href="https://vuejs.org/v2/guide/components.html#Async-Components">Async Vue components</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Challenges with testing Vue components prior to vue-test-utils</li><li>How vue-test-utils works and what it looks like to test a component</li><li>Choosing a test runner</li><li>Common mistakes people make when testing their components</li><li>Mocking and stubbing external dependencies</li><li>Combining unit testing with snapshot testing</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://github.com/vuejs/vue-test-utils">vue-test-utils</a> on GitHub</li><li><a href="https://vue-test-utils.vuejs.org/en/">vue-test-utils Documentation</a></li><li><a href="https://www.manning.com/books/testing-vuejs-applications">"Testing Vue.js Applications"</a>, Edd's book</li><li><a href="https://github.com/airbnb/enzyme">Enzyme</a> testing utility for React</li><li><a href="https://github.com/jsdom/jsdom">jsdom</a></li><li><a href="https://facebook.github.io/jest/">Jest</a>, Edd's recommended test runner</li><li><a href="https://github.com/zinserjan/mocha-webpack">mocha-webpack</a></li><li><a href="https://facebook.github.io/jest/docs/en/mock-functions.html">Mocking in Jest</a></li><li><a href="https://facebook.github.io/jest/docs/en/snapshot-testing.html">Snapshot testing in Jest</a></li><li><a href="https://vuejs.org/v2/guide/components.html#Async-Components">Async Vue components</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 14 Mar 2018 14:07:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/626db27e/36b7dd1d.mp3" length="42787949" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/XixmVbk5kdY6B4GlEF3_6MIETV673yD8W8g16wwDqAo/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0Ni8x/NTk3OTQzOTYwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2669</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Edd Yerburgh, Vue.js core team member and author of the vue-test-utils library, about testing Vue components.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Edd Yerburgh, Vue.js core team member and author of the vue-test-utils library, about testing Vue components.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>83: DHH - Stimulus in Practice + On Writing Software Well</title>
      <itunes:episode>83</itunes:episode>
      <podcast:episode>83</podcast:episode>
      <itunes:title>83: DHH - Stimulus in Practice + On Writing Software Well</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2bc9fd62-b08d-4b81-8aca-4cb1a2f24071</guid>
      <link>https://share.transistor.fm/s/5ff72d05</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What JavaScript looked like at Basecamp before Stimulus</li><li>Why Basecamp chose to create a new framework instead of using React, Angular, or Vue</li><li>How Basecamp uses server-rendered partials instead client-side templates</li><li>Why David decided to start "On Writing Software Well"</li><li>Evaluating patterns in practice and choosing between conflicting approaches</li><li>Using concerns/mixins to organize classes with many features</li><li>Applying resourceful routing to singular resources</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://stimulusjs.org/">Stimulus Homepage</a></li><li><a href="https://github.com/stimulusjs/stimulus">Stimulus on GitHub</a></li><li>David's <a href="https://m.signalvnoise.com/stimulus-1-0-a-modest-javascript-framework-for-the-html-you-already-have-f04307009130">blog post</a> introducing Stimulus</li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://github.com/rails/webpacker">Webpacker</a></li><li><a href="https://signalvnoise.com/posts/3697-server-generated-javascript-responses">"Server-generated JavaScript Responses (SJR)"</a> (2013)</li><li><a href="http://api.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_to">respond_to</a>, returning multiple formats from the same Rails controller</li><li>"On Writing Software Well" <ul><li><a href="https://www.youtube.com/watch?v=wXaC0YvDgIo&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=1">1: Removing the need for code comments</a></li><li><a href="https://www.youtube.com/watch?v=M3JPTOTqsnE&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=2">2: Using callbacks to manage auxiliary complexity</a></li><li><a href="https://www.youtube.com/watch?v=lEUkarkROv0&amp;index=3&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx">3: Using globals when the price is right</a></li><li><a href="https://www.youtube.com/watch?v=hkmrfjex7jI&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=4">4: Not every model is backed by a database</a></li><li><a href="https://www.youtube.com/watch?v=5hN6OZDyQtk&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=5">5: Testing without test damage or excessive isolation</a></li></ul></li><li>Basecamp's <a href="https://www.youtube.com/channel/UCdx5Dk3EWTe2i8YDA7bfl6g">"Getting Real"</a> YouTube channel</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What JavaScript looked like at Basecamp before Stimulus</li><li>Why Basecamp chose to create a new framework instead of using React, Angular, or Vue</li><li>How Basecamp uses server-rendered partials instead client-side templates</li><li>Why David decided to start "On Writing Software Well"</li><li>Evaluating patterns in practice and choosing between conflicting approaches</li><li>Using concerns/mixins to organize classes with many features</li><li>Applying resourceful routing to singular resources</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://stimulusjs.org/">Stimulus Homepage</a></li><li><a href="https://github.com/stimulusjs/stimulus">Stimulus on GitHub</a></li><li>David's <a href="https://m.signalvnoise.com/stimulus-1-0-a-modest-javascript-framework-for-the-html-you-already-have-f04307009130">blog post</a> introducing Stimulus</li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://github.com/rails/webpacker">Webpacker</a></li><li><a href="https://signalvnoise.com/posts/3697-server-generated-javascript-responses">"Server-generated JavaScript Responses (SJR)"</a> (2013)</li><li><a href="http://api.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_to">respond_to</a>, returning multiple formats from the same Rails controller</li><li>"On Writing Software Well" <ul><li><a href="https://www.youtube.com/watch?v=wXaC0YvDgIo&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=1">1: Removing the need for code comments</a></li><li><a href="https://www.youtube.com/watch?v=M3JPTOTqsnE&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=2">2: Using callbacks to manage auxiliary complexity</a></li><li><a href="https://www.youtube.com/watch?v=lEUkarkROv0&amp;index=3&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx">3: Using globals when the price is right</a></li><li><a href="https://www.youtube.com/watch?v=hkmrfjex7jI&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=4">4: Not every model is backed by a database</a></li><li><a href="https://www.youtube.com/watch?v=5hN6OZDyQtk&amp;list=PL9wALaIpe0Py6E_oHCgTrD6FvFETwJLlx&amp;index=5">5: Testing without test damage or excessive isolation</a></li></ul></li><li>Basecamp's <a href="https://www.youtube.com/channel/UCdx5Dk3EWTe2i8YDA7bfl6g">"Getting Real"</a> YouTube channel</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 28 Feb 2018 13:55:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5ff72d05/634c5e7f.mp3" length="51144301" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/GB_x7V_1CIj1rFum7DtNEbWxc8Dp-y1sQslDVSiCNzo/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0NS8x/NTk3OTQzOTU4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3191</itunes:duration>
      <itunes:summary>In this episode, Adam talks to David Heinemeier Hansson about Basecamp's new JavaScript framework "Stimulus" as well as David's new YouTube series "On Writing Software Well."</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to David Heinemeier Hansson about Basecamp's new JavaScript framework "Stimulus" as well as David's new YouTube series "On Writing Software Well."</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>82: Sarah Drasner - Animating the Web with CSS and JavaScript</title>
      <itunes:episode>82</itunes:episode>
      <podcast:episode>82</podcast:episode>
      <itunes:title>82: Sarah Drasner - Animating the Web with CSS and JavaScript</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">18e80fb5-6773-485a-812e-cdb51b74e170</guid>
      <link>https://share.transistor.fm/s/13c0b106</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Using animation to make interfaces easier to use</li><li>The difference between animations and transitions</li><li>When to use CSS animations vs. JavaScript animations</li><li>Which CSS properties are safe to animate</li><li>How to use techniques like FLIP to make sure your animations are performant</li><li>Recommended libraries for building complex animations</li><li>Strategies for keeping animation code maintainable</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://sarahdrasnerdesign.com/">Sarah's Personal Website</a></li><li><a href="https://codepen.io/sdras/">Sarah on CodePen</a></li><li><a href="http://shop.oreilly.com/product/0636920045335.do">"SVG Animations"</a>, Sarah's book</li><li><a href="https://vimeo.com/194963386">"Functional Animation"</a>, Sarah's talk on using animation to create spatial awareness and make interfaces easier to use</li><li><a href="https://greensock.com/">GreenSock</a> animation library</li><li><a href="https://24ways.org/2016/animation-in-design-systems/">"Animation in Design Systems"</a>, Sarah's article at <a href="https://24ways.org/">24 ways</a></li><li><a href="https://aerotwist.com/blog/flip-your-animations/">"FLIP Your Animations"</a>, using the FLIP technique to make animations more performant</li><li><a href="https://vuejs.org/v2/guide/transitions.html">Transitions in Vue.js</a></li><li><a href="https://www.youtube.com/watch?v=gJDyhmL9O_E">"Animating Vue"</a>, Sarahs' talk from VueConf 2017</li><li><a href="https://webanimationworkshops.com/">Web Animation Workshops</a> with Sarah and Val Head</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Using animation to make interfaces easier to use</li><li>The difference between animations and transitions</li><li>When to use CSS animations vs. JavaScript animations</li><li>Which CSS properties are safe to animate</li><li>How to use techniques like FLIP to make sure your animations are performant</li><li>Recommended libraries for building complex animations</li><li>Strategies for keeping animation code maintainable</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://sarahdrasnerdesign.com/">Sarah's Personal Website</a></li><li><a href="https://codepen.io/sdras/">Sarah on CodePen</a></li><li><a href="http://shop.oreilly.com/product/0636920045335.do">"SVG Animations"</a>, Sarah's book</li><li><a href="https://vimeo.com/194963386">"Functional Animation"</a>, Sarah's talk on using animation to create spatial awareness and make interfaces easier to use</li><li><a href="https://greensock.com/">GreenSock</a> animation library</li><li><a href="https://24ways.org/2016/animation-in-design-systems/">"Animation in Design Systems"</a>, Sarah's article at <a href="https://24ways.org/">24 ways</a></li><li><a href="https://aerotwist.com/blog/flip-your-animations/">"FLIP Your Animations"</a>, using the FLIP technique to make animations more performant</li><li><a href="https://vuejs.org/v2/guide/transitions.html">Transitions in Vue.js</a></li><li><a href="https://www.youtube.com/watch?v=gJDyhmL9O_E">"Animating Vue"</a>, Sarahs' talk from VueConf 2017</li><li><a href="https://webanimationworkshops.com/">Web Animation Workshops</a> with Sarah and Val Head</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 14 Feb 2018 20:25:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/13c0b106/8fd0ae37.mp3" length="48826789" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/mEIKhmVpJft8K7hlopoTObuRcb_satlWx7QFa1CTVoE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0My8x/NTk3OTQzOTU2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3046</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sarah Drasner about using animations and transitions to create more intuitive user interfaces, as well as technical tips, tricks and best practices for implementing them well.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sarah Drasner about using animations and transitions to create more intuitive user interfaces, as well as technical tips, tricks and best practices for implementing them well.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>81: Evan You - Advanced Vue Component Design</title>
      <itunes:episode>81</itunes:episode>
      <podcast:episode>81</podcast:episode>
      <itunes:title>81: Evan You - Advanced Vue Component Design</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5a5f34fa-210c-4aab-b624-83be79a78042</guid>
      <link>https://share.transistor.fm/s/4c78762f</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What is a "higher order component"?</li><li>How do you replicate the render prop pattern from React with Vue?</li><li>Using scoped slots to build components with no UI</li><li>Using render functions without using JSX</li><li>How Vue's built-in components like `` work under the hood</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://vuejs.org/">Vue.js Homepage</a></li><li><a href="https://medium.com/the-vue-point">The Vue Point</a>, the official Vue.js blog on Medium</li><li><a href="https://reactjs.org/docs/higher-order-components.html">Higher-Order Components</a>, from the React documentation</li><li><a href="https://cdb.reacttraining.com/use-a-render-prop-50de598f11ce">"Use a Render Prop!"</a> by Michael Jackson, an introduction to render prop components in React</li><li><a href="https://vuejs.org/v2/guide/components.html#Scoped-Slots">Scoped Slots</a> documentation</li><li><a href="https://vuejs.org/v2/guide/render-function.html">Render Functions</a> documentation</li><li><a href="https://alligator.io/vuejs/vue-abstract-components/">"Writing Abstract Components with Vue.js"</a>, tutorial on writing a render function component with Vue</li><li><a href="https://jsfiddle.net/adamwathan/xov6ksvd/">Fetch Component Demo</a>, based on the component Evan describes in the podcast</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What is a "higher order component"?</li><li>How do you replicate the render prop pattern from React with Vue?</li><li>Using scoped slots to build components with no UI</li><li>Using render functions without using JSX</li><li>How Vue's built-in components like `` work under the hood</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://vuejs.org/">Vue.js Homepage</a></li><li><a href="https://medium.com/the-vue-point">The Vue Point</a>, the official Vue.js blog on Medium</li><li><a href="https://reactjs.org/docs/higher-order-components.html">Higher-Order Components</a>, from the React documentation</li><li><a href="https://cdb.reacttraining.com/use-a-render-prop-50de598f11ce">"Use a Render Prop!"</a> by Michael Jackson, an introduction to render prop components in React</li><li><a href="https://vuejs.org/v2/guide/components.html#Scoped-Slots">Scoped Slots</a> documentation</li><li><a href="https://vuejs.org/v2/guide/render-function.html">Render Functions</a> documentation</li><li><a href="https://alligator.io/vuejs/vue-abstract-components/">"Writing Abstract Components with Vue.js"</a>, tutorial on writing a render function component with Vue</li><li><a href="https://jsfiddle.net/adamwathan/xov6ksvd/">Fetch Component Demo</a>, based on the component Evan describes in the podcast</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 31 Jan 2018 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4c78762f/1c5c3bce.mp3" length="47001978" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/xO8BsTEyk_qzh1gdGFGOGi4VLwD6Fgh_YPAuubKCkm8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0Mi8x/NTk3OTQzOTU0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2932</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Evan You the creator of Vue.js about advanced component design patterns, and using features like scoped slots and render functions to build components that are much more than just UI widgets.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Evan You the creator of Vue.js about advanced component design patterns, and using features like scoped slots and render functions to build components that are much more than just UI widgets.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>80: Tom Schlick - Building Multitenant Applications</title>
      <itunes:episode>80</itunes:episode>
      <podcast:episode>80</podcast:episode>
      <itunes:title>80: Tom Schlick - Building Multitenant Applications</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1e53545c-cd20-4717-b92d-0a2289f8821c</guid>
      <link>https://share.transistor.fm/s/e8757858</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What makes an application "multitenant" really?</li><li>Choosing between a shared database or multi-database setup</li><li>Approaches for identifying the current tenant</li><li>Performance considerations</li><li>How multitenancy impacts how you integrate with external services</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://streamacon.com/video/laracon-us-2017/day-1-tom-schlick">"Building Multitenant Applications"</a>, video of Tom's talk from Laracon US 2017</li><li><a href="https://tomschlick.com/2017/07/25/laracon-2017-multi-tenancy-talk/">Slides from Tom's multitenancy talk</a></li><li><a href="https://stripe.com/blog/online-migrations">"Online migrations at scale"</a> on the Stripe engineering blog</li><li><a href="https://githubengineering.com/mitigating-replication-lag-and-reducing-read-load-with-freno/">"Migrating replication lag and reducing read load with freno"</a> on the GitHub engineering blog</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What makes an application "multitenant" really?</li><li>Choosing between a shared database or multi-database setup</li><li>Approaches for identifying the current tenant</li><li>Performance considerations</li><li>How multitenancy impacts how you integrate with external services</li></ul><p>Sponsors:</p><ul><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://streamacon.com/video/laracon-us-2017/day-1-tom-schlick">"Building Multitenant Applications"</a>, video of Tom's talk from Laracon US 2017</li><li><a href="https://tomschlick.com/2017/07/25/laracon-2017-multi-tenancy-talk/">Slides from Tom's multitenancy talk</a></li><li><a href="https://stripe.com/blog/online-migrations">"Online migrations at scale"</a> on the Stripe engineering blog</li><li><a href="https://githubengineering.com/mitigating-replication-lag-and-reducing-read-load-with-freno/">"Migrating replication lag and reducing read load with freno"</a> on the GitHub engineering blog</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 17 Jan 2018 14:37:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e8757858/3275db65.mp3" length="54568075" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/xyl1WuRI_ZTTeoqJmd05M5MngGjXMEOPUXgYsijJF_w/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0MS8x/NTk3OTQzOTUxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3405</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Tom Schlick about tackling challenges faced when building multitenant apps.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Tom Schlick about tackling challenges faced when building multitenant apps.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>79: Kent C. Dodds - Building Reusable React Components with Render Props</title>
      <itunes:episode>79</itunes:episode>
      <podcast:episode>79</podcast:episode>
      <itunes:title>79: Kent C. Dodds - Building Reusable React Components with Render Props</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b195f413-c058-464b-97c3-b0a76411c934</guid>
      <link>https://share.transistor.fm/s/245d58ec</link>
      <description>
        <![CDATA[<p>Kent gives a behind-the-scenes look at how the library uses the render prop pattern to allow maximum customizability without complex configuration.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/paypal/downshift">downshift</a> on GitHub</li><li><a href="https://blog.kentcdodds.com/introducing-downshift-for-react-b1de3fca0817">"Introducing downshift for React"</a> from Kent's blog</li><li><a href="https://cdb.reacttraining.com/use-a-render-prop-50de598f11ce">"Use a Render Prop!"</a> post by Michael Jackson</li><li><a href="https://www.youtube.com/watch?v=hEGg-3pIHlE">"Compound Components"</a> talk by Ryan Florence</li><li><a href="https://github.com/kentcdodds/match-sorter">match-sorter</a>, Kent's best-match sorting library</li><li><a href="https://github.com/jaredpalmer/awesome-react-render-props">Awesome React Render Props</a></li><li><a href="https://github.com/kentcdodds/react-toggled">react-toggled</a>, Kent's toggle component library</li><li><a href="http://kcd.im/news">Kent's newsletter</a></li><li><a href="https://blog.kentcdodds.com/learn-react-fundamentals-and-advanced-patterns-eac90341c9db">"Learn React Fundamentals and Advanced Patterns"</a>, blog post introducing Kent's React courses</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Kent gives a behind-the-scenes look at how the library uses the render prop pattern to allow maximum customizability without complex configuration.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/paypal/downshift">downshift</a> on GitHub</li><li><a href="https://blog.kentcdodds.com/introducing-downshift-for-react-b1de3fca0817">"Introducing downshift for React"</a> from Kent's blog</li><li><a href="https://cdb.reacttraining.com/use-a-render-prop-50de598f11ce">"Use a Render Prop!"</a> post by Michael Jackson</li><li><a href="https://www.youtube.com/watch?v=hEGg-3pIHlE">"Compound Components"</a> talk by Ryan Florence</li><li><a href="https://github.com/kentcdodds/match-sorter">match-sorter</a>, Kent's best-match sorting library</li><li><a href="https://github.com/jaredpalmer/awesome-react-render-props">Awesome React Render Props</a></li><li><a href="https://github.com/kentcdodds/react-toggled">react-toggled</a>, Kent's toggle component library</li><li><a href="http://kcd.im/news">Kent's newsletter</a></li><li><a href="https://blog.kentcdodds.com/learn-react-fundamentals-and-advanced-patterns-eac90341c9db">"Learn React Fundamentals and Advanced Patterns"</a>, blog post introducing Kent's React courses</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 21 Dec 2017 20:50:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/245d58ec/34f14aa6.mp3" length="49155115" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/jUtC9sK38KVYKyWqjPs6Ts4lRxGN8TZeqkSvc_QjnH0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzk0MC8x/NTk3OTQzOTQ5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3066</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Kent C. Dodds about building "downshift", a React autocomplete component he designed for experiences he needed to build at PayPal.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Kent C. Dodds about building "downshift", a React autocomplete component he designed for experiences he needed to build at PayPal.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>78: Ben Orenstein - Our All-Time Favorite Refactorings</title>
      <itunes:episode>78</itunes:episode>
      <podcast:episode>78</podcast:episode>
      <itunes:title>78: Ben Orenstein - Our All-Time Favorite Refactorings</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4fccc5c8-a498-4e2e-896f-ee759371c818</guid>
      <link>https://share.transistor.fm/s/393eb304</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://www.refactoringrails.io/">Refactoring Rails</a>, Ben's refactoring course</li><li><a href="https://www.codequalitychallenge.com/">The 30 Day Code Quality Challenge</a>, Ben's free 30-day code quality course</li><li><a href="https://www.youtube.com/watch?v=DC-pQPq0acs">Refactoring from Good to Great</a>, Ben's popular refactoring talk</li><li><a href="https://refactoring.com/catalog/decomposeConditional.html">Decompose Conditional</a>, an example of "make the implicit explicit"</li><li><a href="https://refactoring.com/catalog/introduceParameterObject.html">Introduce Parameter Object</a></li><li><a href="https://refactoring.com/catalog/replaceConditionalWithPolymorphism.html">Replace Conditional with Polymorphism</a></li><li><a href="https://www.youtube.com/watch?v=5DVDewOReoY">Chasing Perfect</a>, Adam's talk about refactoring with polymorphism</li><li><a href="https://refactoring.com/catalog/introduceNullObject.html">Introduce Null Object</a></li><li><a href="https://refactoring.com/catalog/replaceMethodWithMethodObject.html">Replace Method with Method Object</a></li><li><a href="https://codeclimate.com/blog/why-ruby-class-methods-resist-refactoring">"Why Ruby Class Methods Resist Refactoring"</a> from the Code Climate blog</li><li><a href="https://martinfowler.com/articles/collection-pipeline/">Collection Pipeline</a>, Martin Fowler's article on replacing loops with array transformations</li><li><a href="https://www.youtube.com/watch?v=crSUWtRYw-M">Curing the Common Loop</a>, Adam's talk on refactoring loops and conditionals</li><li><a href="https://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book and video series</li><li><a href="https://www.destroyallsoftware.com/talks/boundaries">Boundaries</a>, Gary Bernhardt's talk about OO, functional programming, and immutability</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://www.refactoringrails.io/">Refactoring Rails</a>, Ben's refactoring course</li><li><a href="https://www.codequalitychallenge.com/">The 30 Day Code Quality Challenge</a>, Ben's free 30-day code quality course</li><li><a href="https://www.youtube.com/watch?v=DC-pQPq0acs">Refactoring from Good to Great</a>, Ben's popular refactoring talk</li><li><a href="https://refactoring.com/catalog/decomposeConditional.html">Decompose Conditional</a>, an example of "make the implicit explicit"</li><li><a href="https://refactoring.com/catalog/introduceParameterObject.html">Introduce Parameter Object</a></li><li><a href="https://refactoring.com/catalog/replaceConditionalWithPolymorphism.html">Replace Conditional with Polymorphism</a></li><li><a href="https://www.youtube.com/watch?v=5DVDewOReoY">Chasing Perfect</a>, Adam's talk about refactoring with polymorphism</li><li><a href="https://refactoring.com/catalog/introduceNullObject.html">Introduce Null Object</a></li><li><a href="https://refactoring.com/catalog/replaceMethodWithMethodObject.html">Replace Method with Method Object</a></li><li><a href="https://codeclimate.com/blog/why-ruby-class-methods-resist-refactoring">"Why Ruby Class Methods Resist Refactoring"</a> from the Code Climate blog</li><li><a href="https://martinfowler.com/articles/collection-pipeline/">Collection Pipeline</a>, Martin Fowler's article on replacing loops with array transformations</li><li><a href="https://www.youtube.com/watch?v=crSUWtRYw-M">Curing the Common Loop</a>, Adam's talk on refactoring loops and conditionals</li><li><a href="https://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book and video series</li><li><a href="https://www.destroyallsoftware.com/talks/boundaries">Boundaries</a>, Gary Bernhardt's talk about OO, functional programming, and immutability</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 06 Dec 2017 05:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/393eb304/33c508f8.mp3" length="48682828" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/nkZobeJHbW2AuKWo1MXKjf1uGgoy0XkJeC2VmPa0efg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzOS8x/NTk3OTQzOTQ4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3037</itunes:duration>
      <itunes:summary>In this episode, Adam and Ben Orenstein share nine of their favorite refactorings that you can use to clean up your code.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Ben Orenstein share nine of their favorite refactorings that you can use to clean up your code.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>77: Tailwind CSS Q&amp;A and the Road to 1.0</title>
      <itunes:episode>77</itunes:episode>
      <podcast:episode>77</podcast:episode>
      <itunes:title>77: Tailwind CSS Q&amp;A and the Road to 1.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2ab0bf7a-982b-4819-908d-0758dae9eedc</guid>
      <link>https://share.transistor.fm/s/ef5708d7</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why Tailwind doesn't include buttons or forms</li><li>Is Tailwind for front-end developers or back-end developers?</li><li>Best practices around extracting component classes</li><li>Using Tailwind with existing CSS or on top of other frameworks</li><li>Optimizing Tailwind's generated file size</li><li>New features planned for upcoming Tailwind releases</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS Homepage</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/">Tailwind CSS GitHub repository</a></li><li><a href="https://github.com/tailwindcss/discuss">Tailwind CSS discussion forum</a></li><li><a href="https://twitter.com/tailwindcss">@tailwindcss</a> on Twitter</li><li><a href="https://builtwithtailwind.com">Built with Tailwind</a>, a curated list of cool stuff built with Tailwind</li><li><a href="https://tailwindexpo.com/">Tailwind Expo</a>, more cool stuff built with Tailwind</li><li><a href="https://egghead.io/search?q=tailwind">Tailwind CSS lessons on Egghead.io</a>, by <a href="https://twitter.com/simonswiss">Simon Vrachliotis</a></li><li><a href="https://github.com/FullHuman/purgecss">purgecss</a>, amazing tool for removing unused CSS from your codebase</li><li><a href="https://medium.com/@AndrewDelPrete/using-purifycss-to-remove-unused-tailwind-css-classes-173b3ee8ee01">Using PurgeCSS to remove unused Tailwind CSS classes</a>, by <a href="https://twitter.com/AndrewDelPrete">Andrew Del Prete</a></li><li><a href="http://jasonlbeggs.com/">Jason Beggs' personal site</a>, built with Tailwind and optimized with PurgeCSS</li><li><a href="https://mustafaaloko.github.io/2017/tailwind-css-building-a-login-page/">Building a Login Page with Tailwind CSS</a>, tutorial by <a href="https://twitter.com/mustafaaloko">Mustafa Ehsan</a></li><li><a href="https://scotch.io/@paschaldev/introducing-tailwindcss">Introducing Tailwind CSS</a> on Scotch.io by <a href="https://twitter.com/PaschalDev">Ezeugwu Paschal</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why Tailwind doesn't include buttons or forms</li><li>Is Tailwind for front-end developers or back-end developers?</li><li>Best practices around extracting component classes</li><li>Using Tailwind with existing CSS or on top of other frameworks</li><li>Optimizing Tailwind's generated file size</li><li>New features planned for upcoming Tailwind releases</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS Homepage</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/">Tailwind CSS GitHub repository</a></li><li><a href="https://github.com/tailwindcss/discuss">Tailwind CSS discussion forum</a></li><li><a href="https://twitter.com/tailwindcss">@tailwindcss</a> on Twitter</li><li><a href="https://builtwithtailwind.com">Built with Tailwind</a>, a curated list of cool stuff built with Tailwind</li><li><a href="https://tailwindexpo.com/">Tailwind Expo</a>, more cool stuff built with Tailwind</li><li><a href="https://egghead.io/search?q=tailwind">Tailwind CSS lessons on Egghead.io</a>, by <a href="https://twitter.com/simonswiss">Simon Vrachliotis</a></li><li><a href="https://github.com/FullHuman/purgecss">purgecss</a>, amazing tool for removing unused CSS from your codebase</li><li><a href="https://medium.com/@AndrewDelPrete/using-purifycss-to-remove-unused-tailwind-css-classes-173b3ee8ee01">Using PurgeCSS to remove unused Tailwind CSS classes</a>, by <a href="https://twitter.com/AndrewDelPrete">Andrew Del Prete</a></li><li><a href="http://jasonlbeggs.com/">Jason Beggs' personal site</a>, built with Tailwind and optimized with PurgeCSS</li><li><a href="https://mustafaaloko.github.io/2017/tailwind-css-building-a-login-page/">Building a Login Page with Tailwind CSS</a>, tutorial by <a href="https://twitter.com/mustafaaloko">Mustafa Ehsan</a></li><li><a href="https://scotch.io/@paschaldev/introducing-tailwindcss">Introducing Tailwind CSS</a> on Scotch.io by <a href="https://twitter.com/PaschalDev">Ezeugwu Paschal</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 21 Nov 2017 14:52:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ef5708d7/e0c7bf01.mp3" length="83801528" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ampn10EglHzJKjBbdSMvvBL-I_L4W7YiIrNvNEin38I/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzOC8x/NTk3OTQzOTQ2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>5232</itunes:duration>
      <itunes:summary>In this episode, Adam and Jonathan Reinink continue their discussion about Tailwind CSS, answering listener questions about the framework and sharing details behind the roadmap to 1.0.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Jonathan Reinink continue their discussion about Tailwind CSS, answering listener questions about the framework and sharing details behind the roadmap to 1.0.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>76: Tailwind CSS vs. the World</title>
      <itunes:episode>76</itunes:episode>
      <podcast:episode>76</podcast:episode>
      <itunes:title>76: Tailwind CSS vs. the World</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ea9f275d-6658-47a2-9e81-a916ea207636</guid>
      <link>https://share.transistor.fm/s/a540256b</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS Homepage</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/">Tailwind CSS GitHub repository</a></li><li><a href="https://github.com/tailwindcss/discuss">Tailwind CSS discussion forum</a></li><li><a href="https://twitter.com/tailwindcss">@tailwindcss</a> on Twitter</li><li><a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/">"CSS Utility Classes and Separation of Concerns"</a>, Adam's post on moving from "semantic" CSS to utility-first</li><li><a href="https://www.youtube.com/watch?v=ZrRRMBaz5Z0">"Rebuilding Laravel.io with Tailwind CSS"</a>, a video walkthrough of implementing a design with Tailwind</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS Homepage</a></li><li><a href="https://github.com/tailwindcss/tailwindcss/">Tailwind CSS GitHub repository</a></li><li><a href="https://github.com/tailwindcss/discuss">Tailwind CSS discussion forum</a></li><li><a href="https://twitter.com/tailwindcss">@tailwindcss</a> on Twitter</li><li><a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/">"CSS Utility Classes and Separation of Concerns"</a>, Adam's post on moving from "semantic" CSS to utility-first</li><li><a href="https://www.youtube.com/watch?v=ZrRRMBaz5Z0">"Rebuilding Laravel.io with Tailwind CSS"</a>, a video walkthrough of implementing a design with Tailwind</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 08 Nov 2017 20:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a540256b/87cea481.mp3" length="58842055" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Z1sI1DcLqzSimFLcK8_gEEhZYRrfbLnVr3DpVDqEZ9c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzNy8x/NTk3OTQzOTQzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3672</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Jonathan Reinink to discuss Tailwind CSS, a new utility-first CSS framework that they just released. They talk about what Tailwind is, how it works, and what makes it different than component-based frameworks like Bootstrap or other utility frameworks like Tachyons.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Jonathan Reinink to discuss Tailwind CSS, a new utility-first CSS framework that they just released. They talk about what Tailwind is, how it works, and what makes it different than component-based frameworks like Bootst</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>75: Diana Mounter - Design Systems and Utility Classes at GitHub</title>
      <itunes:episode>75</itunes:episode>
      <podcast:episode>75</podcast:episode>
      <itunes:title>75: Diana Mounter - Design Systems and Utility Classes at GitHub</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">335d30d8-143d-4170-811a-71e442a3b99a</guid>
      <link>https://share.transistor.fm/s/0c70c230</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://broccolini.net/">Diana's personal website</a></li><li><a href="http://primercss.io/">Primer</a>, GitHub's design system</li><li><a href="https://github.com/primer/primer-css/tree/master/modules">Primer modules</a> on GitHub</li><li><a href="https://www.youtube.com/watch?v=FZSi1bK-BRM">"Introducing Design Systems into Chaos"</a>, Diana's recent talk on her work on design systems at GitHub</li><li><a href="https://percy.io/">Percy</a>, a visual regression testing tool</li><li><a href="https://twitter.com/primercss">Primer CSS</a> on Twitter</li><li><a href="https://twitter.com/githubdesign">GitHub Design</a> on Twitter</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://broccolini.net/">Diana's personal website</a></li><li><a href="http://primercss.io/">Primer</a>, GitHub's design system</li><li><a href="https://github.com/primer/primer-css/tree/master/modules">Primer modules</a> on GitHub</li><li><a href="https://www.youtube.com/watch?v=FZSi1bK-BRM">"Introducing Design Systems into Chaos"</a>, Diana's recent talk on her work on design systems at GitHub</li><li><a href="https://percy.io/">Percy</a>, a visual regression testing tool</li><li><a href="https://twitter.com/primercss">Primer CSS</a> on Twitter</li><li><a href="https://twitter.com/githubdesign">GitHub Design</a> on Twitter</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 25 Oct 2017 14:49:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/0c70c230/6edf6573.mp3" length="42719610" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/u7mmZOyoA7zhhPfkQ1Qc7PLoFC8y1sBObiWSM4f8FU4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzNi8x/NTk3OTQzOTQxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2664</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Diana Mounter of GitHub to talk about using design systems to tame legacy CSS, and how GitHub is using utility classes to make it easier to build more consistent, maintainable user interfaces.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Diana Mounter of GitHub to talk about using design systems to tame legacy CSS, and how GitHub is using utility classes to make it easier to build more consistent, maintainable user interfaces.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>74: Steve Schoger - Tactical Design Advice for Developers</title>
      <itunes:episode>74</itunes:episode>
      <podcast:episode>74</podcast:episode>
      <itunes:title>74: Steve Schoger - Tactical Design Advice for Developers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9dc0199f-434a-4478-9ba6-d49aed898fe3</guid>
      <link>https://share.transistor.fm/s/8764c71b</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How to pick great fonts</li><li>Choosing a color scheme for your project</li><li>Designing in greyscale</li><li>Recreating existing interfaces from scratch</li><li>Recommended design tools</li><li>What you should design first on a new page</li><li>Strategies for making things look professional without graphic design skills</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://www.steveschoger.com/">Steve's Blog</a></li><li><a href="https://twitter.com/i/moments/880688233641848832">Little UI Details</a>, a collection of Steve's hot design tips</li><li><a href="https://fonts.google.com/?category=Sans+Serif&amp;sort=popularity&amp;stylecount=10">Google Fonts, prefiltered</a></li><li><a href="http://www.steveschoger.com/2017/04/26/12-google-fonts-you-cant-go-wrong-with/">"12 Google Fonts You Can't Go Wrong With"</a>, by Steve</li><li><a href="https://css-tricks.com/snippets/css/system-font-stack/">System Font Stack</a> courtesy of CSS-Tricks</li><li><a href="https://github.com/rsms/inter">Inter UI</a> font family (formerly "Interface")</li><li><a href="https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en">WhatFont Chrome Extension</a></li><li><a href="https://fontsinuse.com/">Fonts In Use</a></li><li><a href="https://dribbble.com/colors/">Dribbble color picker</a></li><li><a href="https://medium.com/@erikdkennedy/color-in-ui-design-a-practical-framework-e18cacd97f9e">"Color in UI Design"</a> by Erik Kennedy <em>(great resource on HSL)</em></li><li><a href="https://www.sketchapp.com/">Sketch</a>, design tool for macOS</li><li><a href="https://www.figma.com/">Figma</a>, cross-platform design tool</li><li><a href="https://blog.figma.com/building-a-professional-design-tool-on-the-web-6332ed4f1fcc">"Building a professional design tool for the web"</a>, on how Figma is written in C++ and compiled to asm.js</li><li><a href="https://gettingreal.37signals.com/ch09_Epicenter_Design.php">"Epicenter Design"</a> by 37signals</li><li><a href="http://doodle.com/">Doodle</a>, example of a small UI</li><li><a href="https://goshippo.com/login/">Example login page</a>, from Shippo</li><li><a href="https://medium.com/refactoring-ui/redesigning-laravel-io-c47ac495dff0">Refactoring UI "Redesigning Laravel.io" case study</a></li><li><a href="http://www.zondicons.com/">Zondicons</a>, Steve's free SVG icon set</li><li><a href="http://www.heropatterns.com/">Hero Patterns</a>, Steve's free SVG background pattern gallery</li><li><a href="https://pushsilver.com/">Pushsilver</a>, example of Hero Patterns in use</li><li><a href="http://www.heroicons.com/">Heroicons</a>, Steve's premium marketing icon kit</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How to pick great fonts</li><li>Choosing a color scheme for your project</li><li>Designing in greyscale</li><li>Recreating existing interfaces from scratch</li><li>Recommended design tools</li><li>What you should design first on a new page</li><li>Strategies for making things look professional without graphic design skills</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://www.steveschoger.com/">Steve's Blog</a></li><li><a href="https://twitter.com/i/moments/880688233641848832">Little UI Details</a>, a collection of Steve's hot design tips</li><li><a href="https://fonts.google.com/?category=Sans+Serif&amp;sort=popularity&amp;stylecount=10">Google Fonts, prefiltered</a></li><li><a href="http://www.steveschoger.com/2017/04/26/12-google-fonts-you-cant-go-wrong-with/">"12 Google Fonts You Can't Go Wrong With"</a>, by Steve</li><li><a href="https://css-tricks.com/snippets/css/system-font-stack/">System Font Stack</a> courtesy of CSS-Tricks</li><li><a href="https://github.com/rsms/inter">Inter UI</a> font family (formerly "Interface")</li><li><a href="https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en">WhatFont Chrome Extension</a></li><li><a href="https://fontsinuse.com/">Fonts In Use</a></li><li><a href="https://dribbble.com/colors/">Dribbble color picker</a></li><li><a href="https://medium.com/@erikdkennedy/color-in-ui-design-a-practical-framework-e18cacd97f9e">"Color in UI Design"</a> by Erik Kennedy <em>(great resource on HSL)</em></li><li><a href="https://www.sketchapp.com/">Sketch</a>, design tool for macOS</li><li><a href="https://www.figma.com/">Figma</a>, cross-platform design tool</li><li><a href="https://blog.figma.com/building-a-professional-design-tool-on-the-web-6332ed4f1fcc">"Building a professional design tool for the web"</a>, on how Figma is written in C++ and compiled to asm.js</li><li><a href="https://gettingreal.37signals.com/ch09_Epicenter_Design.php">"Epicenter Design"</a> by 37signals</li><li><a href="http://doodle.com/">Doodle</a>, example of a small UI</li><li><a href="https://goshippo.com/login/">Example login page</a>, from Shippo</li><li><a href="https://medium.com/refactoring-ui/redesigning-laravel-io-c47ac495dff0">Refactoring UI "Redesigning Laravel.io" case study</a></li><li><a href="http://www.zondicons.com/">Zondicons</a>, Steve's free SVG icon set</li><li><a href="http://www.heropatterns.com/">Hero Patterns</a>, Steve's free SVG background pattern gallery</li><li><a href="https://pushsilver.com/">Pushsilver</a>, example of Hero Patterns in use</li><li><a href="http://www.heroicons.com/">Heroicons</a>, Steve's premium marketing icon kit</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 12 Oct 2017 20:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8764c71b/bb5f9fa7.mp3" length="64419025" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/zx08UI-NfTCQleSV1G3kFaeiX2x0y-Gu1gIHPxJKZ-U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzNS8x/NTk3OTQzOTM5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4020</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Steve Schoger to talk about five ways developers can get better at designing their own projects.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Steve Schoger to talk about five ways developers can get better at designing their own projects.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>73: Justin Jackson - Making a Living From Your Own Projects</title>
      <itunes:episode>73</itunes:episode>
      <podcast:episode>73</podcast:episode>
      <itunes:title>73: Justin Jackson - Making a Living From Your Own Projects</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1d88d868-a1df-4d72-ab7e-32d78d5696f3</guid>
      <link>https://share.transistor.fm/s/ec641d58</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why you shouldn't start with SaaS</li><li>How to find ideas from client projects</li><li>What to do <em>before</em> you make a landing page</li><li>Why your first product doesn't have to be the one that makes you rich</li><li>Using open source to build an audience</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://gettingreal.37signals.com/toc.php">Getting Real</a> by 37signals (now Basecamp)</li><li><a href="http://www.startupsfortherestofus.com/">Startups for the Rest of Us</a> podcast</li><li><a href="https://www.indiehackers.com/businesses/storemapper">Storemapper</a>, interview with Tyler Tringas for IndieHackers</li><li><a href="https://pippinsplugins.com/">Pippin's Plugins</a></li><li><a href="https://www.softwarebyrob.com/2015/03/26/the-stairstep-approach-to-bootstrapping/">The Stairstep Approach to Bootstrapping</a> by Rob Walling</li><li><a href="https://justinjackson.ca/freedom/">The Freedom Ladder</a> by Justin Jackson</li><li><a href="https://adamwathan.me/the-book-launch-that-let-me-quit-my-job/">"The $61,392 Book Launch That Let Me Quit My Job"</a>, story of how Adam released his first product and went independent</li><li><a href="https://devmarketing.xyz/">Marketing for Developers</a>, Justin's book and course</li><li><a href="https://refactoringui.com/">Refactoring UI</a> landing page</li><li><a href="https://streamacon.com/video/laracon-us-2017/day-2-justin-jackson">Justin's Laracon 2017 Talk</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why you shouldn't start with SaaS</li><li>How to find ideas from client projects</li><li>What to do <em>before</em> you make a landing page</li><li>Why your first product doesn't have to be the one that makes you rich</li><li>Using open source to build an audience</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://gettingreal.37signals.com/toc.php">Getting Real</a> by 37signals (now Basecamp)</li><li><a href="http://www.startupsfortherestofus.com/">Startups for the Rest of Us</a> podcast</li><li><a href="https://www.indiehackers.com/businesses/storemapper">Storemapper</a>, interview with Tyler Tringas for IndieHackers</li><li><a href="https://pippinsplugins.com/">Pippin's Plugins</a></li><li><a href="https://www.softwarebyrob.com/2015/03/26/the-stairstep-approach-to-bootstrapping/">The Stairstep Approach to Bootstrapping</a> by Rob Walling</li><li><a href="https://justinjackson.ca/freedom/">The Freedom Ladder</a> by Justin Jackson</li><li><a href="https://adamwathan.me/the-book-launch-that-let-me-quit-my-job/">"The $61,392 Book Launch That Let Me Quit My Job"</a>, story of how Adam released his first product and went independent</li><li><a href="https://devmarketing.xyz/">Marketing for Developers</a>, Justin's book and course</li><li><a href="https://refactoringui.com/">Refactoring UI</a> landing page</li><li><a href="https://streamacon.com/video/laracon-us-2017/day-2-justin-jackson">Justin's Laracon 2017 Talk</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 27 Sep 2017 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ec641d58/e0b33f9e.mp3" length="63581871" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/RgfHTFlyFQ3-6-aryt6kQEl-Tw4-ajUugtC9uc_1ke0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzNC8x/NTk3OTQzOTM3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3968</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Justin Jackson to talk about how to start working towards making a full-time living from your own projects.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Justin Jackson to talk about how to start working towards making a full-time living from your own projects.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>72: Taylor Otwell - Testing Laravel Applications</title>
      <itunes:episode>72</itunes:episode>
      <podcast:episode>72</podcast:episode>
      <itunes:title>72: Taylor Otwell - Testing Laravel Applications</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fb20376c-57bd-4ff9-8027-10c84b31b101</guid>
      <link>https://share.transistor.fm/s/8a5d084c</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>How their approaches have changed over time</li><li>Feature tests vs. unit tests, when to use each</li><li>Testing code that interacts with external services</li><li>Using fakes instead of mocks</li><li>Contract tests</li><li>Testing view data vs. rendered HTML</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel</a>, Adam's testing course</li><li><a href="https://github.com/laravel/horizon/tree/1.0/tests">Laravel Horizon test suite</a></li><li><a href="https://laravel.com/docs/5.5/mocking">Laravel Fakes</a> documentation</li><li><a href="https://adamwathan.me/2017/01/02/dont-mock-what-you-dont-own/">"Don't Mock What You Don't Own"</a>, Adam's screencast on testing wrappers for external services</li><li><a href="https://adamwathan.me/2016/01/25/writing-your-own-test-doubles/">"Writing Your Own Test Doubles"</a>, Adam's blog post on using fakes instead of mocks</li><li><a href="https://adamwathan.me/2016/02/01/preventing-api-drift-with-contract-tests/">"Preventing API Drift with Contract Tests"</a>, Adam's screencast on using traits to create contract tests between fake and real implementations</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>How their approaches have changed over time</li><li>Feature tests vs. unit tests, when to use each</li><li>Testing code that interacts with external services</li><li>Using fakes instead of mocks</li><li>Contract tests</li><li>Testing view data vs. rendered HTML</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel</a>, Adam's testing course</li><li><a href="https://github.com/laravel/horizon/tree/1.0/tests">Laravel Horizon test suite</a></li><li><a href="https://laravel.com/docs/5.5/mocking">Laravel Fakes</a> documentation</li><li><a href="https://adamwathan.me/2017/01/02/dont-mock-what-you-dont-own/">"Don't Mock What You Don't Own"</a>, Adam's screencast on testing wrappers for external services</li><li><a href="https://adamwathan.me/2016/01/25/writing-your-own-test-doubles/">"Writing Your Own Test Doubles"</a>, Adam's blog post on using fakes instead of mocks</li><li><a href="https://adamwathan.me/2016/02/01/preventing-api-drift-with-contract-tests/">"Preventing API Drift with Contract Tests"</a>, Adam's screencast on using traits to create contract tests between fake and real implementations</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 13 Sep 2017 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8a5d084c/1bc11d87.mp3" length="56883621" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Hco7H0rKmHPnkwB2u2pzhApmNSOaLvi6j8ZJBhvCg5E/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzMy8x/NTk3OTQzOTM1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3550</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Taylor Otwell the creator of Laravel to talk about their approaches to testing Laravel applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Taylor Otwell the creator of Laravel to talk about their approaches to testing Laravel applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>71: Building a CSS Framework with PostCSS</title>
      <itunes:episode>71</itunes:episode>
      <podcast:episode>71</podcast:episode>
      <itunes:title>71: Building a CSS Framework with PostCSS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c21bca63-4e40-4109-8bef-9864e942b205</guid>
      <link>https://share.transistor.fm/s/0396a245</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What <em>is</em> PostCSS, really?</li><li>PostCSS vs. other preprocessors like Less and Sass</li><li>Examples of things PostCSS can do</li><li>How to use PostCSS to add your own features to CSS</li><li>How to disguise custom features as valid CSS so PostCSS will parse it</li><li>Porting Tailwind CSS from Less to PostCSS and why it's been awesome</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS</a>, Adam's upcoming CSS framework</li><li><a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/">CSS Utility Classes and "Separation of Concerts"</a>, blog post explaining the motivation behind Tailwind</li><li><a href="http://postcss.org/">PostCSS.org</a></li><li><a href="http://cssnext.io/">cssnext</a></li><li><a href="https://webdesign.tutsplus.com/tutorials/postcss-deep-dive-create-your-own-plugin--cms-24605">"Create Your Own Plugin"</a>, PostCSS tutorial at tuts+</li><li><a href="http://api.postcss.org/">PostCSS API documentation</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What <em>is</em> PostCSS, really?</li><li>PostCSS vs. other preprocessors like Less and Sass</li><li>Examples of things PostCSS can do</li><li>How to use PostCSS to add your own features to CSS</li><li>How to disguise custom features as valid CSS so PostCSS will parse it</li><li>Porting Tailwind CSS from Less to PostCSS and why it's been awesome</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://tailwindcss.com/">Tailwind CSS</a>, Adam's upcoming CSS framework</li><li><a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/">CSS Utility Classes and "Separation of Concerts"</a>, blog post explaining the motivation behind Tailwind</li><li><a href="http://postcss.org/">PostCSS.org</a></li><li><a href="http://cssnext.io/">cssnext</a></li><li><a href="https://webdesign.tutsplus.com/tutorials/postcss-deep-dive-create-your-own-plugin--cms-24605">"Create Your Own Plugin"</a>, PostCSS tutorial at tuts+</li><li><a href="http://api.postcss.org/">PostCSS API documentation</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 30 Aug 2017 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/0396a245/9640dea4.mp3" length="54277167" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/CaNwitv_cUcetm9C1CF3Qb5Ck94Vu_fH9IVLXaDYaH0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzMi8x/NTk3OTQzOTMzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3387</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Matt Stauffer of Tighten to talk about building a CSS framework with PostCSS.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Matt Stauffer of Tighten to talk about building a CSS framework with PostCSS.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>70: Jeffrey Way - Vue.js Tactics for Server-Side Web Apps</title>
      <itunes:episode>70</itunes:episode>
      <podcast:episode>70</podcast:episode>
      <itunes:title>70: Jeffrey Way - Vue.js Tactics for Server-Side Web Apps</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">65fcb754-4e44-4abf-8ad4-4014d9e1bddf</guid>
      <link>https://share.transistor.fm/s/1e3daec4</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>General project structure</li><li>Dealing with initial load flicker</li><li>Sharing routes between Vue and your server</li><li>Handling authorization rules on the client</li><li>Comparing strategies for getting data into your Vue components</li><li>Best practices for sharing state between sibling components</li><li>Signs you should extract a child component</li><li>Using Vue to wrap up third-party libraries</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://laracasts.com/index/vue">All Vue.js lessons on Laracasts</a></li><li><a href="https://github.com/tightenco/ziggy">Ziggy</a>, package for sharing routes between Laravel and Vue</li><li><a href="https://gist.github.com/adamwathan/babd10ed0e971404c5d8a86358d01b61">Promise.takeAtLeast</a>, helper Adam uses to slow down fast AJAX calls</li><li><a href="https://vuejs.org/v2/guide/components.html#Custom-Events">Custom Events</a> in Vue</li><li><a href="https://vuex.vuejs.org/en/">Vuex</a>, state management library for Vue</li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch">Simple State Management</a>, from the Vue documentation</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>General project structure</li><li>Dealing with initial load flicker</li><li>Sharing routes between Vue and your server</li><li>Handling authorization rules on the client</li><li>Comparing strategies for getting data into your Vue components</li><li>Best practices for sharing state between sibling components</li><li>Signs you should extract a child component</li><li>Using Vue to wrap up third-party libraries</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="https://laracasts.com/index/vue">All Vue.js lessons on Laracasts</a></li><li><a href="https://github.com/tightenco/ziggy">Ziggy</a>, package for sharing routes between Laravel and Vue</li><li><a href="https://gist.github.com/adamwathan/babd10ed0e971404c5d8a86358d01b61">Promise.takeAtLeast</a>, helper Adam uses to slow down fast AJAX calls</li><li><a href="https://vuejs.org/v2/guide/components.html#Custom-Events">Custom Events</a> in Vue</li><li><a href="https://vuex.vuejs.org/en/">Vuex</a>, state management library for Vue</li><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://vuejs.org/v2/guide/state-management.html#Simple-State-Management-from-Scratch">Simple State Management</a>, from the Vue documentation</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 16 Aug 2017 04:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1e3daec4/a2a61ca7.mp3" length="62871362" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/dLnmFGPuiuIBcQ8kfYKQluI3GV0vDpLQwPmyCfZm-D0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzMS8x/NTk3OTQzOTMxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3924</itunes:duration>
      <itunes:summary>In this episode, Adam is joined by Jeffrey Way of Laracasts to share some tips and tricks for using Vue.js elegantly with traditional server-side web apps.</itunes:summary>
      <itunes:subtitle>In this episode, Adam is joined by Jeffrey Way of Laracasts to share some tips and tricks for using Vue.js elegantly with traditional server-side web apps.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>69: Hybrid Mobile Apps with Turbolinks and Laravel</title>
      <itunes:episode>69</itunes:episode>
      <podcast:episode>69</podcast:episode>
      <itunes:title>69: Hybrid Mobile Apps with Turbolinks and Laravel</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">869c5f8d-c697-4a6b-ad1d-fed1ad0c7092</guid>
      <link>https://share.transistor.fm/s/5a1dbe12</link>
      <description>
        <![CDATA[<p>They also discuss the benefits of using a Turbolinks-style approach for small teams, and how Turbolinks on mobile compares to other popular tools like Ionic.</p><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://github.com/turbolinks/turbolinks-ios">Turbolinks iOS adapter</a></li><li><a href="https://github.com/turbolinks/turbolinks-android">Turbolinks Android adapter</a></li><li><a href="https://www.youtube.com/watch?v=SWEts0rlezA">Turbolinks 5: I Can't Believe It's Not Native!</a>, presentation by <a href="https://twitter.com/sstephenson">Sam Stephenson</a></li><li><a href="https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content">Hybrid Sweet Spot: Native navigation, web content</a>, article on how Basecamp builds mobile apps by <a href="https://twitter.com/dhh">DHH</a></li><li><a href="https://ionicframework.com/">Ionic</a>, Angular based mobile framework</li><li><a href="https://laracasts.com/index/turbolinks">Turbolinks lessons at Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They also discuss the benefits of using a Turbolinks-style approach for small teams, and how Turbolinks on mobile compares to other popular tools like Ionic.</p><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="https://github.com/turbolinks/turbolinks">Turbolinks</a></li><li><a href="https://github.com/turbolinks/turbolinks-ios">Turbolinks iOS adapter</a></li><li><a href="https://github.com/turbolinks/turbolinks-android">Turbolinks Android adapter</a></li><li><a href="https://www.youtube.com/watch?v=SWEts0rlezA">Turbolinks 5: I Can't Believe It's Not Native!</a>, presentation by <a href="https://twitter.com/sstephenson">Sam Stephenson</a></li><li><a href="https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content">Hybrid Sweet Spot: Native navigation, web content</a>, article on how Basecamp builds mobile apps by <a href="https://twitter.com/dhh">DHH</a></li><li><a href="https://ionicframework.com/">Ionic</a>, Angular based mobile framework</li><li><a href="https://laracasts.com/index/turbolinks">Turbolinks lessons at Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 02 Aug 2017 04:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5a1dbe12/083b42db.mp3" length="52885189" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/VKTurWg0E6215Oy8Q1dB_mJ_4YBkOxRopLm3-dCvFko/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkzMC8x/NTk3OTQzOTMwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3300</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about what it's like to build a Laravel application using Turbolinks, how it plays with front-end frameworks like Vue.js, and how it's helping him quickly develop web, iOS, and Android apps for his SaaS business all by himself.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about what it's like to build a Laravel application using Turbolinks, how it plays with front-end frameworks like Vue.js, and how it's helping him quickly develop web, iOS, and Android apps for his SaaS busi</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>68: Building Interfaces with Utility-First CSS</title>
      <itunes:episode>68</itunes:episode>
      <podcast:episode>68</podcast:episode>
      <itunes:title>68: Building Interfaces with Utility-First CSS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8daecda0-71e5-4be2-966c-8796e8b18d89</guid>
      <link>https://share.transistor.fm/s/3de92775</link>
      <description>
        <![CDATA[<p>They talk about the problems this approach has solved for them, the surprising workflow benefits, and some tips and tricks for using this approach well.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="http://getbem.com/">BEM</a>, the Block Element Modifier CSS methodology</li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">About HTML semantics and front-end architecture</a>, a blog post by Nicolas Gallagher that heavily inspired the way Adam writes CSS</li><li><a href="https://www.youtube.com/watch?v=6EyPqf1Xh2U&amp;t=8s">Implementing Designs with Utility-Focused CSS</a>, a recorded live stream where you can watch Adam implement a design using his work-in-progress CSS framework</li><li><a href="http://buildwithbeard.com/">Beard</a>, David Hemphill's utility framework</li><li><a href="http://tachyons.io/">Tachyons</a>, a popular utility framework</li><li><a href="https://fractures.space/docs">fractures</a> utility framework</li><li><a href="http://turretcss.com/">turrettcss</a> utility framework</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about the problems this approach has solved for them, the surprising workflow benefits, and some tips and tricks for using this approach well.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="http://codeship.com/">Codeship</a></li></ul><p>Links:</p><ul><li><a href="http://getbem.com/">BEM</a>, the Block Element Modifier CSS methodology</li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">About HTML semantics and front-end architecture</a>, a blog post by Nicolas Gallagher that heavily inspired the way Adam writes CSS</li><li><a href="https://www.youtube.com/watch?v=6EyPqf1Xh2U&amp;t=8s">Implementing Designs with Utility-Focused CSS</a>, a recorded live stream where you can watch Adam implement a design using his work-in-progress CSS framework</li><li><a href="http://buildwithbeard.com/">Beard</a>, David Hemphill's utility framework</li><li><a href="http://tachyons.io/">Tachyons</a>, a popular utility framework</li><li><a href="https://fractures.space/docs">fractures</a> utility framework</li><li><a href="http://turretcss.com/">turrettcss</a> utility framework</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 19 Jul 2017 05:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/3de92775/544b1aac.mp3" length="61894235" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/-MQgbJgxTbb4ymzmizbExlKWBgbPPA1uw0G4yTWgFvg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyOS8x/NTk3OTQzOTI4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3863</itunes:duration>
      <itunes:summary>In this episode, Adam welcomes back Jonathan Reinink to talk about implementing designs with a utility-first approach to CSS.</itunes:summary>
      <itunes:subtitle>In this episode, Adam welcomes back Jonathan Reinink to talk about implementing designs with a utility-first approach to CSS.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>67: Launch Takeways, Interface Breakthroughs, and First Round Armbars</title>
      <itunes:episode>67</itunes:episode>
      <podcast:episode>67</podcast:episode>
      <itunes:title>67: Launch Takeways, Interface Breakthroughs, and First Round Armbars</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">67ed1216-a9e5-40b3-aa17-652106681a3a</guid>
      <link>https://share.transistor.fm/s/137a9a49</link>
      <description>
        <![CDATA[<p>Adam talks about some of the UI design challenges he and Steve have been trying to solve, and shares some of the creative solutions they came up with.</p><p>Sponsors:</p><ul><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://www.facebook.com/davidhemphill/videos/vb.504000177/10154480805835178/?type=2&amp;theater">David's fight video</a></li><li><a href="https://pushsilver.com/fullstackradio">PushSilver discount</a>, just for Full Stack Radio listeners</li><li><a href="http://interviewed.io/persons/laura-roeder">Interviews with Laura Roeder</a>, the founder of MeetEdgar</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://gist.github.com/adamwathan/ad0e5fe6c78f8239cf809b8153e7c274">Building KiteTail #6</a>, newsletter update with lots of UI design details</li><li><a href="https://www.bidsketch.com/">BidSketch</a>, proposal software tool with the "see a sample" email capture call-to-action</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Adam talks about some of the UI design challenges he and Steve have been trying to solve, and shares some of the creative solutions they came up with.</p><p>Sponsors:</p><ul><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://www.facebook.com/davidhemphill/videos/vb.504000177/10154480805835178/?type=2&amp;theater">David's fight video</a></li><li><a href="https://pushsilver.com/fullstackradio">PushSilver discount</a>, just for Full Stack Radio listeners</li><li><a href="http://interviewed.io/persons/laura-roeder">Interviews with Laura Roeder</a>, the founder of MeetEdgar</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://gist.github.com/adamwathan/ad0e5fe6c78f8239cf809b8153e7c274">Building KiteTail #6</a>, newsletter update with lots of UI design details</li><li><a href="https://www.bidsketch.com/">BidSketch</a>, proposal software tool with the "see a sample" email capture call-to-action</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 21 Jun 2017 14:41:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/137a9a49/c6e71f75.mp3" length="51350586" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/FX3DLf9JqqZindr1VpUzixStvp8NifYsZCdN1lClVjg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyOC8x/NTk3OTQzOTI2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3191</itunes:duration>
      <itunes:summary>In this episode, David shares some lessons learned from the PushSilver Infinite launch: what went well, what could've been improved, and what he would double down on next time.</itunes:summary>
      <itunes:subtitle>In this episode, David shares some lessons learned from the PushSilver Infinite launch: what went well, what could've been improved, and what he would double down on next time.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>66: Pre-Launch Engineering and Testing an HTTP Client</title>
      <itunes:episode>66</itunes:episode>
      <podcast:episode>66</podcast:episode>
      <itunes:title>66: Pre-Launch Engineering and Testing an HTTP Client</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d787f487-85d5-4204-8efb-7867aec83f4f</guid>
      <link>https://share.transistor.fm/s/e66b8994</link>
      <description>
        <![CDATA[<p>Adam gives an update on gracefully handling errors in the KiteTail checkout process, launching Zttp as an open-source package, and how he used Lumen to power the Zttp integration test suite.</p><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/infinite">PushSilver Infinite</a> pre-launch page</li><li><a href="http://blog.profitwell.com/double-your-trial-to-paid-conversion-rate-with-onboarding">"How to Double Your Trial-to-Paid Conversion Rate with Onboarding"</a>, Rob Walling's talk at SaaSFest 2016</li><li><a href="https://github.com/kitetail/zttp">Zttp</a> on GitHub</li><li><a href="https://lumen.laravel.com/">Lumen</a>, the Laravel microframework</li><li>The <a href="https://github.com/kitetail/zttp/blob/master/tests/server/public/index.php">Lumen server</a> behind Zttp's test suite</li><li><a href="https://www.youtube.com/watch?v=XaTUS8acrbc">"Test-Driving Webhook Failures"</a>, the live stream where Adam and David worked through the HTTP testing approach that inspired the Zttp test suite</li><li><a href="https://convertkit.com/conference/">Craft and Commerce</a>, the ConvertKit conference Adam is attending this month</li><li><a href="https://building.kitetail.co/">"Building KiteTail"</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Adam gives an update on gracefully handling errors in the KiteTail checkout process, launching Zttp as an open-source package, and how he used Lumen to power the Zttp integration test suite.</p><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/infinite">PushSilver Infinite</a> pre-launch page</li><li><a href="http://blog.profitwell.com/double-your-trial-to-paid-conversion-rate-with-onboarding">"How to Double Your Trial-to-Paid Conversion Rate with Onboarding"</a>, Rob Walling's talk at SaaSFest 2016</li><li><a href="https://github.com/kitetail/zttp">Zttp</a> on GitHub</li><li><a href="https://lumen.laravel.com/">Lumen</a>, the Laravel microframework</li><li>The <a href="https://github.com/kitetail/zttp/blob/master/tests/server/public/index.php">Lumen server</a> behind Zttp's test suite</li><li><a href="https://www.youtube.com/watch?v=XaTUS8acrbc">"Test-Driving Webhook Failures"</a>, the live stream where Adam and David worked through the HTTP testing approach that inspired the Zttp test suite</li><li><a href="https://convertkit.com/conference/">Craft and Commerce</a>, the ConvertKit conference Adam is attending this month</li><li><a href="https://building.kitetail.co/">"Building KiteTail"</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 08 Jun 2017 23:45:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/e66b8994/da317393.mp3" length="55481679" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/TqcM-SxFzgjPvbpJMp_bERIuRg7EnIBewAKkiUnik9c/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyNy8x/NTk3OTQzOTI0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3462</itunes:duration>
      <itunes:summary>In this episode, David talks about getting ready for the launch of PushSilver Infinite, and the unexpected engineering effort needed to make the most of a marketing initiative.</itunes:summary>
      <itunes:subtitle>In this episode, David talks about getting ready for the launch of PushSilver Infinite, and the unexpected engineering effort needed to make the most of a marketing initiative.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>65: New PushSilver Pricing and Co-Founding KiteTail</title>
      <itunes:episode>65</itunes:episode>
      <podcast:episode>65</podcast:episode>
      <itunes:title>65: New PushSilver Pricing and Co-Founding KiteTail</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">946bd36a-2e23-417b-b61b-d928f44f13c7</guid>
      <link>https://share.transistor.fm/s/ad38f586</link>
      <description>
        <![CDATA[<p>Adam shares the details behind his decision to bring on a co-founder for KiteTail, talks the collaboration process when working on an app with somebody else, and give an update on where he's at with getting KiteTail integrated into the Test-Driven Laravel course app.</p><p><br>Sponsors:</p><ul><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://vimeo.com/74338272">"Designing the Ideal Bootstrapped Business"</a> by Jason Cohen</li><li><a href="https://blog.sketchapp.com/versioning-licensing-and-sketch-4-0-8ad98783e9ba">Sketch's non-subscription annual pricing model</a></li><li><a href="https://gist.github.com/adamwathan/e7023ff8fe84168b6e26744bab655cae">Zttp</a>, the underground fight club style HTTP library</li><li><a href="https://twitter.com/steveschoger">Steve Schoger</a>, Adam's KiteTail co-founder</li><li><a href="http://www.zondicons.com/">Zondicons</a> SVG icon library by Steve</li><li><a href="https://github.com/dukestreetstudio/zondicons-blade-bridge">Zondicons Blade package</a> to easily embed inline SVG icons in Laravel applications</li><li><a href="http://www.heropatterns.com/">Hero Patterns</a>, free repeating SVG background patterns by Steve</li><li><a href="http://www.heroicons.com/">Heroicons</a> SVG marketing icon library by Steve</li><li><a href="https://building.kitetail.co/">Building KiteTail</a>, details about KiteTail live streams, newsletter, etc.</li><li><a href="https://www.youtube.com/adamwathan">Previous KiteTail live streams</a> on Adam's YouTube channel</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Adam shares the details behind his decision to bring on a co-founder for KiteTail, talks the collaboration process when working on an app with somebody else, and give an update on where he's at with getting KiteTail integrated into the Test-Driven Laravel course app.</p><p><br>Sponsors:</p><ul><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://vimeo.com/74338272">"Designing the Ideal Bootstrapped Business"</a> by Jason Cohen</li><li><a href="https://blog.sketchapp.com/versioning-licensing-and-sketch-4-0-8ad98783e9ba">Sketch's non-subscription annual pricing model</a></li><li><a href="https://gist.github.com/adamwathan/e7023ff8fe84168b6e26744bab655cae">Zttp</a>, the underground fight club style HTTP library</li><li><a href="https://twitter.com/steveschoger">Steve Schoger</a>, Adam's KiteTail co-founder</li><li><a href="http://www.zondicons.com/">Zondicons</a> SVG icon library by Steve</li><li><a href="https://github.com/dukestreetstudio/zondicons-blade-bridge">Zondicons Blade package</a> to easily embed inline SVG icons in Laravel applications</li><li><a href="http://www.heropatterns.com/">Hero Patterns</a>, free repeating SVG background patterns by Steve</li><li><a href="http://www.heroicons.com/">Heroicons</a> SVG marketing icon library by Steve</li><li><a href="https://building.kitetail.co/">Building KiteTail</a>, details about KiteTail live streams, newsletter, etc.</li><li><a href="https://www.youtube.com/adamwathan">Previous KiteTail live streams</a> on Adam's YouTube channel</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 24 May 2017 13:02:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ad38f586/1e6cf699.mp3" length="58867941" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/t4YKe0mf_3eczYUvSaAaInSuADxwfyUFAFzMI0YWpk4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyNi8x/NTk3OTQzOTIyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3673</itunes:duration>
      <itunes:summary>In this episode, David shares the details behind the pricing changes he's decided on for PushSilver and talks about some of the new features and marketing strategies he's working on for the upcoming launch.</itunes:summary>
      <itunes:subtitle>In this episode, David shares the details behind the pricing changes he's decided on for PushSilver and talks about some of the new features and marketing strategies he's working on for the upcoming launch.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>64: "We Solved Something, Maybe! Or It Might Be a Disaster!"</title>
      <itunes:episode>64</itunes:episode>
      <podcast:episode>64</podcast:episode>
      <itunes:title>64: "We Solved Something, Maybe! Or It Might Be a Disaster!"</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bcf4b256-1a9a-4806-83b4-2dfe775e1f14</guid>
      <link>https://share.transistor.fm/s/ae00d1ed</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Thermostat.io and NPS surveys</li><li>Charging more vs. charging less</li><li>Finding a niche for PushSilver and how to appeal to that niche</li><li>One-time purchase lifetime plans for SaaS</li><li>Percentage-based vs. tiered pricing</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://thermostat.io/">Thermostat.io</a>, Ian's new NPS survey tool</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://founderchats.com/jesse-mecham-youneedabudget-e27f3884ccff">Jesse Mecham on Founder Chats</a>, talking about selling YNAB on the Steam store</li><li><a href="https://en.wikipedia.org/wiki/Net_Promoter">Net Promoter Score</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Thermostat.io and NPS surveys</li><li>Charging more vs. charging less</li><li>Finding a niche for PushSilver and how to appeal to that niche</li><li>One-time purchase lifetime plans for SaaS</li><li>Percentage-based vs. tiered pricing</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://thermostat.io/">Thermostat.io</a>, Ian's new NPS survey tool</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="https://founderchats.com/jesse-mecham-youneedabudget-e27f3884ccff">Jesse Mecham on Founder Chats</a>, talking about selling YNAB on the Steam store</li><li><a href="https://en.wikipedia.org/wiki/Net_Promoter">Net Promoter Score</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 09 May 2017 05:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ae00d1ed/0165ce8b.mp3" length="74506546" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Cu3Offb3bcgUBp9aT-EnXq2zv4ww3qnq3gziZwrgX1k/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyNS8x/NTk3OTQzOTIwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4651</itunes:duration>
      <itunes:summary>Adam and David are joined by Ian Landsman to talk about his latest project Thermostat.io and discuss some pricing ideas for PushSilver and KiteTail.</itunes:summary>
      <itunes:subtitle>Adam and David are joined by Ian Landsman to talk about his latest project Thermostat.io and discuss some pricing ideas for PushSilver and KiteTail.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>63: MicroConf, Dog Food, and Image Previews</title>
      <itunes:episode>63</itunes:episode>
      <podcast:episode>63</podcast:episode>
      <itunes:title>63: MicroConf, Dog Food, and Image Previews</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5c02c12d-032e-4e84-8a8b-9ea9d37562ee</guid>
      <link>https://share.transistor.fm/s/ebaaaf1c</link>
      <description>
        <![CDATA[<p>They chat about topics like:</p><ul><li>Dogfooding Cron Dog in PushSilver</li><li>Dealing with complex validation</li><li>Why we hate auto-saving UIs</li><li>Validation issues when supporting "draft" models</li><li>Expanding the scope of KiteTail</li><li>Different ways to handle client-side image preview</li><li>Building a Cron Dog SDK</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://microconf.com/">MicroConf</a></li><li><a href="https://crondog.io/">Crondog</a>, David's scheduled webhook app</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="http://mbsy.co/convertkit/20592464">ConvertKit</a>, the app Adam uses for email that helped inspire the new direction for KiteTail</li><li><a href="https://adamwathan.me/the-book-launch-that-let-me-quit-my-job/">"The $61,392 Book Launch That Let Me Quit My Job"</a>, Adam's blog post about his first book launch</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They chat about topics like:</p><ul><li>Dogfooding Cron Dog in PushSilver</li><li>Dealing with complex validation</li><li>Why we hate auto-saving UIs</li><li>Validation issues when supporting "draft" models</li><li>Expanding the scope of KiteTail</li><li>Different ways to handle client-side image preview</li><li>Building a Cron Dog SDK</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://microconf.com/">MicroConf</a></li><li><a href="https://crondog.io/">Crondog</a>, David's scheduled webhook app</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's invoicing app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's checkout platform</li><li><a href="http://mbsy.co/convertkit/20592464">ConvertKit</a>, the app Adam uses for email that helped inspire the new direction for KiteTail</li><li><a href="https://adamwathan.me/the-book-launch-that-let-me-quit-my-job/">"The $61,392 Book Launch That Let Me Quit My Job"</a>, Adam's blog post about his first book launch</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 27 Apr 2017 13:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ebaaaf1c/2061c520.mp3" length="50592583" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/POcPElxB1pqqnzFJPJIGSMrSNXyP2Je24R2wPWWBldw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyNC8x/NTk3OTQzOTE4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3156</itunes:duration>
      <itunes:summary>In this episode, Adam and David recap their MicroConf 2017 experiences, and give some product updates.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and David recap their MicroConf 2017 experiences, and give some product updates.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>62: Timezones, Webhook Security, and UI Decisions</title>
      <itunes:episode>62</itunes:episode>
      <podcast:episode>62</podcast:episode>
      <itunes:title>62: Timezones, Webhook Security, and UI Decisions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d36f9940-013c-424a-9d18-062ef0104688</guid>
      <link>https://share.transistor.fm/s/eb927e0e</link>
      <description>
        <![CDATA[<p>We also talk a lot about different strategies for securing webhooks, and what we're looking forward to at <a href="http://www.microconf.com/starter/">MicroConf</a>.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://crondog.io/">Crondog</a>, David's new recurring task app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's new checkout app</li><li><a href="https://developer.github.com/webhooks/securing/">How GitHub secures webhooks</a></li><li><a href="https://en.wikipedia.org/wiki/Hash-based_message_authentication_code">HMAC</a> on Wikipedia</li><li><a href="https://spark.laravel.com/">Laravel Spark</a>, the boilerplate Laravel skeleton David's using</li><li><a href="microconf.com/starter/">MicroConf Start Edition</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>We also talk a lot about different strategies for securing webhooks, and what we're looking forward to at <a href="http://www.microconf.com/starter/">MicroConf</a>.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://crondog.io/">Crondog</a>, David's new recurring task app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's new checkout app</li><li><a href="https://developer.github.com/webhooks/securing/">How GitHub secures webhooks</a></li><li><a href="https://en.wikipedia.org/wiki/Hash-based_message_authentication_code">HMAC</a> on Wikipedia</li><li><a href="https://spark.laravel.com/">Laravel Spark</a>, the boilerplate Laravel skeleton David's using</li><li><a href="microconf.com/starter/">MicroConf Start Edition</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 12 Apr 2017 07:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/eb927e0e/5f981857.mp3" length="49176569" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/EoA1fdBpKNMA3wOAgm9ak5CXBiN3sFq-iw9qQ7SfTuo/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyMy8x/NTk3OTQzOTE2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3068</itunes:duration>
      <itunes:summary>In this episode, David talks about adding timezone support to Crondog, and Adam wrestles with some decisions about dealing with failed webhooks in KiteTail.</itunes:summary>
      <itunes:subtitle>In this episode, David talks about adding timezone support to Crondog, and Adam wrestles with some decisions about dealing with failed webhooks in KiteTail.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>61: We're Building Products!</title>
      <itunes:episode>61</itunes:episode>
      <podcast:episode>61</podcast:episode>
      <itunes:title>61: We're Building Products!</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1d4a043b-08ce-417f-83b9-51197461c8ed</guid>
      <link>https://share.transistor.fm/s/a6f7a593</link>
      <description>
        <![CDATA[<p>David introduces <a href="https://crondog.io/">Crondog</a>, the new product he's working on to help developers manage dynamic recurring tasks in their applications.</p><p>Adam introduces <a href="https://kitetail.co/">KiteTail</a>, an app that lets you create webhook-driven hosted checkout pages; something he wishes he'd had when he launched his course.</p><p><br>From here on out, Full Stack Radio will follow David and Adam's journey building these new products; discussing interesting technical, design, and business challenges they face along the way.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://crondog.io/">Crondog</a>, David's new recurring task app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's new checkout app</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's existing invoicing app</li><li><a href="https://donorgive.com/">DonorGive</a>, an app David worked on that motivated him to build CronDog</li><li><a href="https://spark.laravel.com/">Laravel Spark</a>, the boilerplate Laravel skeleton David's using</li><li><a href="https://adamwathan.me/2017/03/02/whats-kitetail/">"What's KiteTail?"</a>, Adam's blog post introducing KiteTail</li><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel</a>, Adam's course app that inspired him to build KiteTail</li><li><a href="microconf.com/starter/">MicroConf Start Edition</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>David introduces <a href="https://crondog.io/">Crondog</a>, the new product he's working on to help developers manage dynamic recurring tasks in their applications.</p><p>Adam introduces <a href="https://kitetail.co/">KiteTail</a>, an app that lets you create webhook-driven hosted checkout pages; something he wishes he'd had when he launched his course.</p><p><br>From here on out, Full Stack Radio will follow David and Adam's journey building these new products; discussing interesting technical, design, and business challenges they face along the way.</p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://crondog.io/">Crondog</a>, David's new recurring task app</li><li><a href="https://kitetail.co/">KiteTail</a>, Adam's new checkout app</li><li><a href="https://pushsilver.com/">PushSilver</a>, David's existing invoicing app</li><li><a href="https://donorgive.com/">DonorGive</a>, an app David worked on that motivated him to build CronDog</li><li><a href="https://spark.laravel.com/">Laravel Spark</a>, the boilerplate Laravel skeleton David's using</li><li><a href="https://adamwathan.me/2017/03/02/whats-kitetail/">"What's KiteTail?"</a>, Adam's blog post introducing KiteTail</li><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel</a>, Adam's course app that inspired him to build KiteTail</li><li><a href="microconf.com/starter/">MicroConf Start Edition</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 30 Mar 2017 13:05:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a6f7a593/037cc2e8.mp3" length="39151912" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/cPX1jsLlcft03SKmxJpW-8Ohef2o57957SMIvcziIHA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyMi8x/NTk3OTQzOTE0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2441</itunes:duration>
      <itunes:summary>Adam welcomes David Hemphill back to the show, but this time as a co-host!</itunes:summary>
      <itunes:subtitle>Adam welcomes David Hemphill back to the show, but this time as a co-host!</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>60: Michelle Bu - Engineering Payments at Stripe</title>
      <itunes:episode>60</itunes:episode>
      <podcast:episode>60</podcast:episode>
      <itunes:title>60: Michelle Bu - Engineering Payments at Stripe</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4733d6ea-7452-44ca-bc9b-5611bc432e36</guid>
      <link>https://share.transistor.fm/s/7cb854a2</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://twitter.com/hazelcough">Michelle on Twitter</a></li><li><a href="https://stripe.com/docs/elements">Stripe Elements</a></li><li><a href="https://stripe.com/blog/engineering">Stripe's Engineering Blog</a></li><li><a href="https://stripe.com/checkout">Stripe Checkout</a></li><li><a href="https://stripe.com/radar">Stripe Radar</a></li><li><a href="http://amberonrails.com/building-stripes-api/">Building Stripe's API</a>, by <a href="https://twitter.com/amfeng?lang=en">Amber Feng</a></li><li><a href="http://amberonrails.com/move-fast-dont-break-your-api/">Move Fast, Don't Break Your API</a>, by <a href="https://twitter.com/amfeng?lang=en">Amber Feng</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://twitter.com/hazelcough">Michelle on Twitter</a></li><li><a href="https://stripe.com/docs/elements">Stripe Elements</a></li><li><a href="https://stripe.com/blog/engineering">Stripe's Engineering Blog</a></li><li><a href="https://stripe.com/checkout">Stripe Checkout</a></li><li><a href="https://stripe.com/radar">Stripe Radar</a></li><li><a href="http://amberonrails.com/building-stripes-api/">Building Stripe's API</a>, by <a href="https://twitter.com/amfeng?lang=en">Amber Feng</a></li><li><a href="http://amberonrails.com/move-fast-dont-break-your-api/">Move Fast, Don't Break Your API</a>, by <a href="https://twitter.com/amfeng?lang=en">Amber Feng</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 15 Mar 2017 17:06:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7cb854a2/94c78bef.mp3" length="35701310" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/2nxolvlRjOV_To0TMdrwmAQnzEk6n__jILSQnNhC9fM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyMS8x/NTk3OTQzOTEyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2225</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Michelle Bu of Stripe about the new Stripe Elements library, Stripe.js v3, and the Sinatra app that powers their API.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Michelle Bu of Stripe about the new Stripe Elements library, Stripe.js v3, and the Sinatra app that powers their API.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>59: Jonathan Reinink - Form Hell Part 2: Complex Validation</title>
      <itunes:episode>59</itunes:episode>
      <podcast:episode>59</podcast:episode>
      <itunes:title>59: Jonathan Reinink - Form Hell Part 2: Complex Validation</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b4074c93-b0c8-4576-9d7d-83fe90b26581</guid>
      <link>https://share.transistor.fm/s/939a4505</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://laravel.com/docs/5.4/validation#form-request-validation">Form Requests</a> in Laravel</li><li><a href="https://laravel.com/docs/5.4/validation#after-validation-hook">After Validation</a> hooks in Laravel</li><li><a href="https://laracasts.com/discuss/channels/general-discussion/stripejs-cvc-and-zipcode-checks-can-be-bypassed-easily">"Stripe CVC and ZIP checks can be bypassed"</a> forum post</li><li><a href="https://twitter.com/adamwathan/status/833045215300694017">Custom Rule Objects</a>, enhancement Adam is working on</li><li><a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Data_form_validation">HTML5 Form Validation</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://laravel.com/docs/5.4/validation#form-request-validation">Form Requests</a> in Laravel</li><li><a href="https://laravel.com/docs/5.4/validation#after-validation-hook">After Validation</a> hooks in Laravel</li><li><a href="https://laracasts.com/discuss/channels/general-discussion/stripejs-cvc-and-zipcode-checks-can-be-bypassed-easily">"Stripe CVC and ZIP checks can be bypassed"</a> forum post</li><li><a href="https://twitter.com/adamwathan/status/833045215300694017">Custom Rule Objects</a>, enhancement Adam is working on</li><li><a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Data_form_validation">HTML5 Form Validation</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Feb 2017 13:39:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/939a4505/808c02c8.mp3" length="45903272" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Rx2aq7hDy5nQHQcqL5XcPzXhLpP4VIpHP0rsOaES5F0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkyMC8x/NTk3OTQzOTEwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2863</itunes:duration>
      <itunes:summary>In this episode, Adam and Jonathan continue their discussion about forms from episode 54, this time focusing on the complexities of validation.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Jonathan continue their discussion about forms from episode 54, this time focusing on the complexities of validation.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>58: Noel Rappin - Fixing Common Payment Handling Mistakes</title>
      <itunes:episode>58</itunes:episode>
      <podcast:episode>58</podcast:episode>
      <itunes:title>58: Noel Rappin - Fixing Common Payment Handling Mistakes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">168bc7f4-11e5-4a0a-bc26-307cc8a045a8</guid>
      <link>https://share.transistor.fm/s/7a185e9e</link>
      <description>
        <![CDATA[<p>As I mention in the show, if you've been thinking about checking out <a href="https://testdrivenlaravel.com">Test-Driven Laravel</a>, the course is still available at the early access price for the next few weeks:</p><p><br><a href="https://course.testdrivenlaravel.com/early-access">Learn more about Test-Driven Laravel Early Access</a></p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://testdrivenlaravel.com">Test-Driven Laravel</a>, Adam's TDD course</li><li><a href="http://www.noelrappin.com/">Noel's blog</a></li><li><a href="https://pragprog.com/book/nrtest2/rails-4-test-prescriptions">Rails 4 Test Prescriptions</a>, Noel's book on testing</li><li><a href="https://pragprog.com/book/nrwebpay/take-my-money">Take My Money</a>, Noel's book on payment handling</li><li><a href="https://www.youtube.com/watch?v=U2t9Wej0hyI">Noel's screencast on floating point precision</a></li><li><a href="https://github.com/RubyMoney/money">RubyMoney</a> gem</li><li><a href="https://ngrok.com/">ngrok</a></li><li><a href="https://github.com/vcr/vcr">vcr</a> gem</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>As I mention in the show, if you've been thinking about checking out <a href="https://testdrivenlaravel.com">Test-Driven Laravel</a>, the course is still available at the early access price for the next few weeks:</p><p><br><a href="https://course.testdrivenlaravel.com/early-access">Learn more about Test-Driven Laravel Early Access</a></p><p><br>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://testdrivenlaravel.com">Test-Driven Laravel</a>, Adam's TDD course</li><li><a href="http://www.noelrappin.com/">Noel's blog</a></li><li><a href="https://pragprog.com/book/nrtest2/rails-4-test-prescriptions">Rails 4 Test Prescriptions</a>, Noel's book on testing</li><li><a href="https://pragprog.com/book/nrwebpay/take-my-money">Take My Money</a>, Noel's book on payment handling</li><li><a href="https://www.youtube.com/watch?v=U2t9Wej0hyI">Noel's screencast on floating point precision</a></li><li><a href="https://github.com/RubyMoney/money">RubyMoney</a> gem</li><li><a href="https://ngrok.com/">ngrok</a></li><li><a href="https://github.com/vcr/vcr">vcr</a> gem</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 08 Feb 2017 09:04:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7a185e9e/ff69b549.mp3" length="38817180" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/QFBN3ODxQ9IXnxgwHPtzaxelA7-WL5RzPgRXvJNccAk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxOS8x/NTk3OTQzOTA4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2420</itunes:duration>
      <itunes:summary>In this episode, I talk to Noel Rappin about common mistakes developers make when handling payments on the web and how to fix them.</itunes:summary>
      <itunes:subtitle>In this episode, I talk to Noel Rappin about common mistakes developers make when handling payments on the web and how to fix them.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>57: Derrick Reimer - Building and Scaling Drip</title>
      <itunes:episode>57</itunes:episode>
      <podcast:episode>57</podcast:episode>
      <itunes:title>57: Derrick Reimer - Building and Scaling Drip</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">056f32a6-6883-4b59-80ba-aa5319fdcedc</guid>
      <link>https://share.transistor.fm/s/7d650e52</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://drip.co/">Drip</a></li><li><a href="http://www.scalingsaas.com/">Scaling SaaS</a>, Derrick's blog</li></ul><p>The Drip stack:</p><ul><li><a href="http://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://aws.amazon.com/">AWS</a></li><li><a href="https://www.postgresql.org/">PostgreSQL</a></li><li><a href="http://sidekiq.org/">Sidekiq</a></li><li><a href="https://sendgrid.com/">SendGrid</a></li><li><a href="https://redis.io/">Redis</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://drip.co/">Drip</a></li><li><a href="http://www.scalingsaas.com/">Scaling SaaS</a>, Derrick's blog</li></ul><p>The Drip stack:</p><ul><li><a href="http://rubyonrails.org/">Ruby on Rails</a></li><li><a href="https://aws.amazon.com/">AWS</a></li><li><a href="https://www.postgresql.org/">PostgreSQL</a></li><li><a href="http://sidekiq.org/">Sidekiq</a></li><li><a href="https://sendgrid.com/">SendGrid</a></li><li><a href="https://redis.io/">Redis</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 25 Jan 2017 08:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7d650e52/32943ef5.mp3" length="48350035" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/uXFLMXb4nTewC2gyBPRG5uyEMrov0Zc_t6FdtoStpxg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxOC8x/NTk3OTQzOTA2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3016</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Derrick Reimer about the technical challenges behind building and scaling Drip, a sophisticated email marketing automation platform.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Derrick Reimer about the technical challenges behind building and scaling Drip, a sophisticated email marketing automation platform.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>56: Wes Bos - Getting Things Done and Building Your Own Tools</title>
      <itunes:episode>56</itunes:episode>
      <podcast:episode>56</podcast:episode>
      <itunes:title>56: Wes Bos - Getting Things Done and Building Your Own Tools</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">90f52297-3890-4005-906f-72c4d5b9c645</guid>
      <link>https://share.transistor.fm/s/65024e65</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel Early Access</a>, Adam's new TDD course</li><li><a href="http://wesbos.com/">wesbos.com</a>, Wes' blog and personal website</li><li><a href="https://javascript30.com/">JavaScript 30</a>, Wes' new free course</li><li>The <a href="https://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done</a> methodology</li><li><a href="https://culturedcode.com/things/">Things</a></li><li><a href="https://todoist.com/">Todoist</a></li><li><a href="https://www.alfredapp.com/">Alfred</a></li><li><a href="https://smilesoftware.com/textexpander">TextExpander</a></li><li><a href="https://sites.google.com/a/nhusd.k12.ca.us/appshelp/home/mail-tips/sendandarchive">Send and Archive</a> in Gmail</li><li><a href="https://www.youtube.com/watch?v=4CS436KZ35A">Behind the Scenes</a> of Wes' course platform</li><li>Wes Bos on <a href="https://www.youtube.com/channel/UCoebwHSTvwalADTJhps0emA">YouTube</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel Early Access</a>, Adam's new TDD course</li><li><a href="http://wesbos.com/">wesbos.com</a>, Wes' blog and personal website</li><li><a href="https://javascript30.com/">JavaScript 30</a>, Wes' new free course</li><li>The <a href="https://en.wikipedia.org/wiki/Getting_Things_Done">Getting Things Done</a> methodology</li><li><a href="https://culturedcode.com/things/">Things</a></li><li><a href="https://todoist.com/">Todoist</a></li><li><a href="https://www.alfredapp.com/">Alfred</a></li><li><a href="https://smilesoftware.com/textexpander">TextExpander</a></li><li><a href="https://sites.google.com/a/nhusd.k12.ca.us/appshelp/home/mail-tips/sendandarchive">Send and Archive</a> in Gmail</li><li><a href="https://www.youtube.com/watch?v=4CS436KZ35A">Behind the Scenes</a> of Wes' course platform</li><li>Wes Bos on <a href="https://www.youtube.com/channel/UCoebwHSTvwalADTJhps0emA">YouTube</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 05 Jan 2017 10:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/65024e65/a8c9e783.mp3" length="40013825" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/MobL_r1IBj7fcqdckJbkJfABnux_KX5IpkTeGfis25U/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxNy8x/NTk3OTQzOTA0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2495</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Wes Bos about how he seems to get so much done, why he built his own course platform, and growing an audience.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Wes Bos about how he seems to get so much done, why he built his own course platform, and growing an audience.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>55: Ian Landsman - Shady Marketing Tactics That Will Hurt Your Business</title>
      <itunes:episode>55</itunes:episode>
      <podcast:episode>55</podcast:episode>
      <itunes:title>55: Ian Landsman - Shady Marketing Tactics That Will Hurt Your Business</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a70a31fe-4d19-4d68-9927-3a3a9e149ddc</guid>
      <link>https://share.transistor.fm/s/090071d3</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel Early Access</a>, Adam's TDD course</li><li><a href="https://userscape.com/">UserScape</a>, Ian's business</li><li><a href="https://www.helpspot.com/help-desk-software">HelpSpot</a>, UserScape's help desk product</li><li><a href="https://ianlandsman.com/2016/11/14/shady-tactics-in-our-midst/">Shady Tactics in our Midst</a> from Ian's blog</li><li><a href="https://ianlandsman.com/2016/11/15/shady-tactics-round-2/">Shady Tactics, Round 2</a></li><li><a href="https://ianlandsman.com/five-figure-sale/">Securing the Five-Figure Sale</a>, Ian's new free eBook on landing enterprise sales</li><li><a href="https://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous-Innovation/dp/0307887898/ref=sr_1_1?ie=UTF8&amp;qid=1481129280&amp;sr=8-1&amp;keywords=lean+startup">The Lean Startup</a></li><li><a href="https://meetedgar.com/">Edgar</a>, social media tool with invite-only sign up flow</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://course.testdrivenlaravel.com/early-access">Test-Driven Laravel Early Access</a>, Adam's TDD course</li><li><a href="https://userscape.com/">UserScape</a>, Ian's business</li><li><a href="https://www.helpspot.com/help-desk-software">HelpSpot</a>, UserScape's help desk product</li><li><a href="https://ianlandsman.com/2016/11/14/shady-tactics-in-our-midst/">Shady Tactics in our Midst</a> from Ian's blog</li><li><a href="https://ianlandsman.com/2016/11/15/shady-tactics-round-2/">Shady Tactics, Round 2</a></li><li><a href="https://ianlandsman.com/five-figure-sale/">Securing the Five-Figure Sale</a>, Ian's new free eBook on landing enterprise sales</li><li><a href="https://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous-Innovation/dp/0307887898/ref=sr_1_1?ie=UTF8&amp;qid=1481129280&amp;sr=8-1&amp;keywords=lean+startup">The Lean Startup</a></li><li><a href="https://meetedgar.com/">Edgar</a>, social media tool with invite-only sign up flow</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 07 Dec 2016 16:48:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/090071d3/c46a6921.mp3" length="55111435" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/gNWTBC-oUFfAZ6HdwQe6Tprd_UbR6rSXY-6hAAJU1nE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxNi8x/NTk3OTQzOTAyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3439</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ian Landsman about shady marketing tactics that will turn your customers against you, and how to be more authentic with your marketing strategy.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ian Landsman about shady marketing tactics that will turn your customers against you, and how to be more authentic with your marketing strategy.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>54: Jonathan Reinink - Forms: The Worst Part of Web Dev</title>
      <itunes:episode>54</itunes:episode>
      <podcast:episode>54</podcast:episode>
      <itunes:title>54: Jonathan Reinink - Forms: The Worst Part of Web Dev</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a952e8de-cbfa-49e5-841a-63660a383546</guid>
      <link>https://share.transistor.fm/s/072b00bb</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/2013/10/02/putting-your-laravel-controllers-on-a-diet/">Putting Your Laravel Controllers on a Diet</a>, an older blog post by Adam on form objects</li><li><a href="https://laravel.com/docs/5.3/validation#form-request-validation">Form Requests</a> in Laravel</li><li><a href="http://fineuploader.com/">Fineuploader</a>, JS file upload library</li><li><a href="http://www.dropzonejs.com/">DropzoneJS</a>, another JS file upload library</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/2013/10/02/putting-your-laravel-controllers-on-a-diet/">Putting Your Laravel Controllers on a Diet</a>, an older blog post by Adam on form objects</li><li><a href="https://laravel.com/docs/5.3/validation#form-request-validation">Form Requests</a> in Laravel</li><li><a href="http://fineuploader.com/">Fineuploader</a>, JS file upload library</li><li><a href="http://www.dropzonejs.com/">DropzoneJS</a>, another JS file upload library</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 18 Nov 2016 15:05:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/072b00bb/8ee3431c.mp3" length="55905481" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Nzt2WnMZ9PdE9dyg5cP_lb73lrw6ghHD3v9CtlxgzBc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxNS8x/NTk3OTQzODk5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3488</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink about dealing with common headaches when working with everyone's favorite part of web development: forms.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink about dealing with common headaches when working with everyone's favorite part of web development: forms.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>53: Kyle Fiedler - Design Tips and Tricks for Developers</title>
      <itunes:episode>53</itunes:episode>
      <podcast:episode>53</podcast:episode>
      <itunes:title>53: Kyle Fiedler - Design Tips and Tricks for Developers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5bd45c7e-63a0-4003-be60-47bd819f2c74</guid>
      <link>https://share.transistor.fm/s/1672ec94</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://kylefiedler.com/">Kyle's personal website</a></li><li><a href="https://dribbble.com/thoughtbot">thoughtbot on Dribbble</a></li><li><a href="https://thoughtbot.com/upcase/design-for-developers">Design for Developers</a> on Upcase</li><li><a href="https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/">Using System UI Fonts In Web Design</a> by Marcin Wichary</li><li><a href="https://ianstormtaylor.com/design-tip-never-use-black">Design Tip: Never Use Black</a> by Ian Storm Taylor</li><li><a href="http://ux.stackexchange.com/questions/49991/should-yes-delete-it-be-red-or-green">Should "Yes, delete it" be red, or green?</a> on the UX Stack Exchange</li><li><a href="https://medium.com/@erikdkennedy/7-rules-for-creating-gorgeous-ui-part-1-559d4e805cda#.h8tkqx8qc">7 Rules for Creating Gorgeous UI</a> by Erik D. Kennedy</li><li><a href="https://chrome.google.com/webstore/detail/panda-hacker-news-dribbbl/jhiocdmmaannaccoofjfmjpbfkogmnap">Panda Chrome Extension</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://kylefiedler.com/">Kyle's personal website</a></li><li><a href="https://dribbble.com/thoughtbot">thoughtbot on Dribbble</a></li><li><a href="https://thoughtbot.com/upcase/design-for-developers">Design for Developers</a> on Upcase</li><li><a href="https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/">Using System UI Fonts In Web Design</a> by Marcin Wichary</li><li><a href="https://ianstormtaylor.com/design-tip-never-use-black">Design Tip: Never Use Black</a> by Ian Storm Taylor</li><li><a href="http://ux.stackexchange.com/questions/49991/should-yes-delete-it-be-red-or-green">Should "Yes, delete it" be red, or green?</a> on the UX Stack Exchange</li><li><a href="https://medium.com/@erikdkennedy/7-rules-for-creating-gorgeous-ui-part-1-559d4e805cda#.h8tkqx8qc">7 Rules for Creating Gorgeous UI</a> by Erik D. Kennedy</li><li><a href="https://chrome.google.com/webstore/detail/panda-hacker-news-dribbbl/jhiocdmmaannaccoofjfmjpbfkogmnap">Panda Chrome Extension</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 02 Nov 2016 13:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/1672ec94/c895fd54.mp3" length="50172811" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/r07LXDqK6qlHw6edvacN886GBCh4VIdMC0-aDXMi2UI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxNC8x/NTk3OTQzODk3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3130</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Kyle Fiedler of thoughtbot about common mistakes developers make with design, and some tips and tricks for making your designs look more professional.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Kyle Fiedler of thoughtbot about common mistakes developers make with design, and some tips and tricks for making your designs look more professional.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>52: Taylor Otwell - Patterns for Simplifying Laravel Applications</title>
      <itunes:episode>52</itunes:episode>
      <podcast:episode>52</podcast:episode>
      <itunes:title>52: Taylor Otwell - Patterns for Simplifying Laravel Applications</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fee1f1d6-a94f-43f8-989c-b73fc23b55e9</guid>
      <link>https://share.transistor.fm/s/f9634366</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="https://laravel.com/">Laravel</a></li><li><a href="https://laravel.com/docs/5.3/valet">Laravel Valet</a></li><li><a href="https://spark.laravel.com/">Laravel Spark</a></li><li><a href="https://github.com/laravel/passport">Laravel Passport</a></li><li><a href="https://gist.github.com/dhh/10022098">Example of splitting controllers</a></li><li><a href="https://twitter.com/dhh/status/780497638147796992">Basecamp Rake Stats</a></li><li><a href="https://www.youtube.com/watch?v=GFhoSMD6idk">DHH Resources on Rails presentation</a></li><li><a href="https://nitpick-ci.com/">Nitpick CI</a></li><li><a href="https://sklivvz.com/posts/i-dont-love-the-single-responsibility-principle">"I don't love the single responsibility principle"</a> by Marco Cecconi</li><li>Martin Fowler on <a href="http://martinfowler.com/bliki/TellDontAsk.html">Tell Don't Ask</a></li><li><a href="https://www.youtube.com/watch?v=5DVDewOReoY">Chasing Perfect</a>, Adam's talk at Laracon 2015</li><li><a href="https://twitter.com/adamwathan/status/784441071795404800">Adam's base Blade layout</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="https://laravel.com/">Laravel</a></li><li><a href="https://laravel.com/docs/5.3/valet">Laravel Valet</a></li><li><a href="https://spark.laravel.com/">Laravel Spark</a></li><li><a href="https://github.com/laravel/passport">Laravel Passport</a></li><li><a href="https://gist.github.com/dhh/10022098">Example of splitting controllers</a></li><li><a href="https://twitter.com/dhh/status/780497638147796992">Basecamp Rake Stats</a></li><li><a href="https://www.youtube.com/watch?v=GFhoSMD6idk">DHH Resources on Rails presentation</a></li><li><a href="https://nitpick-ci.com/">Nitpick CI</a></li><li><a href="https://sklivvz.com/posts/i-dont-love-the-single-responsibility-principle">"I don't love the single responsibility principle"</a> by Marco Cecconi</li><li>Martin Fowler on <a href="http://martinfowler.com/bliki/TellDontAsk.html">Tell Don't Ask</a></li><li><a href="https://www.youtube.com/watch?v=5DVDewOReoY">Chasing Perfect</a>, Adam's talk at Laracon 2015</li><li><a href="https://twitter.com/adamwathan/status/784441071795404800">Adam's base Blade layout</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 18 Oct 2016 08:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f9634366/3ed47182.mp3" length="67704493" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/THS_Dl4cuF-lPxpDhsmnqDU6o3tkFBeoQvLEYh3VaBc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxMy8x/NTk3OTQzODk1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4226</itunes:duration>
      <itunes:summary>In this episode, Adam and Taylor Otwell have a discussion about strategies they use to write cleaner, simpler code when working with the Laravel framework.</itunes:summary>
      <itunes:subtitle>In this episode, Adam and Taylor Otwell have a discussion about strategies they use to write cleaner, simpler code when working with the Laravel framework.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>51: Matt Wynne - Building the Right Thing with BDD</title>
      <itunes:episode>51</itunes:episode>
      <podcast:episode>51</podcast:episode>
      <itunes:title>51: Matt Wynne - Building the Right Thing with BDD</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f9206232-ac8e-40cf-b441-0f8580e55c9d</guid>
      <link>https://share.transistor.fm/s/f5c8aff0</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>What exactly is BDD?</li><li>Is BDD a technical or non-technical practice?</li><li>How do you get started with BDD?</li><li>How do you keep the number of system tests low to keep your test suite fast?</li><li>What's your strategy for dealing with external services in acceptance tests?</li><li>What are the advantages of using Cucumber even as a solo developer working on a side project?</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="http://blog.mattwynne.net/">Matt's Blog</a></li><li><a href="http://blog.mattwynne.net/2008/03/18/awesome-acceptance-testing/">Matt's notes from Dan North's Awesome Acceptance Testing talk</a></li><li><a href="https://cucumber.io/school">Cucumber School</a></li><li><a href="http://shop.oreilly.com/product/0636920033851.do">User Story Mapping</a></li><li><a href="https://www.amazon.com/gp/product/0955683645/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0955683645&amp;linkCode=as2&amp;tag=swingwiki-20">Impact Mapping</a></li><li><a href="https://cucumber.io/blog/2015/12/08/example-mapping-introduction">Introducing Example Mapping</a></li><li><a href="http://blog.codeclimate.com/blog/2013/10/09/rails-testing-pyramid/">The Rails Testing Pyramid</a></li><li><a href="http://claysnow.co.uk/the-testing-iceberg/">The Testing Iceberg</a></li><li><a href="https://www.youtube.com/watch?v=4cVZvoFGJTU">The Deep Synergy Between Testability and Good Design</a> talk by Michael Feathers</li><li><a href="http://aslakhellesoy.com/post/11055981222/the-training-wheels-came-off">The Training Wheels Came Off</a>, Aslak Hellesøy on removing the built-in step definitions in Cucumber-Rails</li><li><a href="https://cucumber.io/blog">Cucumber Blog</a></li><li><a href="https://github.com/cucumber/cucumber">Cucumber on GitHub</a></li><li><a href="https://pragprog.com/book/hwcuc/the-cucumber-book">The Cucumber Book</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>What exactly is BDD?</li><li>Is BDD a technical or non-technical practice?</li><li>How do you get started with BDD?</li><li>How do you keep the number of system tests low to keep your test suite fast?</li><li>What's your strategy for dealing with external services in acceptance tests?</li><li>What are the advantages of using Cucumber even as a solo developer working on a side project?</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="http://blog.mattwynne.net/">Matt's Blog</a></li><li><a href="http://blog.mattwynne.net/2008/03/18/awesome-acceptance-testing/">Matt's notes from Dan North's Awesome Acceptance Testing talk</a></li><li><a href="https://cucumber.io/school">Cucumber School</a></li><li><a href="http://shop.oreilly.com/product/0636920033851.do">User Story Mapping</a></li><li><a href="https://www.amazon.com/gp/product/0955683645/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0955683645&amp;linkCode=as2&amp;tag=swingwiki-20">Impact Mapping</a></li><li><a href="https://cucumber.io/blog/2015/12/08/example-mapping-introduction">Introducing Example Mapping</a></li><li><a href="http://blog.codeclimate.com/blog/2013/10/09/rails-testing-pyramid/">The Rails Testing Pyramid</a></li><li><a href="http://claysnow.co.uk/the-testing-iceberg/">The Testing Iceberg</a></li><li><a href="https://www.youtube.com/watch?v=4cVZvoFGJTU">The Deep Synergy Between Testability and Good Design</a> talk by Michael Feathers</li><li><a href="http://aslakhellesoy.com/post/11055981222/the-training-wheels-came-off">The Training Wheels Came Off</a>, Aslak Hellesøy on removing the built-in step definitions in Cucumber-Rails</li><li><a href="https://cucumber.io/blog">Cucumber Blog</a></li><li><a href="https://github.com/cucumber/cucumber">Cucumber on GitHub</a></li><li><a href="https://pragprog.com/book/hwcuc/the-cucumber-book">The Cucumber Book</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 05 Oct 2016 16:07:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f5c8aff0/aa09f492.mp3" length="62455940" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/JkI-W3i8lOddLNmJkIaONpS-0Bu_b9xBa31AxTc1WKE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxMi8x/NTk3OTQzODkzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3898</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Matt Wynne about Behavior Driven Development with Cucumber.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Matt Wynne about Behavior Driven Development with Cucumber.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>50: Evan You - What's Coming in Vue.js 2.0</title>
      <itunes:episode>50</itunes:episode>
      <podcast:episode>50</podcast:episode>
      <itunes:title>50: Evan You - What's Coming in Vue.js 2.0</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6fe628f9-04ee-4b44-a60f-8b50011c9045</guid>
      <link>https://share.transistor.fm/s/0e660bbc</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>The motivation for rewriting Vue.js from scratch</li><li>What is a virtual DOM and what are the benefits?</li><li>How does Vue.js 2.0 stack up performance-wise? (spoiler alert, it's <em>fast</em>)</li><li>When should you use templates vs. a render function?</li><li>Why two-way props have been deprecated and what you should do instead</li><li>Best practices for dealing with custom component events</li><li>The 1.0 to 2.0 upgrade path</li><li>Building native mobile applications with Vue.js and Weex</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="https://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, get 25% off using the coupon "pnwphp"</li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="http://vuejs.org/2016/04/27/announcing-2.0/">Announcing Vue.js 2.0</a></li><li><a href="http://rc.vuejs.org/guide/">Vue.js 2.0 Documentation</a></li><li><a href="https://cdn.rawgit.com/krausest/js-framework-benchmark/956b068f03ef96a9c08d209ffadb0947cd56edc6/webdriver-java/table.html">JS Framework Performance Benchmarks</a></li><li><a href="https://github.com/snabbdom/snabbdom">Snabbdom</a>, virtual DOM library</li><li><a href="https://github.com/vuejs/babel-plugin-transform-vue-jsx">JSX plugin for Vue.js</a></li><li><a href="http://rc.vuejs.org/guide/components.html#Using-v-on-with-Custom-Events">Using v-on with Custom Events</a></li><li><a href="https://twitter.com/vuejs/status/773679830848180224">Vue Migration Helper teaser</a></li><li><a href="http://alibaba.github.io/weex/">Weex</a>, framework for building native mobile applications with Vue.js</li><li><a href="https://twitter.com/vuejs">Vue.js on Twitter</a></li><li><a href="https://twitter.com/VueNewsletter">Vue.js Newsletter</a></li><li><a href="https://twitter.com/vuejsfeed">Vue.js Feed</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>The motivation for rewriting Vue.js from scratch</li><li>What is a virtual DOM and what are the benefits?</li><li>How does Vue.js 2.0 stack up performance-wise? (spoiler alert, it's <em>fast</em>)</li><li>When should you use templates vs. a render function?</li><li>Why two-way props have been deprecated and what you should do instead</li><li>Best practices for dealing with custom component events</li><li>The 1.0 to 2.0 upgrade path</li><li>Building native mobile applications with Vue.js and Weex</li></ul><p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://www.hired.com/fullstackradio">Hired</a>, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="https://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, get 25% off using the coupon "pnwphp"</li><li><a href="https://vuejs.org/">Vue.js</a></li><li><a href="http://vuejs.org/2016/04/27/announcing-2.0/">Announcing Vue.js 2.0</a></li><li><a href="http://rc.vuejs.org/guide/">Vue.js 2.0 Documentation</a></li><li><a href="https://cdn.rawgit.com/krausest/js-framework-benchmark/956b068f03ef96a9c08d209ffadb0947cd56edc6/webdriver-java/table.html">JS Framework Performance Benchmarks</a></li><li><a href="https://github.com/snabbdom/snabbdom">Snabbdom</a>, virtual DOM library</li><li><a href="https://github.com/vuejs/babel-plugin-transform-vue-jsx">JSX plugin for Vue.js</a></li><li><a href="http://rc.vuejs.org/guide/components.html#Using-v-on-with-Custom-Events">Using v-on with Custom Events</a></li><li><a href="https://twitter.com/vuejs/status/773679830848180224">Vue Migration Helper teaser</a></li><li><a href="http://alibaba.github.io/weex/">Weex</a>, framework for building native mobile applications with Vue.js</li><li><a href="https://twitter.com/vuejs">Vue.js on Twitter</a></li><li><a href="https://twitter.com/VueNewsletter">Vue.js Newsletter</a></li><li><a href="https://twitter.com/vuejsfeed">Vue.js Feed</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 21 Sep 2016 19:44:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/0e660bbc/a780c74c.mp3" length="50962620" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/slWi7T58DiXlhz_YSB4IX6TvVupo-MhXNb98xUG7mWE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxMS8x/NTk3OTQzODkxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3179</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Evan You about what's coming in Vue.js 2.0.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Evan You about what's coming in Vue.js 2.0.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>49: Toran Billups - Test Driving the Front-end</title>
      <itunes:episode>49</itunes:episode>
      <podcast:episode>49</podcast:episode>
      <itunes:title>49: Toran Billups - Test Driving the Front-end</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d5cc4780-63ef-4d97-9ced-a6d02896dc29</guid>
      <link>https://share.transistor.fm/s/40e642a4</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://goshippo.com">Shippo</a>, try out the Shippo API for free at</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="http://emberjs.com/">Ember.js</a></li><li><a href="https://qunitjs.com/">QUnit</a> testing framework</li><li><a href="https://guides.emberjs.com/v2.7.0/testing/">Ember Testing Documentation</a></li><li><a href="https://www.youtube.com/watch?v=2b1vcg_XSR8">Toran's TDD talk at EmberConf 2015</a></li><li><a href="https://vimeo.com/146953048">Outside-In TDD presentation</a>, one of Toran's more recent talks</li><li><a href="https://www.picatic.com/outsideintdd">Toran's upcoming Outside-In TDD Workshop</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://goshippo.com">Shippo</a>, try out the Shippo API for free at</li></ul><p>Links:</p><ul><li><a href="http://testdrivenlaravel.com/">Test Driven Laravel</a>, Adam's upcoming video course</li><li><a href="http://emberjs.com/">Ember.js</a></li><li><a href="https://qunitjs.com/">QUnit</a> testing framework</li><li><a href="https://guides.emberjs.com/v2.7.0/testing/">Ember Testing Documentation</a></li><li><a href="https://www.youtube.com/watch?v=2b1vcg_XSR8">Toran's TDD talk at EmberConf 2015</a></li><li><a href="https://vimeo.com/146953048">Outside-In TDD presentation</a>, one of Toran's more recent talks</li><li><a href="https://www.picatic.com/outsideintdd">Toran's upcoming Outside-In TDD Workshop</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 07 Sep 2016 07:32:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/40e642a4/81a70e20.mp3" length="38142140" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/HqPtp9aDCS3wrywRx71GkE3K_LxzMr2pyjhi5-oeSPA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkxMC8x/NTk3OTQzODg5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2378</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Toran Billups about the test driven development workflow he uses to build Ember applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Toran Billups about the test driven development workflow he uses to build Ember applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>48: Jessica Lord - Building Desktop Apps with Electron</title>
      <itunes:episode>48</itunes:episode>
      <podcast:episode>48</podcast:episode>
      <itunes:title>48: Jessica Lord - Building Desktop Apps with Electron</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b57c455b-b2f7-4bd7-8f76-4229bc785e3c</guid>
      <link>https://share.transistor.fm/s/62d39b7e</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://goshippo.com">Shippo</a>, try out the Shippo API for free at <a href="https://goshippo.com">goshippo.com</a></li></ul><p>Links:</p><ul><li><a href="http://electron.atom.io/">Electron</a></li><li><a href="http://electron.atom.io/blog/">Electron Blog</a></li><li><a href="https://atom.io/">Atom</a></li><li><a href="https://github.com/electron/electron-api-demos">Electron API Demos</a></li><li><a href="http://photonkit.com/">Photon</a>, Electron UI kit</li><li><a href="http://electron.atom.io/apps/">Built on Electron</a>, Electron app directory</li><li><a href="https://github.com/muan/mojibar">Mojibar</a>, emoji searcher for OSX</li><li><a href="https://hyperterm.org/">HyperTerm</a>, JS/HTML/CSS terminal</li><li><a href="https://nylas.com/product/">Nylas N1</a>, email client</li><li><a href="https://webtorrent.io/desktop/">WebTorrent</a>, streaming torrent client</li><li><a href="https://code.visualstudio.com/">Visual Studio Code</a>, code editor</li><li><a href="https://github.com/sindresorhus/awesome-electron">Awesome Electron</a>, useful resources for creating apps with Electron</li><li><a href="http://electron.atom.io/devtron/">Devtron</a>, Electron DevTools extension</li><li><a href="http://electron.atom.io/spectron/">Spectron</a>, Electron testing framework</li><li><a href="https://github.com/electron/electron-quick-start">electron-quick-start</a>, starter repo for new Electron apps</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li><li><a href="https://goshippo.com">Shippo</a>, try out the Shippo API for free at <a href="https://goshippo.com">goshippo.com</a></li></ul><p>Links:</p><ul><li><a href="http://electron.atom.io/">Electron</a></li><li><a href="http://electron.atom.io/blog/">Electron Blog</a></li><li><a href="https://atom.io/">Atom</a></li><li><a href="https://github.com/electron/electron-api-demos">Electron API Demos</a></li><li><a href="http://photonkit.com/">Photon</a>, Electron UI kit</li><li><a href="http://electron.atom.io/apps/">Built on Electron</a>, Electron app directory</li><li><a href="https://github.com/muan/mojibar">Mojibar</a>, emoji searcher for OSX</li><li><a href="https://hyperterm.org/">HyperTerm</a>, JS/HTML/CSS terminal</li><li><a href="https://nylas.com/product/">Nylas N1</a>, email client</li><li><a href="https://webtorrent.io/desktop/">WebTorrent</a>, streaming torrent client</li><li><a href="https://code.visualstudio.com/">Visual Studio Code</a>, code editor</li><li><a href="https://github.com/sindresorhus/awesome-electron">Awesome Electron</a>, useful resources for creating apps with Electron</li><li><a href="http://electron.atom.io/devtron/">Devtron</a>, Electron DevTools extension</li><li><a href="http://electron.atom.io/spectron/">Spectron</a>, Electron testing framework</li><li><a href="https://github.com/electron/electron-quick-start">electron-quick-start</a>, starter repo for new Electron apps</li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 23 Aug 2016 08:08:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/62d39b7e/d0a25660.mp3" length="45033057" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/e2vKx7G8xg0Nc9h3qz1OxO5M0iAedTmbC-CESbfxTqc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwOS8x/NTk3OTQzODg3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2809</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jessica Lord of GitHub about building desktop applications in HTML and JavaScript using Electron.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jessica Lord of GitHub about building desktop applications in HTML and JavaScript using Electron.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>47: Sara Soueidan - Ditching Icon Fonts for SVG</title>
      <itunes:episode>47</itunes:episode>
      <podcast:episode>47</podcast:episode>
      <itunes:title>47: Sara Soueidan - Ditching Icon Fonts for SVG</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0e39503e-1c32-43d9-8fb6-20e4edcb2fd8</guid>
      <link>https://share.transistor.fm/s/cb393e7f</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://sarasoueidan.com/">Sara's Blog</a></li><li><a href="https://css-tricks.com/icon-fonts-vs-svg/">SVG vs Icon Fonts Cage Match</a></li><li><a href="https://github.com/filamentgroup/grunticon">grunticon</a></li><li><a href="https://www.filamentgroup.com/lab/grumpicon-workflow.html">A Designer's Guide to Grumpicon</a></li><li><a href="https://sarasoueidan.com/blog/icon-fonts-to-svg/">Making the Switch Away from Icont Fonts to SVG</a></li><li><a href="https://css-tricks.com/a-complete-guide-to-svg-fallbacks/">A complete guide to SVG fallbacks</a></li><li><a href="https://24ways.org/2014/an-overview-of-svg-sprite-creation-techniques/">Overview of SVG Sprite Creation Techniques</a></li><li><a href="https://sarasoueidan.com/tags/svg/index.html">All SVG articles on Sara's blog</a></li><li><a href="https://github.com/svg/svgo">svgo</a></li><li><a href="https://jakearchibald.github.io/svgomg/">svgomg</a></li><li><a href="https://www.smashingmagazine.com/2015/03/real-life-responsive-web-design-smashing-book-5/">The Smashing Book 5</a></li><li><a href="https://abookapart.com/products/practical-svg">Practical SVG book</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://sarasoueidan.com/">Sara's Blog</a></li><li><a href="https://css-tricks.com/icon-fonts-vs-svg/">SVG vs Icon Fonts Cage Match</a></li><li><a href="https://github.com/filamentgroup/grunticon">grunticon</a></li><li><a href="https://www.filamentgroup.com/lab/grumpicon-workflow.html">A Designer's Guide to Grumpicon</a></li><li><a href="https://sarasoueidan.com/blog/icon-fonts-to-svg/">Making the Switch Away from Icont Fonts to SVG</a></li><li><a href="https://css-tricks.com/a-complete-guide-to-svg-fallbacks/">A complete guide to SVG fallbacks</a></li><li><a href="https://24ways.org/2014/an-overview-of-svg-sprite-creation-techniques/">Overview of SVG Sprite Creation Techniques</a></li><li><a href="https://sarasoueidan.com/tags/svg/index.html">All SVG articles on Sara's blog</a></li><li><a href="https://github.com/svg/svgo">svgo</a></li><li><a href="https://jakearchibald.github.io/svgomg/">svgomg</a></li><li><a href="https://www.smashingmagazine.com/2015/03/real-life-responsive-web-design-smashing-book-5/">The Smashing Book 5</a></li><li><a href="https://abookapart.com/products/practical-svg">Practical SVG book</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 10 Aug 2016 09:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/cb393e7f/d851ac16.mp3" length="43569806" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/uwbbhb5vUBrJ3VeRdbW_mQnwW1ZQfRnWsdYpDrgvA98/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwOC8x/NTk3OTQzODg1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2717</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Sara Soueidan about the benefits of using SVG over icon fonts, and the best workflow for using SVG in your projects.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Sara Soueidan about the benefits of using SVG over icon fonts, and the best workflow for using SVG in your projects.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>46: Joe Ferris - Test Driven Rails</title>
      <itunes:episode>46</itunes:episode>
      <podcast:episode>46</podcast:episode>
      <itunes:title>46: Joe Ferris - Test Driven Rails</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7ea58347-dc9d-4400-bed1-fcaa88a2b727</guid>
      <link>https://share.transistor.fm/s/24e297cf</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/test-driven-laravel/">Test Driven Laravel</a>, Adam's latest project</li><li><a href="http://giantrobots.fm/">Giant Robots</a> podcast</li><li><a href="https://robots.thoughtbot.com/how-we-test-rails-applications">How We Test Rails Applications</a> on the thoughtbot blog</li><li><a href="http://jnicklas.github.io/capybara/">Capybara</a></li><li><a href="https://github.com/thoughtbot/capybara-webkit">Capybara WebKit</a></li><li><a href="http://rspec.info/">RSpec</a></li><li><a href="https://github.com/thoughtbot/factory_girl">factory_girl</a></li><li><a href="http://blog.codeclimate.com/blog/2013/10/09/rails-testing-pyramid/">The Rails Testing Pyramid</a> on the Code Climate blog</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://adamwathan.me/test-driven-laravel/">Test Driven Laravel</a>, Adam's latest project</li><li><a href="http://giantrobots.fm/">Giant Robots</a> podcast</li><li><a href="https://robots.thoughtbot.com/how-we-test-rails-applications">How We Test Rails Applications</a> on the thoughtbot blog</li><li><a href="http://jnicklas.github.io/capybara/">Capybara</a></li><li><a href="https://github.com/thoughtbot/capybara-webkit">Capybara WebKit</a></li><li><a href="http://rspec.info/">RSpec</a></li><li><a href="https://github.com/thoughtbot/factory_girl">factory_girl</a></li><li><a href="http://blog.codeclimate.com/blog/2013/10/09/rails-testing-pyramid/">The Rails Testing Pyramid</a> on the Code Climate blog</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 28 Jul 2016 10:19:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/24e297cf/eb6b76c5.mp3" length="50408834" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/1zmN9DMTSYaW2arAnqtaWPBdEQ-IbDGygUwSNqYDP3I/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwNy8x/NTk3OTQzODgzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3145</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Joe Ferris, CTO at thoughtbot, about the test-driven development workflow he uses to build Rails applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Joe Ferris, CTO at thoughtbot, about the test-driven development workflow he uses to build Rails applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>45: Derek Prior - From Rails to Phoenix</title>
      <itunes:episode>45</itunes:episode>
      <podcast:episode>45</podcast:episode>
      <itunes:title>45: Derek Prior - From Rails to Phoenix</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3e3c79c2-d055-4395-9461-650bc45a428a</guid>
      <link>https://share.transistor.fm/s/05db807c</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://thoughtbot.com/services/elixir-phoenix">thoughtbot on Elixir and Phoenix</a></li><li><a href="http://bikeshed.fm/">The Bikeshed Podcast</a></li><li><a href="http://exercism.io/">Exercism.io</a></li><li><a href="http://elixir-lang.org/">Elixir</a>, the functional programming language</li><li><a href="http://www.phoenixframework.org/">Phoenix</a>, the Elixir web framework</li><li><a href="http://www.phoenixframework.org/docs/ecto-models">Ecto</a>, the Phoenix database layer</li><li><a href="https://pragprog.com/book/elixir/programming-elixir">Programming Elixir</a> book by Dave Thomas</li><li><a href="https://pragprog.com/book/phoenix/programming-phoenix">Programming Phoenix</a> book by Chris McCord, Bruce Tate, and José Valim</li><li><a href="https://dockyard.com/blog/2015/11/18/phoenix-is-not-rails">Phoenix is not Rails</a> by Chris McCord</li><li><a href="http://bikeshed.fm/54">The Bikeshed Episode 54</a>, where Derek talks about dates and times in Elixir</li><li><a href="https://github.com/BlakeWilliams/pact">Pact</a>, the Elixir dependency injection library by <a href="https://twitter.com/blakewilliams__">Blake Williams</a></li><li><a href="http://elixir-slackin.herokuapp.com/">Elixir on Slack</a></li><li><a href="http://elixirsips.com/">Elixir Sips</a> screencasts</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="https://thoughtbot.com/services/elixir-phoenix">thoughtbot on Elixir and Phoenix</a></li><li><a href="http://bikeshed.fm/">The Bikeshed Podcast</a></li><li><a href="http://exercism.io/">Exercism.io</a></li><li><a href="http://elixir-lang.org/">Elixir</a>, the functional programming language</li><li><a href="http://www.phoenixframework.org/">Phoenix</a>, the Elixir web framework</li><li><a href="http://www.phoenixframework.org/docs/ecto-models">Ecto</a>, the Phoenix database layer</li><li><a href="https://pragprog.com/book/elixir/programming-elixir">Programming Elixir</a> book by Dave Thomas</li><li><a href="https://pragprog.com/book/phoenix/programming-phoenix">Programming Phoenix</a> book by Chris McCord, Bruce Tate, and José Valim</li><li><a href="https://dockyard.com/blog/2015/11/18/phoenix-is-not-rails">Phoenix is not Rails</a> by Chris McCord</li><li><a href="http://bikeshed.fm/54">The Bikeshed Episode 54</a>, where Derek talks about dates and times in Elixir</li><li><a href="https://github.com/BlakeWilliams/pact">Pact</a>, the Elixir dependency injection library by <a href="https://twitter.com/blakewilliams__">Blake Williams</a></li><li><a href="http://elixir-slackin.herokuapp.com/">Elixir on Slack</a></li><li><a href="http://elixirsips.com/">Elixir Sips</a> screencasts</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 13 Jul 2016 18:25:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/05db807c/06704b78.mp3" length="43851109" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/2yCSk-0ONyHAt_5RT3Z0hBdqGG2K8rigDdJe9eB_Bzs/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwNi8x/NTk3OTQzODgyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2735</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Derek Prior about building web applications in Elixir with Phoenix, and how it compares to building an application in Ruby on Rails.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Derek Prior about building web applications in Elixir with Phoenix, and how it compares to building an application in Ruby on Rails.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>44: Joel Clermont - What the heck is Elm?</title>
      <itunes:episode>44</itunes:episode>
      <podcast:episode>44</podcast:episode>
      <itunes:title>44: Joel Clermont - What the heck is Elm?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5c7bca9b-f7d2-4b63-a0b5-c29fb18a7883</guid>
      <link>https://share.transistor.fm/s/bf369fdf</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://joelclermont.com/">Joel's Blog</a></li><li><a href="http://elm-lang.org/">The Elm Homepage</a></li><li><a href="https://en.wikipedia.org/wiki/ML_(programming_language)">The ML language</a></li><li><a href="http://elixir-lang.org/">The Elixir language</a></li><li><a href="http://exercism.io/">Exercism.io</a></li><li><a href="https://twitter.com/rtfeldman">Richard Feldman</a>, working on "Elm in Action" book</li><li><a href="http://blog.jenkster.com/2015/12/what-is-functional-programming.html">"What is functional programming?"</a> blog series by Kris Jenkins</li><li><a href="https://www.leighhalliday.com/fizzbuzz-in-elixir">Fizzbuzz in Elixir</a> library</li><li><a href="http://haskellbook.com/">Haskell Programming from first principles</a> book</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://joelclermont.com/">Joel's Blog</a></li><li><a href="http://elm-lang.org/">The Elm Homepage</a></li><li><a href="https://en.wikipedia.org/wiki/ML_(programming_language)">The ML language</a></li><li><a href="http://elixir-lang.org/">The Elixir language</a></li><li><a href="http://exercism.io/">Exercism.io</a></li><li><a href="https://twitter.com/rtfeldman">Richard Feldman</a>, working on "Elm in Action" book</li><li><a href="http://blog.jenkster.com/2015/12/what-is-functional-programming.html">"What is functional programming?"</a> blog series by Kris Jenkins</li><li><a href="https://www.leighhalliday.com/fizzbuzz-in-elixir">Fizzbuzz in Elixir</a> library</li><li><a href="http://haskellbook.com/">Haskell Programming from first principles</a> book</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 29 Jun 2016 03:54:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/bf369fdf/d5b9ea8d.mp3" length="51934373" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/dJoGp-SwUOpq_zPsDK5SasN13yH-8_1W6N5ILKc2BLc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwNS8x/NTk3OTQzODgwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3240</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Joel Clermont about the Elm programming language and getting started with functional programming.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Joel Clermont about the Elm programming language and getting started with functional programming.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>43: Jonathan Snook - Managing Complexity, Design Systems, and Container Queries</title>
      <itunes:episode>43</itunes:episode>
      <podcast:episode>43</podcast:episode>
      <itunes:title>43: Jonathan Snook - Managing Complexity, Design Systems, and Container Queries</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8545d4d6-f852-412f-b441-e44a72668392</guid>
      <link>https://share.transistor.fm/s/c87da84e</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://snook.ca/">Snook's Blog</a></li><li><a href="https://smacss.com/">SMACSS</a>, Jonathan's book</li><li><a href="http://acss.io/">Atomic CSS</a></li><li><a href="http://snook.ca/archives/opinion/staffing-design-systems-team">"Staffing a Design Systems Team"</a></li><li><a href="http://snook.ca/archives/opinion/value-truly-rwd">"Why I Value Truly Responsive Web Design"</a></li><li><a href="http://alistapart.com/article/container-queries-once-more-unto-the-breach">"Container Queries: Once More Unto the Breach"</a></li><li><a href="https://www.filamentgroup.com/lab/element-query-workarounds.html">Scott Jehl on container queries</a></li><li><a href="https://github.com/marcj/css-element-queries">CSS-Element-Queries</a> library</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://snook.ca/">Snook's Blog</a></li><li><a href="https://smacss.com/">SMACSS</a>, Jonathan's book</li><li><a href="http://acss.io/">Atomic CSS</a></li><li><a href="http://snook.ca/archives/opinion/staffing-design-systems-team">"Staffing a Design Systems Team"</a></li><li><a href="http://snook.ca/archives/opinion/value-truly-rwd">"Why I Value Truly Responsive Web Design"</a></li><li><a href="http://alistapart.com/article/container-queries-once-more-unto-the-breach">"Container Queries: Once More Unto the Breach"</a></li><li><a href="https://www.filamentgroup.com/lab/element-query-workarounds.html">Scott Jehl on container queries</a></li><li><a href="https://github.com/marcj/css-element-queries">CSS-Element-Queries</a> library</li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 15 Jun 2016 03:53:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/c87da84e/113646f5.mp3" length="64668642" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/M0y3hh3vGDi96icSgTmtm_eWOy5qXdb5j6Kxj4l3gcI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwNC8x/NTk3OTQzODc4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4036</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Snook, author of SMACSS, about finding the balance between utility and component driven CSS approaches, design systems engineering, and using container queries to build better responsive web experiences.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Snook, author of SMACSS, about finding the balance between utility and component driven CSS approaches, design systems engineering, and using container queries to build better responsive web experiences.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>42: Justin Jackson - Marketing for Developers</title>
      <itunes:episode>42</itunes:episode>
      <podcast:episode>42</podcast:episode>
      <itunes:title>42: Justin Jackson - Marketing for Developers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c4a0506a-03a1-45b6-87d1-47f0fe0d84db</guid>
      <link>https://share.transistor.fm/s/0464e80a</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="https://justinjackson.ca/">Justin's Blog</a></li><li><a href="http://devmarketing.xyz/">Marketing for Developers</a>, Justin's latest book</li><li><a href="http://megamaker.co/">MegaMaker Podcast</a></li><li><a href="http://buildandlaunch.net/">Build and Launch Podcast</a></li><li><a href="http://productpeople.tv/">Product People Podcast</a></li><li><a href="http://www.networkeffects.me/">Network Effects</a></li><li><a href="http://remoteworkers.club/">Remote Workers Club</a></li><li><a href="https://baremetrics.com/">Baremetrics</a></li><li><a href="https://ninjasandrobots.com/">Nate Kontny's Blog</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="https://justinjackson.ca/">Justin's Blog</a></li><li><a href="http://devmarketing.xyz/">Marketing for Developers</a>, Justin's latest book</li><li><a href="http://megamaker.co/">MegaMaker Podcast</a></li><li><a href="http://buildandlaunch.net/">Build and Launch Podcast</a></li><li><a href="http://productpeople.tv/">Product People Podcast</a></li><li><a href="http://www.networkeffects.me/">Network Effects</a></li><li><a href="http://remoteworkers.club/">Remote Workers Club</a></li><li><a href="https://baremetrics.com/">Baremetrics</a></li><li><a href="https://ninjasandrobots.com/">Nate Kontny's Blog</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 24 May 2016 13:40:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/0464e80a/63f06103.mp3" length="50631272" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/-PTSKihmZ-TtQ8Tg597A2bl-r1Z08ehwcLPbc3cDWfY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwMy8x/NTk3OTQzODc3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3159</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Justin Jackson, maker extraordinaire, about how to find new product ideas, finding customers for your products, and marketing for developers.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Justin Jackson, maker extraordinaire, about how to find new product ideas, finding customers for your products, and marketing for developers.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>41: Jason McCreary - Git Tips, Tricks and Workflows</title>
      <itunes:episode>41</itunes:episode>
      <podcast:episode>41</podcast:episode>
      <itunes:title>41: Jason McCreary - Git Tips, Tricks and Workflows</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">65cfbe5d-7eca-4e9b-a59c-0dbfcb678c07</guid>
      <link>https://share.transistor.fm/s/244d428a</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="http://laracon.eu/2016/">Laracon EU 2016</a></li><li><a href="https://git-scm.com/book/en/v2">Pro Git</a>, free online Git book</li><li><a href="http://johnkary.net/blog/git-add-p-the-most-powerful-git-feature-youre-not-using-yet/">git add -p</a></li><li><a href="http://chris.beams.io/posts/git-commit/">"How to Write a Git Commit Message"</a>, by Chris Beams</li><li><a href="http://nvie.com/posts/a-successful-git-branching-model/">Git Flow</a></li><li><a href="https://guides.github.com/introduction/flow/">GitHub Flow</a></li><li><a href="https://hub.github.com/">GitHub CLI tool</a></li><li><a href="https://desktop.github.com/">GitHub for Desktop</a></li><li><a href="https://www.destroyallsoftware.com/screencasts">Destroy All Software</a> screencasts</li><li><a href="https://github.com/git/git/tree/master/contrib/completion">Git shell completion</a></li><li><a href="https://gist.github.com/adamwathan/00210967b76b5ed7a3ae57acce7b3f58">Jason's Git aliases</a></li><li><a href="http://jason.pureconcepts.net/2016/04/mentoring-pair-programming-development-coaching/">Mentoring and Coaching with Jason</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="http://laracon.eu/2016/">Laracon EU 2016</a></li><li><a href="https://git-scm.com/book/en/v2">Pro Git</a>, free online Git book</li><li><a href="http://johnkary.net/blog/git-add-p-the-most-powerful-git-feature-youre-not-using-yet/">git add -p</a></li><li><a href="http://chris.beams.io/posts/git-commit/">"How to Write a Git Commit Message"</a>, by Chris Beams</li><li><a href="http://nvie.com/posts/a-successful-git-branching-model/">Git Flow</a></li><li><a href="https://guides.github.com/introduction/flow/">GitHub Flow</a></li><li><a href="https://hub.github.com/">GitHub CLI tool</a></li><li><a href="https://desktop.github.com/">GitHub for Desktop</a></li><li><a href="https://www.destroyallsoftware.com/screencasts">Destroy All Software</a> screencasts</li><li><a href="https://github.com/git/git/tree/master/contrib/completion">Git shell completion</a></li><li><a href="https://gist.github.com/adamwathan/00210967b76b5ed7a3ae57acce7b3f58">Jason's Git aliases</a></li><li><a href="http://jason.pureconcepts.net/2016/04/mentoring-pair-programming-development-coaching/">Mentoring and Coaching with Jason</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 04 May 2016 15:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/244d428a/afc99f34.mp3" length="61736040" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/6ckH0z4ZEt_CU76F27IjGJFZDSut9YgAFhn_kFuZuYw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwMi8x/NTk3OTQzODc1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3853</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jason McCreary, creator of Laravel Shift, about Git tips, tricks, and best practices, and how to develop a solid Git workflow for your team.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jason McCreary, creator of Laravel Shift, about Git tips, tricks, and best practices, and how to develop a solid Git workflow for your team.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>40: Edd Mann - You Should Switch to Postgres</title>
      <itunes:episode>40</itunes:episode>
      <podcast:episode>40</podcast:episode>
      <itunes:title>40: Edd Mann - You Should Switch to Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a176996f-d9ee-45cd-a632-60e51a35403e</guid>
      <link>https://share.transistor.fm/s/588dd467</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="http://eddmann.com/">Edd's Blog</a></li><li><a href="http://www.postgresql.org/">PostgreSQL</a></li><li><a href="https://en.wikipedia.org/wiki/ACID">ACID</a></li><li><a href="https://blog.heroku.com/archives/2013/6/5/javascript_in_your_postgres">Using JavaScript in Postgres</a></li><li><a href="http://www.postgresql.org/docs/8.0/static/indexes-partial.html">Partial Indexes</a></li><li><a href="https://blog.codeship.com/unleash-the-power-of-storing-json-in-postgres/">Using JSON in Postgres</a></li><li><a href="http://www.craigkerstiens.com/2013/11/18/best-postgres-feature-youre-not-using/">Common Table Expressions</a></li><li><a href="http://postgresapp.com/">Postgres.app</a></li><li><a href="https://www.navicat.com/products/navicat-for-postgresql">Navicat for Postgres</a></li><li><a href="http://www.pgadmin.org/">pgAdmin</a></li><li><a href="https://momjian.us/">Bruce Momjian's homepage</a>, recommended by Edd</li><li><a href="https://www.youtube.com/watch?v=P5iZri9s0WQ">Explaining the Postgres Query Optimizer</a></li><li><a href="https://www.youtube.com/watch?v=JFh22atXTRQ">PostgreSQL Internals Through Pictures</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="http://eddmann.com/">Edd's Blog</a></li><li><a href="http://www.postgresql.org/">PostgreSQL</a></li><li><a href="https://en.wikipedia.org/wiki/ACID">ACID</a></li><li><a href="https://blog.heroku.com/archives/2013/6/5/javascript_in_your_postgres">Using JavaScript in Postgres</a></li><li><a href="http://www.postgresql.org/docs/8.0/static/indexes-partial.html">Partial Indexes</a></li><li><a href="https://blog.codeship.com/unleash-the-power-of-storing-json-in-postgres/">Using JSON in Postgres</a></li><li><a href="http://www.craigkerstiens.com/2013/11/18/best-postgres-feature-youre-not-using/">Common Table Expressions</a></li><li><a href="http://postgresapp.com/">Postgres.app</a></li><li><a href="https://www.navicat.com/products/navicat-for-postgresql">Navicat for Postgres</a></li><li><a href="http://www.pgadmin.org/">pgAdmin</a></li><li><a href="https://momjian.us/">Bruce Momjian's homepage</a>, recommended by Edd</li><li><a href="https://www.youtube.com/watch?v=P5iZri9s0WQ">Explaining the Postgres Query Optimizer</a></li><li><a href="https://www.youtube.com/watch?v=JFh22atXTRQ">PostgreSQL Internals Through Pictures</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 19 Apr 2016 14:41:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/588dd467/52f16087.mp3" length="49811844" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/B8izJ_bpF2ZZWxHH9QPSN9DZVb7iq7EMP2_W1PLTNo4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwMS8x/NTk3OTQzODczLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3107</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Edd Mann, host of Three Devs and a Maybe, about the advantages of using PostgreSQL over MySQL, common obstacles people running into when switching to Postgres, and deciding when to push work into the database instead of doing it in code.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Edd Mann, host of Three Devs and a Maybe, about the advantages of using PostgreSQL over MySQL, common obstacles people running into when switching to Postgres, and deciding when to push work into the database instead of doin</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>39: Michael Feathers - First Class Error Handling, Tell Don't Ask, and Collection Pipelines</title>
      <itunes:episode>39</itunes:episode>
      <podcast:episode>39</podcast:episode>
      <itunes:title>39: Michael Feathers - First Class Error Handling, Tell Don't Ask, and Collection Pipelines</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5b9badd4-8f58-4599-ac2b-cf25d162c752</guid>
      <link>https://share.transistor.fm/s/51c051dc</link>
      <description>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="https://michaelfeathers.silvrback.com/">Michael's Blog</a></li><li><a href="http://www.r7krecon.com/">r7k</a>, Michael's company</li><li><a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052?ie=UTF8&amp;*Version*=1&amp;*entries*=0">Working Effectively with Legacy Code</a></li><li><a href="https://en.wikipedia.org/wiki/Null_Object_pattern">The Null Object Pattern</a></li><li><a href="https://en.wikibooks.org/wiki/Haskell/Understanding_monads/Maybe">The Haskell Maybe Monad</a></li><li><a href="http://giantrobots.fm/10">Giant Robots podcast on Tell Don't Ask vs. SRP</a></li><li><a href="http://learnyouahaskell.com/">Learn You a Haskell</a></li><li><a href="http://tryapl.org/">APL Programming Language</a></li><li><a href="https://www.youtube.com/watch?v=UX7xmhpUoi4">Michael's Arrays on Steroids presentation</a></li><li><a href="https://michaelfeathers.silvrback.com/moving-quickly-with-compositional-chains">Building guitar tab with collection pipelines</a></li><li><a href="https://twitter.com/mfeathers/status/659152253274693632">The Spaceship Operator Tweet</a></li><li><a href="https://www.agilealliance.org/agile-alliance-technical-conference-2016/">The Agile Alliance Technical Conference</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sponsors:</p><ul><li><a href="https://laracasts.com">Laracasts</a>, use coupon code FULLSTACK2016 for 50% off your first month</li><li><a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li></ul><p>Links:</p><ul><li><a href="http://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book</li><li><a href="https://michaelfeathers.silvrback.com/">Michael's Blog</a></li><li><a href="http://www.r7krecon.com/">r7k</a>, Michael's company</li><li><a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052?ie=UTF8&amp;*Version*=1&amp;*entries*=0">Working Effectively with Legacy Code</a></li><li><a href="https://en.wikipedia.org/wiki/Null_Object_pattern">The Null Object Pattern</a></li><li><a href="https://en.wikibooks.org/wiki/Haskell/Understanding_monads/Maybe">The Haskell Maybe Monad</a></li><li><a href="http://giantrobots.fm/10">Giant Robots podcast on Tell Don't Ask vs. SRP</a></li><li><a href="http://learnyouahaskell.com/">Learn You a Haskell</a></li><li><a href="http://tryapl.org/">APL Programming Language</a></li><li><a href="https://www.youtube.com/watch?v=UX7xmhpUoi4">Michael's Arrays on Steroids presentation</a></li><li><a href="https://michaelfeathers.silvrback.com/moving-quickly-with-compositional-chains">Building guitar tab with collection pipelines</a></li><li><a href="https://twitter.com/mfeathers/status/659152253274693632">The Spaceship Operator Tweet</a></li><li><a href="https://www.agilealliance.org/agile-alliance-technical-conference-2016/">The Agile Alliance Technical Conference</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 05 Apr 2016 22:15:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/51c051dc/757b26ac.mp3" length="56686465" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/T24PSfT7UHb9mO0mGQLfwa_kODfEZ6w_db40rWL-C88/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzkwMC8x/NTk3OTQzODcwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3537</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Michael Feathers, author of Working Effectively with Legacy Code, about strategies for writing cleaner error handling code, the "tell don't ask" principle, and transforming data with collection pipelines.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Michael Feathers, author of Working Effectively with Legacy Code, about strategies for writing cleaner error handling code, the "tell don't ask" principle, and transforming data with collection pipelines.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>38: J.B. Rainsberger - Unit Testability and the Universal Architecture</title>
      <itunes:episode>38</itunes:episode>
      <podcast:episode>38</podcast:episode>
      <itunes:title>38: J.B. Rainsberger - Unit Testability and the Universal Architecture</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a82207c1-3d60-41a9-b482-ac1de13b6c59</guid>
      <link>https://share.transistor.fm/s/d69d3ca7</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="http://blog.jbrains.ca/">J.B.'s Blog</a></li><li><a href="https://vimeo.com/80533536">Integrated Tests are a Scam</a></li><li><a href="http://www.jmock.org/oopsla2004.pdf">Mock Roles, not Objects</a></li><li><a href="http://blog.jbrains.ca/permalink/the-four-elements-of-simple-design">The Four Elements of Simple Design</a></li><li><a href="http://ask.jbrains.ca">Ask J.B. a question</a></li><li><a href="http://online-training.jbrains.ca/courses/wbitdd-01">J.B.'s Intro to TDD Course</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="http://blog.jbrains.ca/">J.B.'s Blog</a></li><li><a href="https://vimeo.com/80533536">Integrated Tests are a Scam</a></li><li><a href="http://www.jmock.org/oopsla2004.pdf">Mock Roles, not Objects</a></li><li><a href="http://blog.jbrains.ca/permalink/the-four-elements-of-simple-design">The Four Elements of Simple Design</a></li><li><a href="http://ask.jbrains.ca">Ask J.B. a question</a></li><li><a href="http://online-training.jbrains.ca/courses/wbitdd-01">J.B.'s Intro to TDD Course</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 23 Mar 2016 09:28:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/d69d3ca7/1dd25c72.mp3" length="46700708" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Oz2CqE9bCoR5vRjzlJWS9Qs6UoWFvoRQlt3v-aBHcoI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5OS8x/NTk3OTQzODY3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3884</itunes:duration>
      <itunes:summary>In this episode, Adam talks to J.B. Rainsberger about how to keep your adapter layer thin, designing unit testable code, and the importance of paying attention to how your code is changing vs. how your code looks today.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to J.B. Rainsberger about how to keep your adapter layer thin, designing unit testable code, and the importance of paying attention to how your code is changing vs. how your code looks today.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>37: Chris Hartjes - Getting Started with Testing</title>
      <itunes:episode>37</itunes:episode>
      <podcast:episode>37</podcast:episode>
      <itunes:title>37: Chris Hartjes - Getting Started with Testing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f5ab4108-5041-4476-94ac-db93682b239b</guid>
      <link>https://share.transistor.fm/s/86c91167</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Recommended testing tools</li><li>PHPUnit vs. phpspec</li><li>Mockery vs. Prophecy</li><li>The benefits of defensive programming</li><li>How to convince your manager to let you write tests</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="https://leanpub.com/minimumviabletests">Minimum Viable Tests</a>, Chris' new book</li><li><a href="https://grumpy-learning.com/">Grumpy Learning</a>, Chris' personal website</li><li><a href="https://phpunit.de/">PHPUnit</a> testing framework</li><li><a href="http://phpspec.readthedocs.org/en/latest/">phpspec</a> testing framework</li><li><a href="https://github.com/padraic/mockery">Mockery</a> test double library</li><li><a href="https://github.com/phpspec/prophecy">Prophecy</a> test double library</li><li><a href="https://github.com/antecedent/patchwork">Patchwork</a> monkey patching library</li><li><a href="http://devhell.info/">Development Hell</a>, Chris and Ed Finkler's podcast</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Recommended testing tools</li><li>PHPUnit vs. phpspec</li><li>Mockery vs. Prophecy</li><li>The benefits of defensive programming</li><li>How to convince your manager to let you write tests</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="https://leanpub.com/minimumviabletests">Minimum Viable Tests</a>, Chris' new book</li><li><a href="https://grumpy-learning.com/">Grumpy Learning</a>, Chris' personal website</li><li><a href="https://phpunit.de/">PHPUnit</a> testing framework</li><li><a href="http://phpspec.readthedocs.org/en/latest/">phpspec</a> testing framework</li><li><a href="https://github.com/padraic/mockery">Mockery</a> test double library</li><li><a href="https://github.com/phpspec/prophecy">Prophecy</a> test double library</li><li><a href="https://github.com/antecedent/patchwork">Patchwork</a> monkey patching library</li><li><a href="http://devhell.info/">Development Hell</a>, Chris and Ed Finkler's podcast</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 09 Mar 2016 10:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/86c91167/8ec7e6b7.mp3" length="31451476" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/vVwJFMLTLodoZpqNiSkVHPm2FCdo1AcouFxdvpiYQZY/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5OC8x/NTk3OTQzODY1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2613</itunes:duration>
      <itunes:summary>In this episode, Adam talks to the Grumpy Programmer himself about getting started with testing PHP applications.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to the Grumpy Programmer himself about getting started with testing PHP applications.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>36: Jason McCreary - Building Laravel Shift</title>
      <itunes:episode>36</itunes:episode>
      <podcast:episode>36</podcast:episode>
      <itunes:title>36: Jason McCreary - Building Laravel Shift</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0609f0b8-53cf-4884-8bf6-29cfac4ad0db</guid>
      <link>https://share.transistor.fm/s/2c3c0897</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="https://laravelshift.com/">Shift</a></li><li><a href="https://laravel.com/">Laravel</a></li><li><a href="http://www.pocketbracket.com/">PocketBracket</a></li><li><a href="https://laravel.com/docs/5.2/billing">Laravel Cashier</a></li><li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">Abstract Syntax Tree</a></li><li><a href="http://redis.io/topics/data-types#sorted-sets">Sorted sets in Redis</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links:</p><ul><li><a href="https://laravelshift.com/">Shift</a></li><li><a href="https://laravel.com/">Laravel</a></li><li><a href="http://www.pocketbracket.com/">PocketBracket</a></li><li><a href="https://laravel.com/docs/5.2/billing">Laravel Cashier</a></li><li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">Abstract Syntax Tree</a></li><li><a href="http://redis.io/topics/data-types#sorted-sets">Sorted sets in Redis</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 25 Feb 2016 14:41:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/2c3c0897/4d90cb96.mp3" length="23524458" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/og4QiR4FKZ4fBQNM2jNI6yIzQu_v7EzvX1o5xMbjIBk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5Ny8x/NTk3OTQzODY0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>1953</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jason McCreary about building Shift, a tool that automates upgrading your application between framework versions.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jason McCreary about building Shift, a tool that automates upgrading your application between framework versions.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>35: Jonathan Reinink - Fixing Common API Design Mistakes</title>
      <itunes:episode>35</itunes:episode>
      <podcast:episode>35</podcast:episode>
      <itunes:title>35: Jonathan Reinink - Fixing Common API Design Mistakes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">66e983fb-4f37-4928-963c-dcbc4f4400a2</guid>
      <link>https://share.transistor.fm/s/53787358</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Does it make sense to scope resources to the authenticated user or should you always use sub-resources?</li><li>When to use nested resources and when to avoid them</li><li>Strategies for dealing with actions that don't seem to fit into REST</li><li>Breaking the mapping between your API and your database</li><li>Using singular sub-resources and optional fields to simplify your responses</li></ul><p>Links:</p><ul><li><a href="http://reinink.ca/">Jonathan's personal website</a></li><li><a href="http://platesphp.com/">Plates templating library</a></li><li><a href="http://glide.thephpleague.com/">Glide image manipulation library</a></li><li><a href="http://weblog.jamisbuck.org/2007/2/5/nesting-resources">Nesting resources</a> by Jamis Buck</li><li><a href="http://adamwathan.me/2014/04/12/theres-a-model-hiding-in-your-rest-api">There's a model hiding in your REST API</a></li><li><a href="https://apisyouwonthate.com/">Build APIs You Won't Hate</a> by Phil Sturgeon</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Does it make sense to scope resources to the authenticated user or should you always use sub-resources?</li><li>When to use nested resources and when to avoid them</li><li>Strategies for dealing with actions that don't seem to fit into REST</li><li>Breaking the mapping between your API and your database</li><li>Using singular sub-resources and optional fields to simplify your responses</li></ul><p>Links:</p><ul><li><a href="http://reinink.ca/">Jonathan's personal website</a></li><li><a href="http://platesphp.com/">Plates templating library</a></li><li><a href="http://glide.thephpleague.com/">Glide image manipulation library</a></li><li><a href="http://weblog.jamisbuck.org/2007/2/5/nesting-resources">Nesting resources</a> by Jamis Buck</li><li><a href="http://adamwathan.me/2014/04/12/theres-a-model-hiding-in-your-rest-api">There's a model hiding in your REST API</a></li><li><a href="https://apisyouwonthate.com/">Build APIs You Won't Hate</a> by Phil Sturgeon</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Feb 2016 14:14:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/53787358/b8142d11.mp3" length="35761658" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/fvbBVYF6j8ieeAGYeCVj8TGBzq4-kK1BbiYaRWhXc1M/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5Ni8x/NTk3OTQzODYzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2973</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jonathan Reinink of Code Distillery about common API design challenges and how to fix them.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jonathan Reinink of Code Distillery about common API design challenges and how to fix them.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>34: Matt Machuga - Dealing with Dependencies in Active Record Models</title>
      <itunes:episode>34</itunes:episode>
      <podcast:episode>34</podcast:episode>
      <itunes:title>34: Matt Machuga - Dealing with Dependencies in Active Record Models</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0da94cf1-e4c8-4e9d-bcda-19c6680804cb</guid>
      <link>https://share.transistor.fm/s/195242f2</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Are facades and service location automatically bad?</li><li>Are NounVerber classes anti-OO?</li><li>Adding a layer of composition to create domain models with dependencies</li><li>Using method injection for a temporary dependency</li><li>Using optional parameters to improve testability</li></ul><p>Code snippets:</p><ul><li>Option 1: <a href="https://gist.github.com/adamwathan/c28a1106263ab97ca4e0">Facades/Service Location/Global Access</a></li><li>Option 2: <a href="https://gist.github.com/adamwathan/feaa708369450376b404">Moving the responsibility to a new class</a></li><li>Option 3: <a href="https://gist.github.com/adamwathan/2ccbc0f6fe3f3b31ed3d">Composing a new domain model</a></li><li>Option 4a: <a href="https://gist.github.com/adamwathan/09e41497dbd263caaf6c">Inject the dependency into the method</a></li><li>Option 4b: <a href="https://gist.github.com/adamwathan/5103581df3a5507b8ac2">Optional method injection w/global fallback</a></li></ul><p>Links:</p><ul><li><a href="http://matthewmachuga.com/">Matt's blog</a></li><li><a href="http://jupitermoonbeam.blogspot.ca/2008/09/agent-nouns-are-code-smells.html">"Agent nouns are code smells"</a> by Peter Gillard-Moss</li><li><a href="https://nitpick-ci.com">Nitpick CI</a>, Adam's PSR-2 style checking service</li><li><a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">"Dependency injection is not a virtue"</a> by DHH</li><li><a href="http://eriedayofcode.com/">Erie Day of Code</a>, Matt's conference</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Are facades and service location automatically bad?</li><li>Are NounVerber classes anti-OO?</li><li>Adding a layer of composition to create domain models with dependencies</li><li>Using method injection for a temporary dependency</li><li>Using optional parameters to improve testability</li></ul><p>Code snippets:</p><ul><li>Option 1: <a href="https://gist.github.com/adamwathan/c28a1106263ab97ca4e0">Facades/Service Location/Global Access</a></li><li>Option 2: <a href="https://gist.github.com/adamwathan/feaa708369450376b404">Moving the responsibility to a new class</a></li><li>Option 3: <a href="https://gist.github.com/adamwathan/2ccbc0f6fe3f3b31ed3d">Composing a new domain model</a></li><li>Option 4a: <a href="https://gist.github.com/adamwathan/09e41497dbd263caaf6c">Inject the dependency into the method</a></li><li>Option 4b: <a href="https://gist.github.com/adamwathan/5103581df3a5507b8ac2">Optional method injection w/global fallback</a></li></ul><p>Links:</p><ul><li><a href="http://matthewmachuga.com/">Matt's blog</a></li><li><a href="http://jupitermoonbeam.blogspot.ca/2008/09/agent-nouns-are-code-smells.html">"Agent nouns are code smells"</a> by Peter Gillard-Moss</li><li><a href="https://nitpick-ci.com">Nitpick CI</a>, Adam's PSR-2 style checking service</li><li><a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">"Dependency injection is not a virtue"</a> by DHH</li><li><a href="http://eriedayofcode.com/">Erie Day of Code</a>, Matt's conference</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 27 Jan 2016 13:12:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/195242f2/b05eec39.mp3" length="27963490" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/4ekRMNU-wJ0QmMCAkqPK0Ndx1H6CV-SPbhZ-SlRASKg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5NS8x/NTk3OTQzODYxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2323</itunes:duration>
      <itunes:summary>In this episode, Matt Machuga of Think Through Math returns to talk with Adam about design options when you find yourself wanting access to a collaborator in an Active Record or Eloquent model. They discuss the pros and cons of four specific designs, and finish off with their personal recommendations.</itunes:summary>
      <itunes:subtitle>In this episode, Matt Machuga of Think Through Math returns to talk with Adam about design options when you find yourself wanting access to a collaborator in an Active Record or Eloquent model. They discuss the pros and cons of four specific designs, and </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>33: David Hemphill - Building PushSilver with Vue.js and Beard</title>
      <itunes:episode>33</itunes:episode>
      <podcast:episode>33</podcast:episode>
      <itunes:title>33: David Hemphill - Building PushSilver with Vue.js and Beard</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">85c933d4-18f9-4641-8189-452f9ef8e230</guid>
      <link>https://share.transistor.fm/s/cfa5757d</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Deciding when to build something yourself vs. paying for something off the shelf</li><li>Choosing a Javascript framework for more traditional server rendered apps</li><li>Vue.js compared to Angular and Ember</li><li>The advantages of using a utility-focused CSS approach</li><li>Distributing front-end libraries</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links</p><ul><li><a href="http://davidhemphill.com/">David's personal site</a></li><li><a href="http://pushsilver.com">PushSilver</a></li><li><a href="https://laravel.com">Laravel PHP Framework</a></li><li><a href="https://digitalocean.com">DigitalOcean</a></li><li><a href="http://vuejs.org">Vue.js</a></li><li><a href="https://medium.com/designing-medium/crafting-link-underlines-on-medium-7c03a9274f9">"Crafting link underlines on Medium"</a></li><li><a href="http://buildwithbeard.com">Beard CSS Framework</a></li><li><a href="http://dev.buildwithbeard.com">Beard documentation</a></li><li><a href="https://www.pluralsight.com/courses/play-by-play-ryan-singer">Peepcode Play by Play with Ryan Singer</a></li><li><a href="https://speakerdeck.com/dafed/managing-css-projects-with-itcss">Harry Roberts presentation on ITCSS</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Deciding when to build something yourself vs. paying for something off the shelf</li><li>Choosing a Javascript framework for more traditional server rendered apps</li><li>Vue.js compared to Angular and Ember</li><li>The advantages of using a utility-focused CSS approach</li><li>Distributing front-end libraries</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links</p><ul><li><a href="http://davidhemphill.com/">David's personal site</a></li><li><a href="http://pushsilver.com">PushSilver</a></li><li><a href="https://laravel.com">Laravel PHP Framework</a></li><li><a href="https://digitalocean.com">DigitalOcean</a></li><li><a href="http://vuejs.org">Vue.js</a></li><li><a href="https://medium.com/designing-medium/crafting-link-underlines-on-medium-7c03a9274f9">"Crafting link underlines on Medium"</a></li><li><a href="http://buildwithbeard.com">Beard CSS Framework</a></li><li><a href="http://dev.buildwithbeard.com">Beard documentation</a></li><li><a href="https://www.pluralsight.com/courses/play-by-play-ryan-singer">Peepcode Play by Play with Ryan Singer</a></li><li><a href="https://speakerdeck.com/dafed/managing-css-projects-with-itcss">Harry Roberts presentation on ITCSS</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 12 Jan 2016 13:19:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/cfa5757d/2e126319.mp3" length="30868951" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/_nVIHYa8vws1zY8uFuOCCe2Te4YrH72FkcPOm75ckjE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5NC8x/NTk3OTQzODYwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2565</itunes:duration>
      <itunes:summary>In this episode, Adam talks to David Hemphill about his latest project PushSilver.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to David Hemphill about his latest project PushSilver.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>32: DHH - Building Basecamp 3 like a Porsche 911</title>
      <itunes:episode>32</itunes:episode>
      <podcast:episode>32</podcast:episode>
      <itunes:title>32: DHH - Building Basecamp 3 like a Porsche 911</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">447602c8-4421-4846-967b-3707ad83fed2</guid>
      <link>https://share.transistor.fm/s/4fb19af8</link>
      <description>
        <![CDATA[<p>Topics include:</p><ul><li>Why Basecamp is a "majestic monolith", and the impact of organizational shape and size on technical decision making in product development</li><li>How ActionCable works, and where Basecamp 3 uses websockets that you might not expect</li><li>Strategies for avoiding duplication in client-side and server-side code</li><li>The automated testing strategy for Basecamp 3, and how it's influencing the future of testing in Rails 5</li><li>Why Basecamp 3 has 179 controllers, and what you can learn from their approach that will clean up your codebase</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links</p><ul><li><a href="https://basecamp.com/">Basecamp 3</a></li><li><a href="https://signalvnoise.com/posts/3959-rewrite-why-basecamp-3-is-a-brand-new-code">Business of Software talk on Rewriting Basecamp</a></li><li><a href="https://www.youtube.com/watch?v=KJVTM7mE1Cc">RailsConf presentation introducing ActionCable and Turbolinks 3</a></li><li><a href="http://trix-editor.org/">Trix</a>, Basecamp's new open source WYSIWYG editor</li><li><a href="https://twitter.com/dhh/status/656905137898786816">Rake Stats</a> for Basecamp 3</li><li><a href="http://weblog.rubyonrails.org/2015/12/18/Rails-5-0-beta1/">Rails 5.0.0.beta1 announcement</a></li><li><a href="https://medium.com/@dhh">DHH on Medium</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Topics include:</p><ul><li>Why Basecamp is a "majestic monolith", and the impact of organizational shape and size on technical decision making in product development</li><li>How ActionCable works, and where Basecamp 3 uses websockets that you might not expect</li><li>Strategies for avoiding duplication in client-side and server-side code</li><li>The automated testing strategy for Basecamp 3, and how it's influencing the future of testing in Rails 5</li><li>Why Basecamp 3 has 179 controllers, and what you can learn from their approach that will clean up your codebase</li></ul><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><p><br>Links</p><ul><li><a href="https://basecamp.com/">Basecamp 3</a></li><li><a href="https://signalvnoise.com/posts/3959-rewrite-why-basecamp-3-is-a-brand-new-code">Business of Software talk on Rewriting Basecamp</a></li><li><a href="https://www.youtube.com/watch?v=KJVTM7mE1Cc">RailsConf presentation introducing ActionCable and Turbolinks 3</a></li><li><a href="http://trix-editor.org/">Trix</a>, Basecamp's new open source WYSIWYG editor</li><li><a href="https://twitter.com/dhh/status/656905137898786816">Rake Stats</a> for Basecamp 3</li><li><a href="http://weblog.rubyonrails.org/2015/12/18/Rails-5-0-beta1/">Rails 5.0.0.beta1 announcement</a></li><li><a href="https://medium.com/@dhh">DHH on Medium</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 22 Dec 2015 08:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4fb19af8/f725e657.mp3" length="45155782" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/DqZuTwgx6duxWuy2LUmO2NMviBhTq4le_N3LABRU238/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5My8x/NTk3OTQzODU5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3755</itunes:duration>
      <itunes:summary>DHH returns to the podcast to talk in-depth about how Basecamp 3 is designed and implemented!</itunes:summary>
      <itunes:subtitle>DHH returns to the podcast to talk in-depth about how Basecamp 3 is designed and implemented!</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>31: Woody Zuill - #NoEstimates</title>
      <itunes:episode>31</itunes:episode>
      <podcast:episode>31</podcast:episode>
      <itunes:title>31: Woody Zuill - #NoEstimates</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">abbfdc98-2bc1-4431-a729-1f3007b2bdf3</guid>
      <link>https://share.transistor.fm/s/f1fd78bf</link>
      <description>
        <![CDATA[<p>They talk about the #NoEstimates hashtag, and what it means and where it came from. They also talk about ways to manage software projects without worrying about estimation, and alternative ways to make the decisions that estimates are usually used for.</p><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://zuill.us/WoodyZuill/beyond-estimates/">Woody's #NoEstimates blog posts</a></li><li><a href="http://neilkillick.com/2012/10/07/what-price-estimation/">"What price estimation?"</a> by Neil Killick</li><li><a href="http://www.developerdotstar.com/mag/articles/reeves_design.html">"What is software design?"</a> by Jack Reeves</li><li><a href="http://mobprogrammingconference.com">The Mob Programming Conference</a></li><li><a href="http://mobprogramming.org">MobProgramming.org</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about the #NoEstimates hashtag, and what it means and where it came from. They also talk about ways to manage software projects without worrying about estimation, and alternative ways to make the decisions that estimates are usually used for.</p><p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://zuill.us/WoodyZuill/beyond-estimates/">Woody's #NoEstimates blog posts</a></li><li><a href="http://neilkillick.com/2012/10/07/what-price-estimation/">"What price estimation?"</a> by Neil Killick</li><li><a href="http://www.developerdotstar.com/mag/articles/reeves_design.html">"What is software design?"</a> by Jack Reeves</li><li><a href="http://mobprogrammingconference.com">The Mob Programming Conference</a></li><li><a href="http://mobprogramming.org">MobProgramming.org</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 09 Dec 2015 03:49:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f1fd78bf/72f42de2.mp3" length="33339217" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/ArbRQsevyKcAcWrJmxBOPDApJIxNLkEwwOTKVeICjoM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5Mi8x/NTk3OTQzODU4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2771</itunes:duration>
      <itunes:summary>In this episode Adam talks to Woody Zuill about software project estimation.</itunes:summary>
      <itunes:subtitle>In this episode Adam talks to Woody Zuill about software project estimation.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>30: Evan You - Diving Deep into Vue.js</title>
      <itunes:episode>30</itunes:episode>
      <podcast:episode>30</podcast:episode>
      <itunes:title>30: Evan You - Diving Deep into Vue.js</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">193e390d-e410-4a61-8018-8ba862fd01c1</guid>
      <link>https://share.transistor.fm/s/f4af95c8</link>
      <description>
        <![CDATA[<p>Evan also explains in depth how data binding works in Vue, and how it's different and more performant than Angular. Additionally, Evan discusses the benefits of Vue over React, why Vue works so well in both SPAs and traditional server-side web applications, and strategies for testing Vue components.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://vuejs.org">Vue.js</a></li><li><a href="http://www.creativelab5.com/">Google Creative Lab</a></li><li><a href="http://www.newschool.edu/parsons/mfa-design-technology/">Parsons Design and Technology Program</a></li><li><a href="http://blog.evanyou.me/2015/10/25/vuejs-re-introduction/">Vue.js: A (Re)introduction</a></li><li><a href="https://webpack.github.io/">webpack</a></li><li><a href="http://nightwatchjs.org/">Nightwatch.js</a></li><li><a href="https://github.com/tmpvar/jsdom">jsdom</a></li><li><a href="http://karma-runner.github.io/0.13/index.html">Karma</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Evan also explains in depth how data binding works in Vue, and how it's different and more performant than Angular. Additionally, Evan discusses the benefits of Vue over React, why Vue works so well in both SPAs and traditional server-side web applications, and strategies for testing Vue components.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://vuejs.org">Vue.js</a></li><li><a href="http://www.creativelab5.com/">Google Creative Lab</a></li><li><a href="http://www.newschool.edu/parsons/mfa-design-technology/">Parsons Design and Technology Program</a></li><li><a href="http://blog.evanyou.me/2015/10/25/vuejs-re-introduction/">Vue.js: A (Re)introduction</a></li><li><a href="https://webpack.github.io/">webpack</a></li><li><a href="http://nightwatchjs.org/">Nightwatch.js</a></li><li><a href="https://github.com/tmpvar/jsdom">jsdom</a></li><li><a href="http://karma-runner.github.io/0.13/index.html">Karma</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 24 Nov 2015 01:21:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/f4af95c8/990459b8.mp3" length="26709220" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/WAHOZwsQLABAgg-zp1qo2-rr2SvQ4sewjLt_tu9vj-A/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5MS8x/NTk3OTQzODU2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2218</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Evan You, the creator of Vue.js. Evan talks about his time at Google Creative Lab and the sort of work that inspired him to create Vue.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Evan You, the creator of Vue.js. Evan talks about his time at Google Creative Lab and the sort of work that inspired him to create Vue.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>29: Mark Otto - Bootstrap 4 and CSS architecture at scale</title>
      <itunes:episode>29</itunes:episode>
      <podcast:episode>29</podcast:episode>
      <itunes:title>29: Mark Otto - Bootstrap 4 and CSS architecture at scale</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f0a720f0-8c24-4499-8fc6-2f14043e02cb</guid>
      <link>https://share.transistor.fm/s/bc548daf</link>
      <description>
        <![CDATA[<p>They talk about the brand new alpha release of Bootstrap 4 and some of the most significant changes. They also talk about choosing units, when to use utility classes and the importance of a component-based CSS strategy.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://markdotto.com/">Mark's blog</a></li><li><a href="http://v4-alpha.getbootstrap.com/">Bootstrap 4</a></li><li><a href="https://github.com/cssstats/cssstats">CSS Stats</a></li><li><a href="https://github.com/katiefenn/parker">Parker</a>, CSS analysis tool</li><li><a href="http://codeguide.co/">Code Guide</a>, Mark's HTML and CSS standards</li><li><a href="http://wtfhtmlcss.com/">WTF, HTML and CSS?</a>, Mark's collection of useful front-end gotchas</li><li><a href="http://www.basscss.com/">BassCSS</a></li><li><a href="http://tachyons.io/">Tachyons</a></li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">About HTML Semantics and Front-End Architecture</a> by <a href="https://twitter.com/necolas">Nicholas Gallagher</a></li><li><a href="https://medium.com/@fat/mediums-css-is-actually-pretty-fucking-good-b8e2a6c78b06">"Medium's CSS is actually pretty f***ing good."</a> by <a href="https://twitter.com/fat">@fat</a></li><li><a href="http://primercss.io/">GitHub Primer</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about the brand new alpha release of Bootstrap 4 and some of the most significant changes. They also talk about choosing units, when to use utility classes and the importance of a component-based CSS strategy.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://markdotto.com/">Mark's blog</a></li><li><a href="http://v4-alpha.getbootstrap.com/">Bootstrap 4</a></li><li><a href="https://github.com/cssstats/cssstats">CSS Stats</a></li><li><a href="https://github.com/katiefenn/parker">Parker</a>, CSS analysis tool</li><li><a href="http://codeguide.co/">Code Guide</a>, Mark's HTML and CSS standards</li><li><a href="http://wtfhtmlcss.com/">WTF, HTML and CSS?</a>, Mark's collection of useful front-end gotchas</li><li><a href="http://www.basscss.com/">BassCSS</a></li><li><a href="http://tachyons.io/">Tachyons</a></li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">About HTML Semantics and Front-End Architecture</a> by <a href="https://twitter.com/necolas">Nicholas Gallagher</a></li><li><a href="https://medium.com/@fat/mediums-css-is-actually-pretty-fucking-good-b8e2a6c78b06">"Medium's CSS is actually pretty f***ing good."</a> by <a href="https://twitter.com/fat">@fat</a></li><li><a href="http://primercss.io/">GitHub Primer</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 10 Nov 2015 10:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/bc548daf/553c3412.mp3" length="34792176" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/QjOojQyBJ9a_07iyAlYQWiXxtyiatbzsa8rgps6SDPQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg5MC8x/NTk3OTQzODU1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2892</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Mark Otto, creator of Bootstrap and director of design at GitHub.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Mark Otto, creator of Bootstrap and director of design at GitHub.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>28: Jeffrey Way and Dave Marshall - "Don't mock what you don't own"</title>
      <itunes:episode>28</itunes:episode>
      <podcast:episode>28</podcast:episode>
      <itunes:title>28: Jeffrey Way and Dave Marshall - "Don't mock what you don't own"</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8a105780-4939-4bc5-ac94-a8ed9e3fe89c</guid>
      <link>https://share.transistor.fm/s/6a8ec763</link>
      <description>
        <![CDATA[<p>They talk about how to design code that needs to work with external services, how you should test that code, and the pitfalls you run into when you use mocks incorrectly in your test suite.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://www.jmock.org/oopsla2004.pdf">Mock roles not objects</a>, the original paper</li><li><a href="http://blog.thecodewhisperer.com/2010/10/16/integrated-tests-are-a-scam/">Integrated tests are a scam</a> by J.B. Rainsberger</li><li>Eric Evans' <a href="http://www.domainlanguage.com/elearn/">Domain Language</a> e-course</li><li><a href="http://davedevelopment.co.uk/2015/10/26/setting-up-a-database-fixture.html">Effective tests: Setting up a database fixture</a> on Dave's blog</li><li><a href="https://laracasts.com/lessons/to-mock-external-services">Integration testing a Stripe wrapper</a> on Laracasts</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about how to design code that needs to work with external services, how you should test that code, and the pitfalls you run into when you use mocks incorrectly in your test suite.</p><p><br>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://www.jmock.org/oopsla2004.pdf">Mock roles not objects</a>, the original paper</li><li><a href="http://blog.thecodewhisperer.com/2010/10/16/integrated-tests-are-a-scam/">Integrated tests are a scam</a> by J.B. Rainsberger</li><li>Eric Evans' <a href="http://www.domainlanguage.com/elearn/">Domain Language</a> e-course</li><li><a href="http://davedevelopment.co.uk/2015/10/26/setting-up-a-database-fixture.html">Effective tests: Setting up a database fixture</a> on Dave's blog</li><li><a href="https://laracasts.com/lessons/to-mock-external-services">Integration testing a Stripe wrapper</a> on Laracasts</li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 27 Oct 2015 02:41:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/6a8ec763/a053096e.mp3" length="42045542" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/liPGzzthRFhpeD48qOswO-z525LnXRIZIJ31bqKC5mc/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4OS8x/NTk3OTQzODU0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3496</itunes:duration>
      <itunes:summary>In this episode, Adam talks to recurring guests Jeffrey Way and Dave Marshall about "don't mock what you don't own".</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to recurring guests Jeffrey Way and Dave Marshall about "don't mock what you don't own".</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>27: Ben Orenstein - Outside-in TDD and Dependency Injection in Rails</title>
      <itunes:episode>27</itunes:episode>
      <podcast:episode>27</podcast:episode>
      <itunes:title>27: Ben Orenstein - Outside-in TDD and Dependency Injection in Rails</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0124d2bf-8eed-498c-97cb-adbff4dbb96a</guid>
      <link>https://share.transistor.fm/s/fd6dd56e</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://www.benorenstein.com/blog/">Ben's blog</a></li><li><a href="https://upcase.com/coupons/full-stack">Upcase</a></li><li>DHH on <a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">"Dependency injection is not a virtue"</a></li><li><a href="http://www.benorenstein.com/blog/a-criticism-of-dhhs-post-on-dependency-injection/">A criticism of DHH's post on Dependency Injection</a></li><li><a href="https://upcase.com/videos/dependency-management-in-rails">Dependency Management in Rails</a> on Upcase</li><li><a href="http://www.amazon.com/gp/product/0201485672">Refactoring</a> by Martin Fowler</li><li><a href="https://leanpub.com/4rulesofsimpledesign">Understanding the 4 Rules of Simple Design</a> by Corey Haines</li><li><a href="https://upcase.com/coupons/full-stack">Coupon link for 50% off your first month of Upcase</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://www.benorenstein.com/blog/">Ben's blog</a></li><li><a href="https://upcase.com/coupons/full-stack">Upcase</a></li><li>DHH on <a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">"Dependency injection is not a virtue"</a></li><li><a href="http://www.benorenstein.com/blog/a-criticism-of-dhhs-post-on-dependency-injection/">A criticism of DHH's post on Dependency Injection</a></li><li><a href="https://upcase.com/videos/dependency-management-in-rails">Dependency Management in Rails</a> on Upcase</li><li><a href="http://www.amazon.com/gp/product/0201485672">Refactoring</a> by Martin Fowler</li><li><a href="https://leanpub.com/4rulesofsimpledesign">Understanding the 4 Rules of Simple Design</a> by Corey Haines</li><li><a href="https://upcase.com/coupons/full-stack">Coupon link for 50% off your first month of Upcase</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 13 Oct 2015 00:45:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/fd6dd56e/323f4686.mp3" length="26076864" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/r54iMvWxIGQpdG4Le0Uu9gsNr2zfnbWISswrlFUbbQQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4OC8x/NTk3OTQzODUyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2165</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ben Orenstein of thoughtbot about useful tips for writing the first few tests in your application and working your way down to the unit level by starting with acceptance tests. They also talk about why dependency injection has a bad rap in the Ruby world, and common mistakes Ben sees junior Rails developers make.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ben Orenstein of thoughtbot about useful tips for writing the first few tests in your application and working your way down to the unit level by starting with acceptance tests. They also talk about why dependency injection h</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>26: Josh Pigford - What do you need when you launch?</title>
      <itunes:episode>26</itunes:episode>
      <podcast:episode>26</podcast:episode>
      <itunes:title>26: Josh Pigford - What do you need when you launch?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aaba5527-2504-464f-949c-d17484a29da0</guid>
      <link>https://share.transistor.fm/s/34ff8059</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="https://baremetrics.com">Baremetrics</a></li><li><a href="https://baremetrics.com/blog/startup-insurance">"How to get startup insurance and avoid getting sued into oblivion"</a></li><li><a href="https://baremetrics.com/open">Open Startups</a></li><li><a href="https://www.youtube.com/watch?v=0CDXJ6bMkMY">DHH on The Secret to Making Money Online</a></li><li><a href="https://baremetrics.com/blog/gifs-feature-rollout">"Creating amazing GIFs to announce new features"</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="https://laracasts.com">Laracasts</a>.</p><ul><li><a href="https://baremetrics.com">Baremetrics</a></li><li><a href="https://baremetrics.com/blog/startup-insurance">"How to get startup insurance and avoid getting sued into oblivion"</a></li><li><a href="https://baremetrics.com/open">Open Startups</a></li><li><a href="https://www.youtube.com/watch?v=0CDXJ6bMkMY">DHH on The Secret to Making Money Online</a></li><li><a href="https://baremetrics.com/blog/gifs-feature-rollout">"Creating amazing GIFs to announce new features"</a></li><li>Sponsored by <a href="https://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 29 Sep 2015 01:40:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/34ff8059/f3a3939e.mp3" length="22793169" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/DYtL-Qn7ydGmkQ5SUUrqTCr8KcsTcz8X7tIqp-9uFGM/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4Ny8x/NTk3OTQzODUxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>1892</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Josh Pigford, founder of Baremetrics, about what you should have ready when you start a SaaS business. They also talk about how most businesses aren't doing as well as you think, content marketing, the benefits of different pricing models, and staying focused on your best idea.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Josh Pigford, founder of Baremetrics, about what you should have ready when you start a SaaS business. They also talk about how most businesses aren't doing as well as you think, content marketing, the benefits of different </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>25: Matt Machuga - Tips and tricks to make your code awesome</title>
      <itunes:episode>25</itunes:episode>
      <podcast:episode>25</podcast:episode>
      <itunes:title>25: Matt Machuga - Tips and tricks to make your code awesome</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f9f6a6e8-a401-42aa-b7e5-8068479278e3</guid>
      <link>https://share.transistor.fm/s/437379dd</link>
      <description>
        <![CDATA[<p>They talk about bringing functional programming concepts to OO, simple patterns for cleaning up typical MVC web app code, and about how imposing crazy rules like banning conditionals and loops can lead to creative solutions that change the way you think about solving problems. They also get a little too excited about anonymous functions and compositional chains.</p><p>This episode is brought to you by <a href="http://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://elm-lang.org/">Elm</a></li><li><a href="http://elixir-lang.org/">Elixir</a></li><li><a href="https://pragprog.com/book/elixir/programming-elixir">Programming Elixir</a>, from The Pragmatic Bookshelf</li><li><a href="http://typedclojure.org/">Typed Clojure</a></li><li><a href="https://en.wikipedia.org/wiki/Visitor_pattern">The Visitor Pattern</a>, which is not at all what we talked about</li><li>Adam's <a href="http://adamwathan.me/2015/01/01/refactoring-loops-and-conditionals/">Refactoring Loops and Conditionals</a> screencast</li><li><a href="https://michaelfeathers.silvrback.com/moving-quickly-with-compositional-chains">Michael Feathers' post</a> on compositional chains and guitar tab</li><li><a href="https://pragmaticstudio.com/elm">Pragmatic Studios Elm Course</a></li><li><a href="https://radiusco.work/">Radius CoWork</a> in Erie, PA</li><li>Sponsored by <a href="http://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about bringing functional programming concepts to OO, simple patterns for cleaning up typical MVC web app code, and about how imposing crazy rules like banning conditionals and loops can lead to creative solutions that change the way you think about solving problems. They also get a little too excited about anonymous functions and compositional chains.</p><p>This episode is brought to you by <a href="http://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://elm-lang.org/">Elm</a></li><li><a href="http://elixir-lang.org/">Elixir</a></li><li><a href="https://pragprog.com/book/elixir/programming-elixir">Programming Elixir</a>, from The Pragmatic Bookshelf</li><li><a href="http://typedclojure.org/">Typed Clojure</a></li><li><a href="https://en.wikipedia.org/wiki/Visitor_pattern">The Visitor Pattern</a>, which is not at all what we talked about</li><li>Adam's <a href="http://adamwathan.me/2015/01/01/refactoring-loops-and-conditionals/">Refactoring Loops and Conditionals</a> screencast</li><li><a href="https://michaelfeathers.silvrback.com/moving-quickly-with-compositional-chains">Michael Feathers' post</a> on compositional chains and guitar tab</li><li><a href="https://pragmaticstudio.com/elm">Pragmatic Studios Elm Course</a></li><li><a href="https://radiusco.work/">Radius CoWork</a> in Erie, PA</li><li>Sponsored by <a href="http://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 15 Sep 2015 00:55:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/437379dd/1c891305.mp3" length="36154834" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/x8L6qVcsMCwUvxqGrXOqyYp4Fb2LKtbVEKiTXxOAUHk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4Ni8x/NTk3OTQzODQ5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3005</itunes:duration>
      <itunes:summary>In this episode, Adam talks to recurring guest Matt Machuga about tips and tricks that lead to better code.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to recurring guest Matt Machuga about tips and tricks that lead to better code.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>24: Wes Bos - What the Flexbox?!</title>
      <itunes:episode>24</itunes:episode>
      <podcast:episode>24</podcast:episode>
      <itunes:title>24: Wes Bos - What the Flexbox?!</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a110d328-2043-427c-ba24-eb709e5ac3db</guid>
      <link>https://share.transistor.fm/s/b66c3b55</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://wesbos.com/blog/">Wes' Blog</a></li><li><a href="http://flexbox.io">"What the Flexbox?!"</a>, Wes' Flexbox training course</li><li><a href="http://v4-alpha.getbootstrap.com/">Bootstrap 4 alpha</a></li><li><a href="https://github.com/philipwalton/flexbugs">Flexbugs</a></li><li><a href="https://philipwalton.github.io/solved-by-flexbox/">Solved by Flexbox</a></li><li><a href="https://www.mozilla.org/en-US/firefox/developer/">Firefox Developer Edition</a></li><li><a href="http://facebook.github.io/react/">React</a></li><li><a href="http://wesbos.com/sublime-text-book/">Wes' Sublime Text book</a></li><li><a href="https://www.alfredapp.com/">Alfred</a></li><li><a href="https://packagecontrol.io/packages/GhostText">GhostText</a></li><li>Sponsored by <a href="http://laracasts.com">Laracasts</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://laracasts.com">Laracasts</a>.</p><ul><li><a href="http://wesbos.com/blog/">Wes' Blog</a></li><li><a href="http://flexbox.io">"What the Flexbox?!"</a>, Wes' Flexbox training course</li><li><a href="http://v4-alpha.getbootstrap.com/">Bootstrap 4 alpha</a></li><li><a href="https://github.com/philipwalton/flexbugs">Flexbugs</a></li><li><a href="https://philipwalton.github.io/solved-by-flexbox/">Solved by Flexbox</a></li><li><a href="https://www.mozilla.org/en-US/firefox/developer/">Firefox Developer Edition</a></li><li><a href="http://facebook.github.io/react/">React</a></li><li><a href="http://wesbos.com/sublime-text-book/">Wes' Sublime Text book</a></li><li><a href="https://www.alfredapp.com/">Alfred</a></li><li><a href="https://packagecontrol.io/packages/GhostText">GhostText</a></li><li>Sponsored by <a href="http://laracasts.com">Laracasts</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 01 Sep 2015 20:20:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b66c3b55/5e9b851a.mp3" length="27617168" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/xcV2AUHGYOsep_XL7Tg1WxX4nGQtJLKFblNuSqMco24/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4NS8x/NTk3OTQzODQ4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2294</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Wes Bos about solving all of your CSS problems with Flexbox. They also talk about Bootstrap 4, ReactJS, and Wes' favorite Sublime Text tips and tricks.

This episode is brought to you by Laracasts.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Wes Bos about solving all of your CSS problems with Flexbox. They also talk about Bootstrap 4, ReactJS, and Wes' favorite Sublime Text tips and tricks.

This episode is brought to you by Laracasts.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>23: Chris Hunt - How GitHub does remote work</title>
      <itunes:episode>23</itunes:episode>
      <podcast:episode>23</podcast:episode>
      <itunes:title>23: Chris Hunt - How GitHub does remote work</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3b9635d5-b441-44a2-836e-5663fc7378e0</guid>
      <link>https://share.transistor.fm/s/7595dae4</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://www.healthyhacker.com/">Healthy Hacker</a>, Chris' podcast</li><li><a href="http://www.chrishunt.co/talks/2014/10/24/solving_the_rubiks_cube_blindfolded.html">"Solving the Rubik's Cube Blindfolded"</a> and more of Chris' <a href="http://www.chrishunt.co/talks/">talks</a></li><li><a href="https://github.com/blog/1124-how-we-use-pull-requests-to-build-github">"How we use Pull Requests to build GitHub"</a></li><li><a href="https://robots.thoughtbot.com/you-should-take-a-codecation">"You should take a Codecation"</a></li><li><a href="https://twitter.com/r00k">Ben Orenstein</a>'s <a href="https://www.youtube.com/watch?t=108&amp;v=rOE9ydzHQ88">Codecation presentation</a></li><li><a href="https://www.trailmix.life/landing">Trailmix</a></li><li><a href="https://instagram.com/huntca/">Chris' Motorcycle Adventures</a> on Instagram</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://www.healthyhacker.com/">Healthy Hacker</a>, Chris' podcast</li><li><a href="http://www.chrishunt.co/talks/2014/10/24/solving_the_rubiks_cube_blindfolded.html">"Solving the Rubik's Cube Blindfolded"</a> and more of Chris' <a href="http://www.chrishunt.co/talks/">talks</a></li><li><a href="https://github.com/blog/1124-how-we-use-pull-requests-to-build-github">"How we use Pull Requests to build GitHub"</a></li><li><a href="https://robots.thoughtbot.com/you-should-take-a-codecation">"You should take a Codecation"</a></li><li><a href="https://twitter.com/r00k">Ben Orenstein</a>'s <a href="https://www.youtube.com/watch?t=108&amp;v=rOE9ydzHQ88">Codecation presentation</a></li><li><a href="https://www.trailmix.life/landing">Trailmix</a></li><li><a href="https://instagram.com/huntca/">Chris' Motorcycle Adventures</a> on Instagram</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 04 Aug 2015 13:59:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7595dae4/3186a010.mp3" length="27548920" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/uo_yZ7DkLT-wx4J_yJK6ndYrEHdXu08m-Rlifb6018Q/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4NC8x/NTk3OTQzODQ3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2288</itunes:duration>
      <itunes:summary>In this episode, Adam talks to the Healthy Hacker, Chris Hunt, about how his team at GitHub works remotely. They also talk about entertaining your audience at conferences, taking a Codecation, and adventure motorcycling.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to the Healthy Hacker, Chris Hunt, about how his team at GitHub works remotely. They also talk about entertaining your audience at conferences, taking a Codecation, and adventure motorcycling.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>22: Corey Haines - The 4 Rules of Simple Design</title>
      <itunes:episode>22</itunes:episode>
      <podcast:episode>22</podcast:episode>
      <itunes:title>22: Corey Haines - The 4 Rules of Simple Design</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aa58b743-f1b1-4b82-b6f8-ec6f3d02f4fe</guid>
      <link>https://share.transistor.fm/s/ad06edda</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://www.wearehearken.com">Hearken</a></li><li><a href="https://leanpub.com/4rulesofsimpledesign">Understanding the 4 Rules of Simple Design</a></li><li><a href="http://articles.coreyhaines.com/">Corey's Blog</a></li><li>Corey's post on <a href="http://articles.coreyhaines.com/posts/four-second-tests/">comparing test run speeds</a></li><li><a href="http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351">Refactoring to Patterns</a> by Josh Kerievsky</li><li><a href="https://www.youtube.com/watch?v=Is8ThG6Fetg">Maintaing Balance While Reducing Duplication</a> by David Chelimsky</li><li>J.B. Rainsberger on <a href="http://www.jbrains.ca/permalink/the-four-elements-of-simple-design">The Four Elements of Simple Design</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://www.wearehearken.com">Hearken</a></li><li><a href="https://leanpub.com/4rulesofsimpledesign">Understanding the 4 Rules of Simple Design</a></li><li><a href="http://articles.coreyhaines.com/">Corey's Blog</a></li><li>Corey's post on <a href="http://articles.coreyhaines.com/posts/four-second-tests/">comparing test run speeds</a></li><li><a href="http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351">Refactoring to Patterns</a> by Josh Kerievsky</li><li><a href="https://www.youtube.com/watch?v=Is8ThG6Fetg">Maintaing Balance While Reducing Duplication</a> by David Chelimsky</li><li>J.B. Rainsberger on <a href="http://www.jbrains.ca/permalink/the-four-elements-of-simple-design">The Four Elements of Simple Design</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 21 Jul 2015 11:08:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/ad06edda/6e5a3f06.mp3" length="46760654" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/LVTUWH5JKPiFaC72x_LaSwN87XAEpnVASXidZPgciog/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4My8x/NTk3OTQzODQ2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3889</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Corey Haines, author of "Understanding the 4 Rules of Simple Design". They talk about the importance of low-level design decisions, tricks for naming things well, why you shouldn't model your objects after the real world, and of course, Active Record.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Corey Haines, author of "Understanding the 4 Rules of Simple Design". They talk about the importance of low-level design decisions, tricks for naming things well, why you shouldn't model your objects after the real world, an</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>21: Chad Pytel - Sticking to your guns</title>
      <itunes:episode>21</itunes:episode>
      <podcast:episode>21</podcast:episode>
      <itunes:title>21: Chad Pytel - Sticking to your guns</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bcc026fe-5848-4cfa-81a6-b67c9dee7013</guid>
      <link>https://share.transistor.fm/s/d6a40da7</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://thoughtbot.com">thoughtbot</a></li><li>thoughtbot's <a href="http://playbook.thoughtbot.com/">Playbook</a></li><li><a href="https://robots.thoughtbot.com/the-product-design-sprint">The Product Design Sprint</a> on the Giant Robots blog</li><li><a href="https://robots.thoughtbot.com/converting-to-jobs-stories">Converting to Job Stories</a> on the Giant Robots blog</li><li><a href="http://formkeep.com">FormKeep</a>, thoughtbot's form endpoint service</li><li><a href="http://troposweather.com/">Tropos</a>, thoughtbot's open source iOS weather app</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://thoughtbot.com">thoughtbot</a></li><li>thoughtbot's <a href="http://playbook.thoughtbot.com/">Playbook</a></li><li><a href="https://robots.thoughtbot.com/the-product-design-sprint">The Product Design Sprint</a> on the Giant Robots blog</li><li><a href="https://robots.thoughtbot.com/converting-to-jobs-stories">Converting to Job Stories</a> on the Giant Robots blog</li><li><a href="http://formkeep.com">FormKeep</a>, thoughtbot's form endpoint service</li><li><a href="http://troposweather.com/">Tropos</a>, thoughtbot's open source iOS weather app</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 07 Jul 2015 00:17:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/d6a40da7/2354050e.mp3" length="35532404" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Cwmc30LfxfLgwpkPviJDE8nvV6kvoKUWIvsatn4YQDE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4Mi8x/NTk3OTQzODQ0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2953</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Chad Pytel, CEO of thoughtbot. Chad gives tips for balancing client work with internal product work, growing your client-base without compromising your principles, and applying Jobs to be Done to new client projects.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Chad Pytel, CEO of thoughtbot. Chad gives tips for balancing client work with internal product work, growing your client-base without compromising your principles, and applying Jobs to be Done to new client projects.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>20: Ian Landsman - Code is not a business</title>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:title>20: Ian Landsman - Code is not a business</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ee503f3a-f69c-467c-9339-f1cb1b1d7d45</guid>
      <link>https://share.transistor.fm/s/8d4f17ed</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://userscape.com">Userscape</a></li><li><a href="http://helpspot.com">HelpSpot</a></li><li><a href="http://besnappy.com">Snappy</a></li><li><a href="http://ianlandsman.com/">Ian's Blog</a></li><li><a href="http://bootstrapped.fm">Bootstrapped.fm</a>, Ian's bootstrapping podcast</li><li><a href="http://ianlandsman.com/10-tips-for-moving-from-programmer-to-entrepreneur/">"10 tips for moving from programmer to entrepreneur"</a></li><li><a href="http://ianlandsman.com/what-they-never-told-you-about-handling-b2b-transactions/">"What they never told you about handling B2B transactions"</a>, handling purchase orders and invoicing</li><li><a href="http://productandsupport.com/">Product and Support</a></li><li><a href="http://larajobs.com/">LaraJobs</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://userscape.com">Userscape</a></li><li><a href="http://helpspot.com">HelpSpot</a></li><li><a href="http://besnappy.com">Snappy</a></li><li><a href="http://ianlandsman.com/">Ian's Blog</a></li><li><a href="http://bootstrapped.fm">Bootstrapped.fm</a>, Ian's bootstrapping podcast</li><li><a href="http://ianlandsman.com/10-tips-for-moving-from-programmer-to-entrepreneur/">"10 tips for moving from programmer to entrepreneur"</a></li><li><a href="http://ianlandsman.com/what-they-never-told-you-about-handling-b2b-transactions/">"What they never told you about handling B2B transactions"</a>, handling purchase orders and invoicing</li><li><a href="http://productandsupport.com/">Product and Support</a></li><li><a href="http://larajobs.com/">LaraJobs</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 23 Jun 2015 02:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8d4f17ed/45f5847a.mp3" length="50974270" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/5EMmrp9guxfjHuigj88vD2Q2CQVMBTPPPmHG95HhlQQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4MS8x/NTk3OTQzODQzLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4240</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Ian Landsman, founder of Userscape and creator of HelpSpot. Ian talks about the biggest mistakes programmers make when trying to start their own business, where to find new ideas, and why your new software product shouldn't be a SaaS app.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Ian Landsman, founder of Userscape and creator of HelpSpot. Ian talks about the biggest mistakes programmers make when trying to start their own business, where to find new ideas, and why your new software product shouldn't </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>19: Dave Marshall - Designing Effective Tests</title>
      <itunes:episode>19</itunes:episode>
      <podcast:episode>19</podcast:episode>
      <itunes:title>19: Dave Marshall - Designing Effective Tests</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f8464724-2982-4b07-acf7-d2a10685829c</guid>
      <link>https://share.transistor.fm/s/d38f1716</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://davedevelopment.co.uk/">Dave's Blog</a></li><li><a href="https://thatpodcast.io/">That Podcast</a></li><li><a href="https://github.com/padraic/mockery">Mockery</a> on GitHub</li><li>Uncle Bob on <a href="https://blog.8thlight.com/uncle-bob/2014/05/10/WhenToMock.html">writing your own test doubles</a></li><li><a href="http://docs.behat.org/en/v2.5/">Behat</a></li><li><a href="https://github.com/padraic/humbug">Humbug</a> mutation testing library</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://davedevelopment.co.uk/">Dave's Blog</a></li><li><a href="https://thatpodcast.io/">That Podcast</a></li><li><a href="https://github.com/padraic/mockery">Mockery</a> on GitHub</li><li>Uncle Bob on <a href="https://blog.8thlight.com/uncle-bob/2014/05/10/WhenToMock.html">writing your own test doubles</a></li><li><a href="http://docs.behat.org/en/v2.5/">Behat</a></li><li><a href="https://github.com/padraic/humbug">Humbug</a> mutation testing library</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 09 Jun 2015 11:40:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/d38f1716/7a84915b.mp3" length="50697307" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/nRrpvnW5tOXyitVekYx653uWqvkiUQdhBz9mDsC75-g/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg4MC8x/NTk3OTQzODQxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4217</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Dave Marshall, testing guru and host of That Podcast. Dave talks to Adam about the upcoming Mockery 1.0 release and some interesting API changes destined for 2.0. They also talk about how fakes can improve your tests, fixtures vs. factories, spec-style vs xUnit style test frameworks, and mutation testing.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Dave Marshall, testing guru and host of That Podcast. Dave talks to Adam about the upcoming Mockery 1.0 release and some interesting API changes destined for 2.0. They also talk about how fakes can improve your tests, fixtur</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>18: Katie Cerar - Designing and Prototyping for Clients</title>
      <itunes:episode>18</itunes:episode>
      <podcast:episode>18</podcast:episode>
      <itunes:title>18: Katie Cerar - Designing and Prototyping for Clients</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">754385e3-3ffe-452a-93dc-1d6cc424c4b1</guid>
      <link>https://share.transistor.fm/s/a53a96b8</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://opportunityanalysiscanvas.com/">The Opportunity Analysis Canvas</a> by James Green</li><li><a href="http://www.invisionapp.com/">Invision</a> Prototyping Tool</li><li><a href="http://en.wikipedia.org/wiki/5_Whys">5 Why's</a></li><li><a href="http://jobstobedone.org/">Jobs-to-be-Done</a></li><li><a href="http://shop.oreilly.com/product/0636920033851.do">User Story Mapping</a> by Jeff Patton</li><li>The Google Ventures <a href="http://www.gv.com/sprint/">Design Sprint</a></li><li><a href="http://abbytheia.com/makesense/">How to Make Sense of Any Mess</a> by Abby Covert</li><li><a href="http://rosenfeldmedia.com/books/the-user-experience-team-of-one/">The User Experience Team of One</a> by Leah Buley</li><li><a href="http://rosenfeldmedia.com/books/">The Rosenfeld Media Catalog</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://opportunityanalysiscanvas.com/">The Opportunity Analysis Canvas</a> by James Green</li><li><a href="http://www.invisionapp.com/">Invision</a> Prototyping Tool</li><li><a href="http://en.wikipedia.org/wiki/5_Whys">5 Why's</a></li><li><a href="http://jobstobedone.org/">Jobs-to-be-Done</a></li><li><a href="http://shop.oreilly.com/product/0636920033851.do">User Story Mapping</a> by Jeff Patton</li><li>The Google Ventures <a href="http://www.gv.com/sprint/">Design Sprint</a></li><li><a href="http://abbytheia.com/makesense/">How to Make Sense of Any Mess</a> by Abby Covert</li><li><a href="http://rosenfeldmedia.com/books/the-user-experience-team-of-one/">The User Experience Team of One</a> by Leah Buley</li><li><a href="http://rosenfeldmedia.com/books/">The Rosenfeld Media Catalog</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 27 May 2015 01:34:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/a53a96b8/58f05ef0.mp3" length="28822960" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/-YmqNxPeXefL5iU9thKOngSP56dCFddzqLhvbgpj5I4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3OS8x/NTk3OTQzODQwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2394</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Katie Cerar, user experience designer at Boltmade. Katie talks to Adam about running a successful kick off meeting, understanding the problems your client is trying to solve, and strategies for getting clients to keep their ideas focused. Katie also talks about the difference between a prototype and an MVP, and how to choose the right prototyping tool to get the feedback you need.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Katie Cerar, user experience designer at Boltmade. Katie talks to Adam about running a successful kick off meeting, understanding the problems your client is trying to solve, and strategies for getting clients to keep their </itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>17: Adam Culp - Maximizing Your Conference Experience</title>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:title>17: Adam Culp - Maximizing Your Conference Experience</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">15ea12dc-460b-4abd-b9ec-2dadcb9e309e</guid>
      <link>https://share.transistor.fm/s/c0807c98</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://geekyboy.com">Adam's Tech Blog</a></li><li><a href="http://crazyfloridian.com">Adam's Running Blog</a></li><li><a href="http://rungeekradio.com">Run Geek Radio</a></li><li><a href="http://www.zendcon.com/">ZendCon</a></li><li><a href="http://2015.sunshinephp.com/">Sunshine PHP</a></li><li><a href="http://www.meetup.com/South-Florida-PHP-Users-Group/">SoFloPHP</a></li><li><a href="http://helpmeabstract.com">"Help Me Abstract"</a> by <a href="https://twitter.com/kayladnls">Kayla Daniels</a></li><li><a href="https://www.youtube.com/watch?v=DC-pQPq0acs">"Refactoring from Good to Great"</a> by Ben Orenstein</li><li><a href="http://cfp.zendcon.com/">ZendCon 2015 Call For Papers</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://geekyboy.com">Adam's Tech Blog</a></li><li><a href="http://crazyfloridian.com">Adam's Running Blog</a></li><li><a href="http://rungeekradio.com">Run Geek Radio</a></li><li><a href="http://www.zendcon.com/">ZendCon</a></li><li><a href="http://2015.sunshinephp.com/">Sunshine PHP</a></li><li><a href="http://www.meetup.com/South-Florida-PHP-Users-Group/">SoFloPHP</a></li><li><a href="http://helpmeabstract.com">"Help Me Abstract"</a> by <a href="https://twitter.com/kayladnls">Kayla Daniels</a></li><li><a href="https://www.youtube.com/watch?v=DC-pQPq0acs">"Refactoring from Good to Great"</a> by Ben Orenstein</li><li><a href="http://cfp.zendcon.com/">ZendCon 2015 Call For Papers</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 12 May 2015 02:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/c0807c98/bdf30ff3.mp3" length="33090807" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/2gYts6iK3M48ehUE_JYN2spJHDEjTlfCaTlWzvzMEII/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3OC8x/NTk3OTQzODM4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2750</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Adam Culp, organizer of Sunshine PHP and ZendCon. They talk about how to get into conference speaking, how to make the most of a conference as an attendee, as well as tips for running a great local user group.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Adam Culp, organizer of Sunshine PHP and ZendCon. They talk about how to get into conference speaking, how to make the most of a conference as an attendee, as well as tips for running a great local user group.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>16: Kent Beck - Tiny Decisions and Emergent Design</title>
      <itunes:episode>16</itunes:episode>
      <podcast:episode>16</podcast:episode>
      <itunes:title>16: Kent Beck - Tiny Decisions and Emergent Design</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f881194b-01a5-49b8-98f4-ade194076b2a</guid>
      <link>https://share.transistor.fm/s/8156f479</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="https://www.facebook.com/kentlbeck/notes">Kent's Facebook Blog</a></li><li><a href="http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X">Smalltalk Best Practice Patterns</a></li><li><a href="http://pragdave.me/blog/2014/03/04/time-to-kill-agile/">"Agile is Dead (Long Live Agility)"</a> by Dave Thomas</li><li><a href="http://www.extremeprogramming.org/">Extreme Programming</a></li><li><a href="https://screenhero.com/">Screenhero</a></li><li><a href="http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912">"Continuous Delivery"</a> by Jez Humble</li><li><a href="http://www.amazon.com/Structured-Design-Fundamentals-Discipline-Computer/dp/0138544719">"Structured Design"</a></li><li>Kent's <a href="https://pragprog.com/screencasts/v-kbtdd/test-driven-development">TDD Screencast Series</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="https://www.facebook.com/kentlbeck/notes">Kent's Facebook Blog</a></li><li><a href="http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X">Smalltalk Best Practice Patterns</a></li><li><a href="http://pragdave.me/blog/2014/03/04/time-to-kill-agile/">"Agile is Dead (Long Live Agility)"</a> by Dave Thomas</li><li><a href="http://www.extremeprogramming.org/">Extreme Programming</a></li><li><a href="https://screenhero.com/">Screenhero</a></li><li><a href="http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912">"Continuous Delivery"</a> by Jez Humble</li><li><a href="http://www.amazon.com/Structured-Design-Fundamentals-Discipline-Computer/dp/0138544719">"Structured Design"</a></li><li>Kent's <a href="https://pragprog.com/screencasts/v-kbtdd/test-driven-development">TDD Screencast Series</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 05 May 2015 02:54:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8156f479/ddd06cfb.mp3" length="33416766" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/YBsE2TfGj7S2-RSoiCR5tsK8bAwaPgopCrtJaFCSERQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3Ny8x/NTk3OTQzODM3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2777</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Kent Beck about Smalltalk vs. Java, low-level design vs. big picture architecture, planning for the future vs. emergent design, and applying the principles of Extreme Programming in 2015.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Kent Beck about Smalltalk vs. Java, low-level design vs. big picture architecture, planning for the future vs. emergent design, and applying the principles of Extreme Programming in 2015.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>15: Everzet - Classicist and Mockist TDD</title>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:title>15: Everzet - Classicist and Mockist TDD</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">60928c5a-0785-47c7-afce-77336400fd56</guid>
      <link>https://share.transistor.fm/s/8c5afc99</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://twitter.com/everzet">everzet on Twitter</a></li><li><a href="http://inviqa.com">Inviqa</a></li><li><a href="https://www.youtube.com/watch?v=X6y-OyMPqfw">"Design How Your Objects Talk Through Mocking"</a> presentation</li><li><a href="http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530">"Test Driven Development: By Example"</a>, by Kent Beck</li><li><a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627/">"Growing Object Oriented Software Guided By Tests"</a>, by Steve Freeman and Nat Pryce</li><li>The <a href="https://pragprog.com/articles/tell-dont-ask">"Tell, Don't Ask"</a> principle</li><li>Sandi Metz's <a href="https://www.youtube.com/watch?v=URSWYvyc42M">"Magic Tricks of Testing"</a> talk</li><li>Ian Cooper's <a href="https://vimeo.com/68375232">"TDD: Where did it all go wrong?"</a> talk</li><li><a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway's Game of Life</a></li><li><a href="http://www.meetup.com/BDDLondon/">BDD London Meetup</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://twitter.com/everzet">everzet on Twitter</a></li><li><a href="http://inviqa.com">Inviqa</a></li><li><a href="https://www.youtube.com/watch?v=X6y-OyMPqfw">"Design How Your Objects Talk Through Mocking"</a> presentation</li><li><a href="http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530">"Test Driven Development: By Example"</a>, by Kent Beck</li><li><a href="http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627/">"Growing Object Oriented Software Guided By Tests"</a>, by Steve Freeman and Nat Pryce</li><li>The <a href="https://pragprog.com/articles/tell-dont-ask">"Tell, Don't Ask"</a> principle</li><li>Sandi Metz's <a href="https://www.youtube.com/watch?v=URSWYvyc42M">"Magic Tricks of Testing"</a> talk</li><li>Ian Cooper's <a href="https://vimeo.com/68375232">"TDD: Where did it all go wrong?"</a> talk</li><li><a href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway's Game of Life</a></li><li><a href="http://www.meetup.com/BDDLondon/">BDD London Meetup</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 20 Apr 2015 22:56:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8c5afc99/769ede20.mp3" length="41438499" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/rqHywBBsLns9BDxcifCRIhto4_JYlEZOrRhl7lfrpco/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3Ni8x/NTk3OTQzODM2LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3446</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Konstantin Kudryashov, creator of Behat and BDD Practice Manager at Inviqa. Konstantin and Adam talk about the schools of TDD, how to use test doubles effectively, and common challenges people face when trying to learn TDD.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Konstantin Kudryashov, creator of Behat and BDD Practice Manager at Inviqa. Konstantin and Adam talk about the schools of TDD, how to use test doubles effectively, and common challenges people face when trying to learn TDD.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>14: Taylor Otwell - Building Envoyer, Laravel 5.1 and Learning to Program</title>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:title>14: Taylor Otwell - Building Envoyer, Laravel 5.1 and Learning to Program</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f73edda7-744a-487a-9208-6a0d0eeb8fb3</guid>
      <link>https://share.transistor.fm/s/8c61c419</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://laravel.com">Laravel</a></li><li><a href="http://envoyer.io">Envoyer</a>, Taylor's latest project</li><li><a href="http://forge.laravel.com">Laravel Forge</a></li><li><a href="http://pusher.com">Pusher</a></li><li><a href="http://authy.com">Authy</a></li><li><a href="http://laracasts.com">Laracasts</a></li><li><a href="http://larachat.co">Larachat</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://laravel.com">Laravel</a></li><li><a href="http://envoyer.io">Envoyer</a>, Taylor's latest project</li><li><a href="http://forge.laravel.com">Laravel Forge</a></li><li><a href="http://pusher.com">Pusher</a></li><li><a href="http://authy.com">Authy</a></li><li><a href="http://laracasts.com">Laracasts</a></li><li><a href="http://larachat.co">Larachat</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 07 Apr 2015 11:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8c61c419/c20d4ffe.mp3" length="44010532" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/61XOGnEAERHkrm6l8dO6WjUN_EgASOY4FUctUZ6jmOU/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3NS8x/NTk3OTQzODM0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3660</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Taylor Otwell, creator of Laravel. Taylor gives an in-depth behind-the-scenes look at how Envoyer is architected, and shares some new tips and tricks he's been using to keep his code simple. They also talk about the decisions behind upcoming changes in Laravel 5.1, how Taylor learned to program, and how he almost became the manager of a retirement home.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Taylor Otwell, creator of Laravel. Taylor gives an in-depth behind-the-scenes look at how Envoyer is architected, and shares some new tips and tricks he's been using to keep his code simple. They also talk about the decision</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>13: Phil Sturgeon - Designing and Testing APIs, Go and PHP 7</title>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <itunes:title>13: Phil Sturgeon - Designing and Testing APIs, Go and PHP 7</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">da9d9c51-4d28-4c7b-a2c3-1200340df41d</guid>
      <link>https://share.transistor.fm/s/b0408c96</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://philsturgeon.uk">Phil's Blog</a></li><li><a href="http://ride.com">Ride</a></li><li><a href="https://golang.org">Go</a></li><li><a href="https://tools.ietf.org/html/rfc6902">JSON Patch RFC</a></li><li><a href="https://github.com/json-api/json-api/pull/341">Recent changes to JSON API</a></li><li><a href="http://www.troyhunt.com/2014/02/your-api-versioning-is-wrong-which-is.html">Troy Hunt on API versioning</a></li><li><a href="http://apisyouwonthate.com/">"Build APIs You Won't Hate"</a>, Phil's book</li><li><a href="https://philsturgeon.uk/api/2015/01/28/dredd-api-testing-documentation/">"Dredd: Do Your HTTP API Justice"</a></li><li><a href="http://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a></li><li><a href="http://raml.org/">RAML</a></li><li><a href="http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X/ref=sr_1_2?ie=UTF8&amp;qid=1426906747&amp;sr=8-2&amp;keywords=smalltalk#reader_013476904X">"Smalltalk Best Practice Patterns"</a> by Kent Beck</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://philsturgeon.uk">Phil's Blog</a></li><li><a href="http://ride.com">Ride</a></li><li><a href="https://golang.org">Go</a></li><li><a href="https://tools.ietf.org/html/rfc6902">JSON Patch RFC</a></li><li><a href="https://github.com/json-api/json-api/pull/341">Recent changes to JSON API</a></li><li><a href="http://www.troyhunt.com/2014/02/your-api-versioning-is-wrong-which-is.html">Troy Hunt on API versioning</a></li><li><a href="http://apisyouwonthate.com/">"Build APIs You Won't Hate"</a>, Phil's book</li><li><a href="https://philsturgeon.uk/api/2015/01/28/dredd-api-testing-documentation/">"Dredd: Do Your HTTP API Justice"</a></li><li><a href="http://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a></li><li><a href="http://raml.org/">RAML</a></li><li><a href="http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X/ref=sr_1_2?ie=UTF8&amp;qid=1426906747&amp;sr=8-2&amp;keywords=smalltalk#reader_013476904X">"Smalltalk Best Practice Patterns"</a> by Kent Beck</li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 02 Apr 2015 03:05:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b0408c96/716c6c0d.mp3" length="54004772" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/gFav-A0TH76qDfGEavR_TxHSpUqNJZaKmfdMN4yEds4/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3NC8x/NTk3OTQzODMyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4493</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Philip J. Sturgeon about designing and testing APIs at Ride. They also talk about building microservices with Go, and some of the new features coming in PHP 7.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Philip J. Sturgeon about designing and testing APIs at Ride. They also talk about building microservices with Go, and some of the new features coming in PHP 7.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>12: Jack McDade - Building Photoshoot.io and Getting Stuff Done</title>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <itunes:title>12: Jack McDade - Building Photoshoot.io and Getting Stuff Done</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0554e9e7-4e22-4970-98b3-f846a35fbbb0</guid>
      <link>https://share.transistor.fm/s/2e8de446</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://photoshoot.io">Photoshoot.io</a></li><li><a href="http://statamic.com">Statamic</a></li><li><a href="http://envoyer.io">Envoyer</a>, designed by Jack</li><li><a href="http://laravel.com">Laravel 5 Homepage</a>, designed by Jack</li><li><a href="http://wilderborn.com">Wilderborn</a>, Jack's company</li><li><a href="http://jackmcdade.com/">Jack's personal site</a></li><li><a href="http://wayswework.io/interviews/jack-mcdade-of-statamic">Interview at Ways We Work</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://photoshoot.io">Photoshoot.io</a></li><li><a href="http://statamic.com">Statamic</a></li><li><a href="http://envoyer.io">Envoyer</a>, designed by Jack</li><li><a href="http://laravel.com">Laravel 5 Homepage</a>, designed by Jack</li><li><a href="http://wilderborn.com">Wilderborn</a>, Jack's company</li><li><a href="http://jackmcdade.com/">Jack's personal site</a></li><li><a href="http://wayswework.io/interviews/jack-mcdade-of-statamic">Interview at Ways We Work</a></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 23 Mar 2015 02:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/2e8de446/ef7a85d3.mp3" length="35767626" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/LOWJdMiYlpFa_Mpe4ZRwFxnYF4CJZ7V8G1eM49NJGrQ/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3My8x/NTk3OTQzODMxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2960</itunes:duration>
      <itunes:summary>In this episode, Adam talks to Jack McDade creator of Statamic, about building his latest project Photoshoot.io. They also talk about how Jack juggles design and development, and how to buckle down and get things done.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks to Jack McDade creator of Statamic, about building his latest project Photoshoot.io. They also talk about how Jack juggles design and development, and how to buckle down and get things done.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>11: Jeffrey Way - "But how does it feel?"</title>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <itunes:title>11: Jeffrey Way - "But how does it feel?"</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1345c6fa-f594-41d8-8446-0c4256d312b5</guid>
      <link>https://share.transistor.fm/s/4ebd287d</link>
      <description>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://laracasts.com">Laracasts</a></li><li><a href="http://en.wikipedia.org/wiki/Temporal_database">Temporal Databases</a></li><li><a href="http://www.amazon.com/Object-Thinking-Developer-Reference-David/dp/0735619654">Object Thinking</a></li><li><a href="http://martinfowler.com/articles/is-tdd-dead/">"Is TDD Dead"</a> with Martin Fowler, Kent Beck, and David Heinemeier Hannson</li><li>The <a href="https://twitter.com/ircmaxell/status/556102253472272385">$invoice-&gt;download()</a> incident</li><li>A bit on <a href="http://searls.testdouble.com/posts/2011-04-29-the-power-of-prompts.html">verb class names</a> <em>(scroll to "Verb-first classes")</em></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://laracasts.com">Laracasts</a></li><li><a href="http://en.wikipedia.org/wiki/Temporal_database">Temporal Databases</a></li><li><a href="http://www.amazon.com/Object-Thinking-Developer-Reference-David/dp/0735619654">Object Thinking</a></li><li><a href="http://martinfowler.com/articles/is-tdd-dead/">"Is TDD Dead"</a> with Martin Fowler, Kent Beck, and David Heinemeier Hannson</li><li>The <a href="https://twitter.com/ircmaxell/status/556102253472272385">$invoice-&gt;download()</a> incident</li><li>A bit on <a href="http://searls.testdouble.com/posts/2011-04-29-the-power-of-prompts.html">verb class names</a> <em>(scroll to "Verb-first classes")</em></li><li>Sponsored by <a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 09 Mar 2015 03:25:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4ebd287d/82067328.mp3" length="48854671" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/9d4Wj7-7FpFs9gVzThizZN96XESxlSF_oKAr45WSmKg/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3Mi8x/NTk3OTQzODI5LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4064</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Jeffrey Way of Laracasts about learning, object oriented design, testing, API usability, and whole bunch of other stuff.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Jeffrey Way of Laracasts about learning, object oriented design, testing, API usability, and whole bunch of other stuff.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>10: Type Safety Roundtable with Ryan Tablada and Matt Machuga</title>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <itunes:title>10: Type Safety Roundtable with Ryan Tablada and Matt Machuga</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bb758cc0-e5c1-4e3d-8a3f-89c1b4d95dcf</guid>
      <link>https://share.transistor.fm/s/5c9ab030</link>
      <description>
        <![CDATA[<p>They talk about things like explicit interfaces vs. duck typing, function calling vs. message passing, and some of the recent RFCs around optional typing in the PHP community.</p><p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://en.wikipedia.org/wiki/J_Sharp">J#</a></li><li><a href="http://hacklang.org/">Hack</a></li><li><a href="https://vimeo.com/17420638">DHH's "Why Ruby?" Keynote at RubyConf X</a></li><li><a href="https://www.eiffel.com/values/design-by-contract/introduction/">Design by Contract in Eiffel</a></li><li><a href="http://php.net/manual/en/language.oop5.typehinting.php">Type Hinting in PHP</a></li><li><a href="https://wiki.php.net/rfc/scalar_type_hints">PHP RFC: Scalar Type Hints</a></li><li><a href="https://wiki.php.net/rfc/sum_types">PHP RFC: Sum Types</a></li><li><a href="http://eriedayofcode.com/">Erie Day of Code</a></li><li><a href="https://embergrep.com/">EmberGrep</a></li><li><a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about things like explicit interfaces vs. duck typing, function calling vs. message passing, and some of the recent RFCs around optional typing in the PHP community.</p><p>This episode is brought to you by <a href="http://hired.com/fullstackradio">Hired</a>.</p><ul><li><a href="http://en.wikipedia.org/wiki/J_Sharp">J#</a></li><li><a href="http://hacklang.org/">Hack</a></li><li><a href="https://vimeo.com/17420638">DHH's "Why Ruby?" Keynote at RubyConf X</a></li><li><a href="https://www.eiffel.com/values/design-by-contract/introduction/">Design by Contract in Eiffel</a></li><li><a href="http://php.net/manual/en/language.oop5.typehinting.php">Type Hinting in PHP</a></li><li><a href="https://wiki.php.net/rfc/scalar_type_hints">PHP RFC: Scalar Type Hints</a></li><li><a href="https://wiki.php.net/rfc/sum_types">PHP RFC: Sum Types</a></li><li><a href="http://eriedayofcode.com/">Erie Day of Code</a></li><li><a href="https://embergrep.com/">EmberGrep</a></li><li><a href="http://hired.com/fullstackradio">Hired</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 23 Feb 2015 03:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/5c9ab030/b9fe0740.mp3" length="50696129" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/_KEz1Hh6cRzJQ_wmfP-9jph5ke9FD6eMMNqvXwPpQF8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3MS8x/NTk3OTQzODI4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>4217</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Ryan Tablada and Matt Machuga about the philosophical differences between programming in a statically typed language vs. a dynamically typed language.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Ryan Tablada and Matt Machuga about the philosophical differences between programming in a statically typed language vs. a dynamically typed language.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>9: David Heinemeier Hansson - Architecture, Patterns and Design</title>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <itunes:title>9: David Heinemeier Hansson - Architecture, Patterns and Design</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1ca1693f-8c16-4806-8978-b8c467e8efd2</guid>
      <link>https://share.transistor.fm/s/41cb2c6f</link>
      <description>
        <![CDATA[<p>They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code".</p><ul><li><a href="http://david.heinemeierhansson.com/">DHH's Blog</a></li><li><a href="https://www.youtube.com/watch?v=9LfmrkyP81M">"Writing Software" keynote</a></li><li><a href="https://signalvnoise.com/posts/3375-the-five-programming-books-that-meant-most-to-me">DHH's 5 most influential programming books</a></li><li><a href="https://codeascraft.com/2015/02/02/transitioning-to-scss-at-scale/">Transitioning to SCSS at Etsy</a></li><li><a href="http://www.inc.com/magazine/201202/jason-fried/starting-over-get-real.html">Jason Fried on Rebuilding Basecamp</a></li><li><a href="https://signalvnoise.com/posts/3856-the-big-rewrite-revisited">The Big Rewrite, revisited</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code".</p><ul><li><a href="http://david.heinemeierhansson.com/">DHH's Blog</a></li><li><a href="https://www.youtube.com/watch?v=9LfmrkyP81M">"Writing Software" keynote</a></li><li><a href="https://signalvnoise.com/posts/3375-the-five-programming-books-that-meant-most-to-me">DHH's 5 most influential programming books</a></li><li><a href="https://codeascraft.com/2015/02/02/transitioning-to-scss-at-scale/">Transitioning to SCSS at Etsy</a></li><li><a href="http://www.inc.com/magazine/201202/jason-fried/starting-over-get-real.html">Jason Fried on Rebuilding Basecamp</a></li><li><a href="https://signalvnoise.com/posts/3856-the-big-rewrite-revisited">The Big Rewrite, revisited</a></li></ul>]]>
      </content:encoded>
      <pubDate>Wed, 11 Feb 2015 04:45:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/41cb2c6f/f4a3bcd6.mp3" length="25613521" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/MpvdKw6N-OK-ZH_iTkiWcNfXTaJflHTfJ3HUYzF1PAw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg3MC8x/NTk3OTQzODI3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3171</itunes:duration>
      <itunes:summary>They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code".</itunes:summary>
      <itunes:subtitle>They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code".</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>Yes</itunes:explicit>
    </item>
    <item>
      <title>8: Sean Devine - Ember and API first</title>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <itunes:title>8: Sean Devine - Ember and API first</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">65985364-a68b-4977-a7c2-95653a15855d</guid>
      <link>https://share.transistor.fm/s/b95e3db2</link>
      <description>
        <![CDATA[<p>Sean gives Adam an introduction to building applications with Ember, and how it's different than the way you might sprinkle AngularJS into a mostly server-side app. They talk about why your Ember apps shouldn't be mixed in with your server-side code, and the advantages that come along with building a server-side API with no front end of it's own.</p><ul><li><a href="http://emberjs.com/">Ember</a></li><li><a href="https://github.com/emberjs/rfcs/pull/15">The Road to Ember 2.0</a></li><li><a href="https://github.com/emberjs/data">Ember Data</a></li><li><a href="http://jsonapi.org/">JSON API</a></li><li><a href="http://www.barelyknown.com/">Sean's blog</a></li><li><a href="http://5by5.tv/rubyonrails">Ruby on Rails podcast</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Sean gives Adam an introduction to building applications with Ember, and how it's different than the way you might sprinkle AngularJS into a mostly server-side app. They talk about why your Ember apps shouldn't be mixed in with your server-side code, and the advantages that come along with building a server-side API with no front end of it's own.</p><ul><li><a href="http://emberjs.com/">Ember</a></li><li><a href="https://github.com/emberjs/rfcs/pull/15">The Road to Ember 2.0</a></li><li><a href="https://github.com/emberjs/data">Ember Data</a></li><li><a href="http://jsonapi.org/">JSON API</a></li><li><a href="http://www.barelyknown.com/">Sean's blog</a></li><li><a href="http://5by5.tv/rubyonrails">Ruby on Rails podcast</a></li></ul>]]>
      </content:encoded>
      <pubDate>Sun, 01 Feb 2015 15:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/b95e3db2/f3c2a2d7.mp3" length="28257880" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/Lu8eQ6q8x_4KQyHoRrDXRg6JK7dVL50__zw7Vw5wEvk/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2OS8x/NTk3OTQzODI1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3502</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Sean Devine, host of the Ruby on Rails podcast.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Sean Devine, host of the Ruby on Rails podcast.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>7: Shawn McCool - BDD and DDD</title>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <itunes:title>7: Shawn McCool - BDD and DDD</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0f816ceb-ac93-44c1-b668-11451b0a00b1</guid>
      <link>https://share.transistor.fm/s/8d1b99e1</link>
      <description>
        <![CDATA[<p>They talk about how you can use these ideas to better understand your clients' needs and to build software that closely models their business. They also talk about where these ideas don't work so well, and some of the challenges and trade-offs you face when trying to build software this way.</p><ul><li><a href="http://shawnmc.cool/">Shawn's blog</a></li><li><a href="https://pragprog.com/book/achbd/the-rspec-book">The RSpec Book</a></li><li><a href="https://www.youtube.com/watch?v=njcHzGYv7nI">everzet's Introduction to BDD</a></li><li><a href="http://everzet.com/post/99045129766/introducing-modelling-by-example">everzet on Modelling by Example</a></li><li><a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">Domain Driven Design Quickly</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">"Domain Driven Design" by Eric Evans</a></li><li><a href="http://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=pd_sim_b_1?ie=UTF8&amp;refRID=04C4FD26GV2050CDT7GB">"Implementing Domain Driven Design" by Vaughn Vernon</a></li><li><a href="http://rosstuck.com/">Ross Tuck's blog</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about how you can use these ideas to better understand your clients' needs and to build software that closely models their business. They also talk about where these ideas don't work so well, and some of the challenges and trade-offs you face when trying to build software this way.</p><ul><li><a href="http://shawnmc.cool/">Shawn's blog</a></li><li><a href="https://pragprog.com/book/achbd/the-rspec-book">The RSpec Book</a></li><li><a href="https://www.youtube.com/watch?v=njcHzGYv7nI">everzet's Introduction to BDD</a></li><li><a href="http://everzet.com/post/99045129766/introducing-modelling-by-example">everzet on Modelling by Example</a></li><li><a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">Domain Driven Design Quickly</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">"Domain Driven Design" by Eric Evans</a></li><li><a href="http://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/ref=pd_sim_b_1?ie=UTF8&amp;refRID=04C4FD26GV2050CDT7GB">"Implementing Domain Driven Design" by Vaughn Vernon</a></li><li><a href="http://rosstuck.com/">Ross Tuck's blog</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 19 Jan 2015 17:34:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/8d1b99e1/33265568.mp3" length="29725468" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/rgZKKe2uOSs383r5mfoCOWQUrQDwoYydDVYgKE1XDx8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2OC8x/NTk3OTQzODI0LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3685</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Shawn McCool about Behavior Driven Development and Domain Driven Design.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Shawn McCool about Behavior Driven Development and Domain Driven Design.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>6: Chris Fidao - Servers for Hackers</title>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <itunes:title>6: Chris Fidao - Servers for Hackers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d823ba23-178a-497b-a745-58a56423dd16</guid>
      <link>https://share.transistor.fm/s/51da4fcd</link>
      <description>
        <![CDATA[<p>They talk about things every web developer should know about server administration, platform-as-a-service vs. self-hosting, Ansible, Docker, and more.</p><ul><li><a href="https://serversforhackers.com/">Servers for Hackers Newsletter</a></li><li><a href="https://book.serversforhackers.com/">Servers for Hackers Book</a></li><li><a href="http://fideloper.com">Chris' blog</a></li><li><a href="http://www.ansible.com/home">Ansible</a></li><li><a href="https://www.docker.com/">Docker</a></li><li><a href="https://forge.laravel.com/">Forge</a></li><li><a href="https://www.scalingphpbook.com/">"Scaling PHP Applications" by Steve Corona</a></li><li><a href="http://www.jamesturnbull.net/#books">James Turnbull's Books</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about things every web developer should know about server administration, platform-as-a-service vs. self-hosting, Ansible, Docker, and more.</p><ul><li><a href="https://serversforhackers.com/">Servers for Hackers Newsletter</a></li><li><a href="https://book.serversforhackers.com/">Servers for Hackers Book</a></li><li><a href="http://fideloper.com">Chris' blog</a></li><li><a href="http://www.ansible.com/home">Ansible</a></li><li><a href="https://www.docker.com/">Docker</a></li><li><a href="https://forge.laravel.com/">Forge</a></li><li><a href="https://www.scalingphpbook.com/">"Scaling PHP Applications" by Steve Corona</a></li><li><a href="http://www.jamesturnbull.net/#books">James Turnbull's Books</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 05 Jan 2015 03:37:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/51da4fcd/6ad504b2.mp3" length="20464800" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/DWZFZRlbsJvpLp10qaxMtJvXXMnD9UoEO8LNGV1cLH8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2Ny8x/NTk3OTQzODIyLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2528</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Chris Fidao of Userscape.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Chris Fidao of Userscape.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>5: Ryan Singer - Jobs-to-be-Done and Product Design</title>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <itunes:title>5: Ryan Singer - Jobs-to-be-Done and Product Design</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b88d89b6-e6ff-436b-9771-8090eb76ec98</guid>
      <link>https://share.transistor.fm/s/17834a93</link>
      <description>
        <![CDATA[<ul><li><a href="http://feltpresence.com/">Ryan's blog</a></li><li><a href="https://medium.com/the-job-to-be-done">"Jobs-to-be-Done" collection on Medium</a></li><li><a href="https://www.youtube.com/watch?v=f84LymEs67Y">The Milkshake Video</a></li><li><a href="https://signalvnoise.com/posts/3028-watch-ryan-sketch-and-code-a-ui-from-scratch-on-peepcode">Ryan's Peepcode Play-by-Play</a></li><li><a href="http://feltpresence.com/articles/18-ui-and-capability">Ryan's post on affordance vs. styling</a></li><li><a href="http://www.amazon.com/Notes-Synthesis-Form-Christopher-Alexander/dp/0674627512">"Notes on the Synthesis of Form" by Christopher Alexander</a></li><li><a href="https://gettingreal.37signals.com/">"Getting Real" by Basecamp/37signals</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">"Domain Driven Design" by Eric Evans</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<ul><li><a href="http://feltpresence.com/">Ryan's blog</a></li><li><a href="https://medium.com/the-job-to-be-done">"Jobs-to-be-Done" collection on Medium</a></li><li><a href="https://www.youtube.com/watch?v=f84LymEs67Y">The Milkshake Video</a></li><li><a href="https://signalvnoise.com/posts/3028-watch-ryan-sketch-and-code-a-ui-from-scratch-on-peepcode">Ryan's Peepcode Play-by-Play</a></li><li><a href="http://feltpresence.com/articles/18-ui-and-capability">Ryan's post on affordance vs. styling</a></li><li><a href="http://www.amazon.com/Notes-Synthesis-Form-Christopher-Alexander/dp/0674627512">"Notes on the Synthesis of Form" by Christopher Alexander</a></li><li><a href="https://gettingreal.37signals.com/">"Getting Real" by Basecamp/37signals</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">"Domain Driven Design" by Eric Evans</a></li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Dec 2014 04:09:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/17834a93/0dd1e1db.mp3" length="22636802" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/TeNRBssJp1s8ckS-sjmBJU_8yxN0EbDazdmIAd--E3g/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2Ni8x/NTk3OTQzODIxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2799</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Ryan Singer of Basecamp about Jobs-to-be-Done thinking, UX, and product design.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Ryan Singer of Basecamp about Jobs-to-be-Done thinking, UX, and product design.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>4: Alex Bilbie - OAuth 2 and API Security</title>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <itunes:title>4: Alex Bilbie - OAuth 2 and API Security</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c637d8a1-9506-4178-94bb-8776bdf39633</guid>
      <link>https://share.transistor.fm/s/08c8827c</link>
      <description>
        <![CDATA[<p>They talk about the different grant types and what they're each appropriate for, as well as discuss some potential API security strategies for one of Adam's personal projects.</p><ul><li><a href="http://alexbilbie.com/">Alex's blog</a></li><li><a href="https://github.com/thephpleague/oauth2-server">Alex's PHP OAuth2 Server package</a></li><li><a href="http://alexbilbie.com/2014/11/oauth-and-javascript/">"OAuth and Single Page JavaScript Web-Apps"</a></li><li><a href="https://leanpub.com/oauthello-a-book-about-oauth">Alex's upcoming OAuth book</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They talk about the different grant types and what they're each appropriate for, as well as discuss some potential API security strategies for one of Adam's personal projects.</p><ul><li><a href="http://alexbilbie.com/">Alex's blog</a></li><li><a href="https://github.com/thephpleague/oauth2-server">Alex's PHP OAuth2 Server package</a></li><li><a href="http://alexbilbie.com/2014/11/oauth-and-javascript/">"OAuth and Single Page JavaScript Web-Apps"</a></li><li><a href="https://leanpub.com/oauthello-a-book-about-oauth">Alex's upcoming OAuth book</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 08 Dec 2014 13:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/08c8827c/0afa5cff.mp3" length="27205774" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/JI9JTg46KAXO08ZDXmYNDQrFMzZBGl7g8RabtsWhaRI/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2NS8x/NTk3OTQzODIwLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3370</itunes:duration>
      <itunes:summary>In this episode, Adam gets super technical with Alex Bilbie about the OAuth 2 specification.</itunes:summary>
      <itunes:subtitle>In this episode, Adam gets super technical with Alex Bilbie about the OAuth 2 specification.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>3: Matt Machuga - Ruby, PHP, object oriented design, testing and other crap</title>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <itunes:title>3: Matt Machuga - Ruby, PHP, object oriented design, testing and other crap</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ad24ac05-c5b2-4fe2-8dc6-4766973ef4db</guid>
      <link>https://share.transistor.fm/s/7273bd7f</link>
      <description>
        <![CDATA[<p>They also talk about common struggles when learning new things, and trying to remain pragmatic while still pushing the boundaries of what you know.</p><ul><li><a href="http://matthewmachuga.com/">Matt's personal website</a></li><li><a href="http://tutsplus.com/authors/matthew-machuga">Matt's courses at TutsPlus</a></li><li><a href="https://vimeo.com/17420638">DHH's "Why Ruby?" Talk</a></li><li><a href="https://github.com/rails/rails/commit/e50530ca3ab5db53ebc74314c54b62b91b932389">Array#forty_two</a></li><li><a href="http://giantrobots.fm/">Giant Robots Podcast</a></li><li><a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">DHH on Dependency Injection</a></li><li><a href="http://shawnmc.cool/too-far-is-just-far-enough">"Too Far Is Just Enough" by Shawn McCool</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">Domain Driven Design</a></li><li><a href="http://swannodette.github.io/mori/">mori</a></li><li><a href="https://github.com/facebook/immutable-js">Immutable JS</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>They also talk about common struggles when learning new things, and trying to remain pragmatic while still pushing the boundaries of what you know.</p><ul><li><a href="http://matthewmachuga.com/">Matt's personal website</a></li><li><a href="http://tutsplus.com/authors/matthew-machuga">Matt's courses at TutsPlus</a></li><li><a href="https://vimeo.com/17420638">DHH's "Why Ruby?" Talk</a></li><li><a href="https://github.com/rails/rails/commit/e50530ca3ab5db53ebc74314c54b62b91b932389">Array#forty_two</a></li><li><a href="http://giantrobots.fm/">Giant Robots Podcast</a></li><li><a href="http://david.heinemeierhansson.com/2012/dependency-injection-is-not-a-virtue.html">DHH on Dependency Injection</a></li><li><a href="http://shawnmc.cool/too-far-is-just-far-enough">"Too Far Is Just Enough" by Shawn McCool</a></li><li><a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">Domain Driven Design</a></li><li><a href="http://swannodette.github.io/mori/">mori</a></li><li><a href="https://github.com/facebook/immutable-js">Immutable JS</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 17 Nov 2014 02:30:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/7273bd7f/d12fc99a.mp3" length="31430234" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/soCEu2op5tu3NS8JOpkbuEobtWIn2zhzpfwSrdUlY-Y/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2NC8x/NTk3OTQzODE4LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>3739</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Matt Machuga of Think Through Math about being a Rubyist who still writes PHP and the differences between writing PHP like a Rubyist vs. writing PHP like a Java developer.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Matt Machuga of Think Through Math about being a Rubyist who still writes PHP and the differences between writing PHP like a Rubyist vs. writing PHP like a Java developer.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>2: Eric Barnes - Wardrobe, Javascript and Writing</title>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <itunes:title>2: Eric Barnes - Wardrobe, Javascript and Writing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">90d89a47-5eff-4d5f-af8c-1cba36e37209</guid>
      <link>https://share.transistor.fm/s/4d91f0f4</link>
      <description>
        <![CDATA[<ul><li><a href="http://ericlbarnes.com/">Eric's blog</a></li><li><a href="http://laravel-news.com/">Laravel News</a></li><li><a href="http://ericlbarnes.com/category/wardrobe/">Rebuilding Wardrobe</a></li><li><a href="http://besnappy.com">Snappy</a></li><li><a href="http://forge.laravel.com">Laravel Forge</a></li><li><a href="http://jaxenter.com/angular-2-0-112094.html">Sneak peek at Angular 2.0</a></li><li><a href="http://www.shopify.com/technology/15646068-rebuilding-the-shopify-admin-improving-developer-productivity-by-deleting-28-000-lines-of-javascript">Removing Batman.js at Shopify</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<ul><li><a href="http://ericlbarnes.com/">Eric's blog</a></li><li><a href="http://laravel-news.com/">Laravel News</a></li><li><a href="http://ericlbarnes.com/category/wardrobe/">Rebuilding Wardrobe</a></li><li><a href="http://besnappy.com">Snappy</a></li><li><a href="http://forge.laravel.com">Laravel Forge</a></li><li><a href="http://jaxenter.com/angular-2-0-112094.html">Sneak peek at Angular 2.0</a></li><li><a href="http://www.shopify.com/technology/15646068-rebuilding-the-shopify-admin-improving-developer-productivity-by-deleting-28-000-lines-of-javascript">Removing Batman.js at Shopify</a></li></ul>]]>
      </content:encoded>
      <pubDate>Mon, 03 Nov 2014 09:00:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/4d91f0f4/352514b1.mp3" length="20512678" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/kdpDfuIIVxl9obeB6a0XyHCZ4OHEh6R2s8vjrnzE-q0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2My8x/NTk3OTQzODE3LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2374</itunes:duration>
      <itunes:summary>In this episode, Adam talks with Eric Barnes of Userscape about rebuilding WardrobeCMS, trends in Javascript development, and building an audience.</itunes:summary>
      <itunes:subtitle>In this episode, Adam talks with Eric Barnes of Userscape about rebuilding WardrobeCMS, trends in Javascript development, and building an audience.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
    <item>
      <title>1: Matt Stauffer - CSS Semantics</title>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <itunes:title>1: Matt Stauffer - CSS Semantics</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">15b91004-1070-42e2-958d-7bd160ceb4cb</guid>
      <link>https://share.transistor.fm/s/181e0bcf</link>
      <description>
        <![CDATA[<ul><li><a href="http://mattstauffer.co/blog/organizing-css-oocss-smacss-and-bem">"Organizing CSS: OOCSS, SMACSS, and BEM"</a> by Matt Stauffer</li><li><a href="http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/">Nicole Sullivan on Media Objects</a></li><li><a href="https://smacss.com/">SMACSS</a></li><li><a href="http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/">"MindBEMding"</a></li><li><a href="https://coderwall.com/p/wixovg">"Bootstrap without all the debt"</a></li><li><a href="https://medium.com/@fat/mediums-css-is-actually-pretty-fucking-good-b8e2a6c78b06">"Medium's CSS is actually pretting f***ing good"</a></li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">"About HTML semantics and front-end architecture"</a></li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<ul><li><a href="http://mattstauffer.co/blog/organizing-css-oocss-smacss-and-bem">"Organizing CSS: OOCSS, SMACSS, and BEM"</a> by Matt Stauffer</li><li><a href="http://www.stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code/">Nicole Sullivan on Media Objects</a></li><li><a href="https://smacss.com/">SMACSS</a></li><li><a href="http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/">"MindBEMding"</a></li><li><a href="https://coderwall.com/p/wixovg">"Bootstrap without all the debt"</a></li><li><a href="https://medium.com/@fat/mediums-css-is-actually-pretty-fucking-good-b8e2a6c78b06">"Medium's CSS is actually pretting f***ing good"</a></li><li><a href="http://nicolasgallagher.com/about-html-semantics-front-end-architecture/">"About HTML semantics and front-end architecture"</a></li></ul>]]>
      </content:encoded>
      <pubDate>Sat, 18 Oct 2014 16:27:00 +0000</pubDate>
      <author>Adam Wathan</author>
      <enclosure url="https://media.transistor.fm/181e0bcf/02c0ada6.mp3" length="24881389" type="audio/mpeg"/>
      <itunes:author>Adam Wathan</itunes:author>
      <itunes:image href="https://img.transistor.fm/hhRVgfHX-yJM_edeVyTf01ITf4CFNzZ7v0wwSNlHRZ0/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzMyMzg2Mi8x/NTk3OTQzODE1LWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>2920</itunes:duration>
      <itunes:summary>In our very first episode, Adam talks with Matt Stauffer of Tighten Co about OOCSS, BEM, SMACSS, preprocessors, common architecture pitfalls, and CSS semantics.</itunes:summary>
      <itunes:subtitle>In our very first episode, Adam talks with Matt Stauffer of Tighten Co about OOCSS, BEM, SMACSS, preprocessors, common architecture pitfalls, and CSS semantics.</itunes:subtitle>
      <itunes:keywords>technology, software, web, development, product, startup</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
    </item>
  </channel>
</rss>
