Skill Piper

Send feedback

143: Rich Harris - Svelte and Defending the Modern Web

143: Rich Harris - Svelte and Defending the Modern Web

Full Stack Radio 22 July 2020

Episode Description

Topics include:

  • What is Svelte and how is it different than other JS frameworks in the space?
  • What special behavior does the Svelte compiler layer on top of vanilla JS syntax and why?
  • Why the lack of render functions in Svelte isn't a real problem in practice
  • What are you giving up when you choose to build your application with something like Rails instead of JavaScript?
  • Why should we be trying to write our applications in a single language, and why should it be JS?
  • What's wrong with striving to write an application entirely in a language like Ruby instead of entirely in JS?
  • Why HEY doesn't really make a good argument against the modern web
  • Thoughts on bundle sizes, code-splitting, and why aggressive code-splitting is still better than frequent round trips to a server-rendered app
  • How Svelte and Sapper handle SSR
  • Why page transitions are the killer argument for building SPAs if we want to be able to compete with native experiences
  • 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?

Links:

Supporting the show:


I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.

If you do want to support the show, the best way to do it is to purchase one of my products:

  • Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS.
  • Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.
  • Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.
  • Test-Driven Laravel, 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.
  • Refactoring to Collections, 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.

...see more

More Episodes


152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company

152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company

Topics: Putting yourself in the shoes of the person reviewing your application Crafting a high quality application tailored to a specific position Standing out in a more traditional hiring process by doing something a little extra Showcasing very specific examples of your work instead of asking the person reviewing your application to go hunting for it Having good questions for the person interviewing you Sharing your ideas and what you think the company should be focused on Creating a job for yourself that doesn’t even exist Proving that you can take ownership of projects and ship them by yourself Showing off skills you have that aren’t directly related to the job Links: Ben on Twitter Tuple Tailwind Labs job postings Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

28 January 2021 47m and 43s


151: DHH – Building HEY with Hotwire

151: DHH – Building HEY with Hotwire

Links: Hotwire HEY Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

28 December 2020 1h, 14m and


150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0

150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0

Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

21 October 2020 59m and 12s


149: Choosing a Payment Processor, Radical Icons & W3C Hype

149: Choosing a Payment Processor, Radical Icons & W3C Hype

Links: Changes to Gumroad's PayPal support Radical icons Jack's hand-drawn avatars W3C's CMS Selection Report Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

7 October 2020 56m and 38s


148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects

148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects

Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

29 September 2020 59m and 46s


147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI

147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI

Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

23 September 2020 1h, 19m and 45s


146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon

146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon

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”.

4 September 2020 1h, 20m and 54s


145: Statamic 3.0 and Tailwind CSS 2.0

145: Statamic 3.0 and Tailwind CSS 2.0

Links Statamic 3.0 Tailwind CSS v1.7.0 @90sWWE on Twitter

20 August 2020 1h, 15m and 50s


144: Gary Bernhardt - TypeScript and Testing

144: Gary Bernhardt - TypeScript and Testing

Topics include: 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 Do you actually have to write less tests if you have a good type system? What does a good type system give you that tests can't give you? Using io-ts to type check incoming data 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 Pushing conditional logic to the core of your system to reduce the number of tests you need to write at the edges 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 Do type errors signal that you're missing a test? Structural vs. nominal type systems, and the benefits of structural type systems like used by TypeScript and Go Best practices for type-checking within a function in a structural type system like TypeScript The power of supporting literal types like true or "active" in addition to traditional types Links: Destroy All Software Execute Program TypeScript "Are tests necessary in TypeScript?" io-ts TypeScript course on Execute Program Gary's tweet about unions with literal types Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

5 August 2020 1h, 24m and 58s


142: Jason Cohen - Learning to Hire and Manage a Team

142: Jason Cohen - Learning to Hire and Manage a Team

Topics include: How do you decide what role to hire for? Why it's so important to figure out exactly what your biggest struggle is before hiring How to decide what the most important thing to focus on is when it feels like there's too much to do 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 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 Mistakes people make when they start managing a team for the first time Links: Jason's blog, one of the greatest treasure troves of startup advice on the internet Designing the Ideal Bootstrapped Business, one of Jason's MicroConf talks Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS. Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

1 July 2020 55m and 16s


141: Jason Fried - Running the Tailwind Business on Basecamp

141: Jason Fried - Running the Tailwind Business on Basecamp

Topics include: 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? 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? Finding the balance between being organized enough and splitting things up too much How big should projects be? Is "HEY v1" a project, or is a project something more like "HEY File Attachments"? What tools do you normally enable for regular projects, and how do you use them? How are you normally using chat at the individual project level? Why todo lists should be created by the individuals doing the work, and not the people assigning the work How should we use the company HQ project? What are some less obvious ideas we can apply there that can make a big difference? Using a "what we're working on" project to keep everyone on the team in the loop and feeling connected Using "heartbeats" to summarize the work a team has been doing over a period of time for the rest of the company Advice on bringing on new employees and how to assign them their first project 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? Screenshots: Example of a "what did I work on?" check-in Example of a heartbeat Example of the "What Works" project Example of an announcement in the HQ project Example of a conversation on a todo Links: Basecamp Shape Up, Basecamp's recent book on how they work Going Remote: Basecamp Walkthrough, a livestream where Jason and DHH go over their real Basecamp account Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

10 June 2020 1h, 6m and 44s


140: Evan You - Reimagining the Modern Dev Server with Vite

140: Evan You - Reimagining the Modern Dev Server with Vite

Topics include: What is Vite and what makes it different than existing tools like Webpack? How do ES Modules actually work in the browser and what are the limitations? Will we ever be able to use ES Modules in production for large complex projects? How does Vite work under the hood, and how does it support non-JS files like Vue files, or CSS files? How hot module replacement is implemented under the hood in Vite Optimizing modules with many dependencies to keep the development experience fast What is VitePress and how does it compare to VuePress? Bundling sites for production with Vite What's the roadmap for Vite 1.0? Links: Vite VitePress Rollup Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

28 May 2020 48m and 9s


139: Alex DeBrie - DynamoDB for Relational Database Diehards

139: Alex DeBrie - DynamoDB for Relational Database Diehards

Topics include: Does DynamoDB only make sense for things like your cache, or is it a good choice for a primary data store? An overview of the terminology used in DynamoDB and how the terminology compares to a relational database How primary keys work in DynamoDB What data types are available in DynamoDB How DynamoDB is a schemaless database Why it's important to understand your access patterns in advance with DynamoDB, unlike in a relational database Understanding why and how you usually have multiple record types in a single DynamoDB table What "index overloading" is in DynamoDB Understanding partition keys and sort keys How to structure your data in DynamoDB to make it possible to query related data, and how those queries work How secondary indexes work, allowing you to access the same data in different ways How to accommodate access patterns you didn't know about before you designed your schema When to flatten relationships vs. nest them Should you use DynamoDB if you aren't "web-scale"? How local development works with DynamoDB Links: DynamoDB Homepage Alex's blog, loaded with great DynamoDB content The DynamoDB Book, Alex's recent book DynamoDB Guide Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

8 May 2020 58m and 30s


138: Tom Preston-Werner - Building Full-Stack JS Apps with Redwood.js

138: Tom Preston-Werner - Building Full-Stack JS Apps with Redwood.js

Topics include: What does it mean for Redwood to be a JAMStack framework? What does the React layer look like? What’s new, and what’s leveraging existing community tools? Why Redwood ships with it’s own routing layer What “cells” are in Redwood, and how they aim to provide a declarative abstraction on top of data fetching How Redwood tries to provide clear decoupling behind the front-end and back-end, even though it is providing a full-stack solution What “services” are in Redwood Using Prisma 2 to fetch data from your database in your services What database solutions exist today that work well with Redwood in a serverless environment? Links: Redwood.js homepage PredictCovid.com, a Redwood app in production Example blog application built with Redwood Prisma Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

22 April 2020 1h, 13m and 27s


137: Tim Neutkens - Continuing to Innovate with Next.js 9.3

137: Tim Neutkens - Continuing to Innovate with Next.js 9.3

Topics include: An overview of the new getStaticProps, getStaticPaths, and getServerSideProps APIs How Next.js helps you serve static pages from an edge CDN automatically, without affecting the actual authoring experience Using getStaticPaths to statically pregenerate dynamic routes How the fallback feature of getStaticPaths works and lets you statically render pages on-demand to avoid long build times How the upcoming incremental static generation feature will work in Next.js Deploying Next.js to a platform other than Zeit, and how you retain all of Next’s benefits automatically How getServerSideProps is different from getInitialProps Why getServerSideProps actually improves performance, even though it introduces another hop How getServerSideProps results in smaller bundle sizes vs. getInitialProps Using getServerSideProps to safely talk directly to a database, skipping the need for an API 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 What’s coming next in future releases Links: Next.js Next.js 9.3 Announcement Incremental Static Generation RFC Next.js Code Elimination Demo SWR, ZEIT's data fetching library Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

8 April 2020 1h, 23m and 29s


136: Michael Chan - React Is Not a Rails Competitor

136: Michael Chan - React Is Not a Rails Competitor

Topics include: What do people actually mean when they say "I used to use Rails, but now I use React"? Why back-end development is still a crucial part of building any web application What third-party services people are using to try and replace custom back-end code 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? How far do you think front-end-first frameworks like Next.js are going to get their hands dirty in the back-end? 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? Are relational databases legacy tech or are they underappreciated? Links: Ruby on Rails React AWS Amplify Firebase Hasura GraphQL: The Documentary OneGraph Next.js Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

25 March 2020 1h, 8m and 1s


135: Lessons Learned Building Tailwind UI

135: Lessons Learned Building Tailwind UI

Topics include: What Tailwind UI is and why we decided to build it How odd numbers can wreak havoc on a user interface, and how to avoid them Crafting the perfect form control Unexpected benefits of working with CSS Grid Abusing single column grids just to use gap, and why we desperately need gap support in Flexbox Links: Tailwind UI Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

4 March 2020 1h, 38m and 17s


134: Mark Dalgleish - You Should Be Using Layout Components

134: Mark Dalgleish - You Should Be Using Layout Components

Topics include: What problems you run into when baking white space into components, and why your components should never contain any surrounding white space at all Layout challenges you run into due to the way the browser includes line-height in the size of text elements The trick Mark's team uses to remove surrounding white space from text elements, without removing the space between wrapping lines Using a "stack" component to specify the space between sibling elements Issues with naively just using margin on one side of an element to space elements The upcoming "gap" property in CSS and how it proves layout components are a good idea Using a "content block" component for horizontal spacing/sizing at the page level Tricks for maintaining vertical rhythm despite 1px borders trying to ruin it all for you Why tools like React are so important for being able to implement designs in a way that matches how designers think Links: "Rethinking Design Best Practices", Mark's talk at ReactiveConf 2019 Braid, the design system Mark works on Playroom Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to pick up one of my books or courses: Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

12 February 2020 56m and 33s


133: Sam Selikoff - Building Production-Ready SPAs Fast with Mirage.js

133: Sam Selikoff - Building Production-Ready SPAs Fast with Mirage.js

Topics What is Mirage and how does it work? What makes Mirage better than a dummy JSON server you run on another port? What makes Mirage better than running your actual API locally? Using Mirage for actual development, and not just for your test suite How Mirage's internal ORM works, and how it can help you mirror your API's behavior more quickly Managing the risks of maintaining a complex stub of your real API with Mirage and keeping them in sync What's next for Mirage Links Mirage.js Mirage.js on GitHub Supporting the show I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to pick up one of my books or courses: Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer. Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain. Test-Driven Laravel, 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. Refactoring to Collections, 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.

29 January 2020 1h, 3m and 9s


132: Caleb Porzio - Just Enough JavaScript with Alpine.js

132: Caleb Porzio - Just Enough JavaScript with Alpine.js

Topics include: What is Alpine and what does it replace? How does Alpine compare to Vue? How does Alpine compare to Stimulus? “Why not just use vanilla JavaScript you dummy?” How Alpine works internally Patterns for extracting reusable behaviours with Alpine The Alpine roadmap Sponsors: Tuple, try the best pair programming app out there for free for two weeks Links: Alpine.js on GitHub The template tag The with statement Proxy objects

15 January 2020 1h, 26m and 16s


131: Ryan Singer - How Basecamp Builds Software

131: Ryan Singer - How Basecamp Builds Software

Topics include: Why "fixed time, variable scope" is so important for actually getting things done Integrating development and design into a single process instead of design first, develop later What it means to "shape" work before deciding to work on it What it means to "bet" on a project, and why Basecamp would rather trash a project than extend the deadline by an extra week Taking deadlines seriously, and how it empowers teams to make their own decisions about scope to avoid having to trash the project An example of a project at Basecamp that failed to ship, and working through what they did wrong that led to that outcome De-risking projects by getting input from technical experts on the team before committing to actually doing the work 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? The difference between macro planning and micro planning on a project How Basecamp avoids iterating on solutions within a cycle without turning projects into fixed time, fixed scope 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 Applying "Shape Up" on client projects Sponsors: Tuple, try the best pair programming app out there for free for two weeks Links: Shape Up: Stop Running in Circles and Ship Work that Matters, Ryan's recent book about how they work at Basecamp

1 January 2020 1h, 13m and 20s


130: David Khourshid - Building Better UI Components with State Machines

130: David Khourshid - Building Better UI Components with State Machines

Topics include: What exactly is a finite state machine? Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code Why it makes so much more sense to keep track of a component's state using some sort of label 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 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 What events might look like in your state machine and where you're actually sending them from and to Advice for naming your events What it means to "transition" between states How using a state machine makes it easy to provide slightly different behavior for the same action based on the current state The benefits of visualizing your state machines Using the XState library to build state machines in JavaScript Sponsors: Tuple, try the best pair programming app out there for free for two weeks DigitalOcean, get your free $50 credit at do.co/fullstack Links: "No, disabling a button is not app logic.", David's recent article on state machines XState Docs

11 December 2019 54m and 16s


129: Evan You - What's Coming in Vue.js 3.0

129: Evan You - What's Coming in Vue.js 3.0

Topics include: What were the first feature/change ideas that got the wheels turning for Vue 3 How Vue's underlying VNode data structure is changing and how that affects users who work directly with render functions How the h function works in Vue 3 and how it helps you write code that's more composable How many breaking changes are just removing deprecations vs. hard breaks and how a compatibility build is going to ease the upgrade process The new template compiler and how it will drastically increase performance What were the goals of the class-based component API and why was it cancelled? The new composition API and how it will help you write more reusable logic without the downsides of mixins or scoped slots A deep-dive into reactive vs. refs in the composition API How the composition API compares to hooks in React How provide/inject is being improved for Vue 3 Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Vue 3 source code on GitHub Vue RFCs Vue 3 Composition API

27 November 2019 1h, 18m and 26s


128: Alasdair Monk - Scaling CSS at Heroku with Utility Classes

128: Alasdair Monk - Scaling CSS at Heroku with Utility Classes

Topics include: Why Heroku introduced BEM to try and solve their CSS issues and why it didn't work How custom tooling and Ember's component system alleviated any maintainability concerns about littering the HTML with presentational classes Why Heroku still uses some component classes like "btn" and "input" even though they could encapsulate those in an Ember component 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 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 Why the team at Heroku still loves working with this approach, even 3.5 years after introducing it How a utility-based approach has worked just as well for Heroku's marketing properties as it has for their application UI Pylon, Alasdair's experimental CSS library that provides declarative layout primitives in the form of custom HTML elements Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: purple3, Heroku's utility CSS library for their product UIs shibori3, Heroku's utility CSS library for their marketing properties Pylon, Alasdair's declarative CSS layout library

20 November 2019 1h, 1m and 11s


127: Jonathan Reinink - Building Modern Monoliths with Inertia.js

127: Jonathan Reinink - Building Modern Monoliths with Inertia.js

Topics include: What Inertia.js is and what problem it solves Why Inertia is more like a protocol than a framework How navigation works in Inertia How form submissions work in Inertia How Inertia automatically updates your assets for visitors when you update your code Handling flash messages and validation errors work Building applications with persistent layouts Showing placeholder screens with Inertia while data is loading Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Inertia.js Inertia.js on GitHub Ping CRM, the canonical Inertia.js demo application Placeholder components in Inertia.js Sponsor Jonathan's work on Inertia on GitHub

6 November 2019 1h, 36m and 25s


126: James Long - Building Distributed Local-First JavaScript Applications

126: James Long - Building Distributed Local-First JavaScript Applications

Topics include: How do you keep data synchronized between two different clients when all of the data is stored locally instead of in the cloud? Understanding conflict-free replicated data types and how they help when building distributed applications Diving deep into how messages are replayed across clients when network access becomes available to achieve consistent state Using a Merkle tree to efficiently compare the message store from two clients to know which messages need to be synchronized Considerations you need to make when structuring your data to enable eventual consistency 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 Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Actual Electron Conflict-free replicated data type (CRDT) Hybrid logical clock Merkle tree

23 October 2019 1h, 1m and 15s


125: Rob Walling - Choosing the Right Product Idea

125: Rob Walling - Choosing the Right Product Idea

Topics include: Brainstorming ideas vs. paying attention to your own problems Why it's smart to start with a product that might never make a million dollars a year Should you avoid markets with competition? Why it's a good idea to build something for fewer people Strategies for figuring out how many people have the problem you're trying to solve Why you should start marketing before you start building When should you start charging money for your product? Why getting 1,000 customers is extremely hard and how that affects your pricing Why you don't need an audience to build a software product Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Rob's website Startups for the Rest of Us, Rob's podcast Drip, the last software business Rob built TinySeed, Rob's startup accelerator for bootstrappers MicroConf, the conference Rob organizes "The Stairstep Approach to Bootstrapping" "Why You Should Start Marketing the Day You Start Coding" "Traction" by Gabriel Weinberg "SaaS Marketing Essentials" by Ryan Battles "Start Small, Stay Small", Rob's book

9 October 2019 55m and 1s


124: Leslie Cohn-Wein & Rafael Conde - Designing the User Interface at Netlify

124: Leslie Cohn-Wein & Rafael Conde - Designing the User Interface at Netlify

Topics include: Creating pixel-perfect mockups in advance vs. designing and implementing in tandem Working with existing JS libraries for interactive UI features vs. hand-rolling a custom implementation from scratch How design systems play into the design process at Netlify, and how mockups aren't meant to implemented pixel-for-pixel What tools Netlify uses to design new features and manage the design process What technologies Netlify uses to keep their UI consistent Using modern CSS features like CSS grid Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Netlify Analytics Highcharts Abstract Sketch PostCSS postcss-nested postcss-each

25 September 2019 56m and 24s


123: Ian Landsman - Marketing and Positioning a New Tailwind CSS Product

123: Ian Landsman - Marketing and Positioning a New Tailwind CSS Product

Topics include: Building website templates vs. a UI kit Should the product be positioned as a UI library or an educational resource? One-time purchase pricing vs. subscription pricing vs. some combination of the two Why marketing features can sometimes be better than marketing benefits "Dribbble but with code" Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Tailwind CSS Tweet previewing the Tailwind component directory Article on Sketch pricing model MegaMaker Club Thermostat, the NPS survey software Ian is working on

11 September 2019 1h, 6m and 20s


122: Matt Biilmann - Architecting the Netlify Dashboard with React and Redux

122: Matt Biilmann - Architecting the Netlify Dashboard with React and Redux

Topics include: Walking through how a single screen in the app is rendered in step-by-step detail How they separate container components and presentational components to make things easier to reason about How the Redux store is organized How they handle caching data on the client and deciding when to bust the cache How the API is designed Why they are sticking with REST instead of Graphql How they handle authentication in their app Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Netlify React React Router "Presentational and Container Components" by Dan Abramov Netlify's Storybook Immutable Immer redux-funk Netlify Analytics JAMstack Conf

28 August 2019 55m and 54s


121: Benedikt Deicke - Building Userlist.io

121: Benedikt Deicke - Building Userlist.io

Topics include: The risks and technical challenges of building client-side API integrations and why Benedikt decided to focus on a server-side integration for launch Building Userlist with Ember instead of trendier tools like React How the Ember app authenticates with the Rails API Strategies for keeping email deliverability high for Userlist's customers How Benedikt built Userlist's complex segmentation engine by creating a custom AST structure and compiling it to SQL How the automation and email scheduling system works Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Userlist.io Slow and Steady, Benedikt's podcast Prosemirror Ember Ruby on Rails Sidekiq Sparkpost

14 August 2019 50m and 48s


120: Taylor Otwell - Serverless Laravel with Vapor

120: Taylor Otwell - Serverless Laravel with Vapor

Topics include: What is serverless? What AWS services Vapor manages and how they are billed Using a single RDS instance with multiple databases Understanding cold boots with Lambda and how to minimize the effect they have on your application's performance Performance on Vapor How queues work with Vapor Tuning your queue concurrency based on your database connection limit Strategies for preventing your web instances and queue instances from competing for resources How scheduled tasks work with Vapor How file uploads work with Vapor Limitations when running code on Lambda and strategies for working around them Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Laravel Vapor Intro to Laravel Vapor, Taylor's talk at Laracon

31 July 2019 1h, 1m and 33s


119: Ryan Toronto - Why a Back-End Developer Made the Switch to SPAs

119: Ryan Toronto - Why a Back-End Developer Made the Switch to SPAs

Topics include: How modernizing a Flash app drove Ryan to start building SPAs 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 Why the backend will continue to be commoditized and application developers will be spending more and more of their time in the UI What makes something a web app instead of a website, and why almost everything is actually an app Why application developers still need to write server-side code right now and what areas have the biggest room for innovation and improvement Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: EmberMap, Ryan's tutorial site Mirage.js Client-side SQL GraphQL Hasura GraphQL Engine, an automatic GraphQL API over Postgres Conversation on ugprading API requests Interview with Michelle Bu of Stripe

17 July 2019 59m and 9s


118: Aaron Gustafson - Semantic HTML: The Hard Parts

118: Aaron Gustafson - Semantic HTML: The Hard Parts

Topics include: Can you have more than one "h1" on page? How important is heading order? Why not everything that looks like a heading should necessarily be a heading Why you may want to include invisible headings in some situations What the document outline is and how your use of headings impacts it How to make your heading levels dynamic to make your components more flexible What a "sectioning context" is Can you have multiple "article" elements on one page? What even is an "article" anyways? How to use elements like "section" and "aside" properly Should navigation items be in lists? Why Aaron can't remember the last time he used a "span" Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Aaron's personal website HTML5 Element Flowchart from html5 Doctor

3 July 2019 1h, 9m and 53s


117: Mitchell Hamilton - Writing CSS-in-JS with Emotion

117: Mitchell Hamilton - Writing CSS-in-JS with Emotion

Topics include: What CSS-in-JS even is What Emotion does differently than other CSS-in-JS libraries How to actually use Emotion to style your projects How the JSX pragma works and what it's for How Emotion works under the hood Performance Adding global styles to your project Style re-use and composition in Emotion Using Emotion with server-side rendering Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Emotion Glam Glamor Glamorous Styled Components JSX pragma CSSStyleSheet.insertRule() Global styles in Emotion Server-side rendering in Emotion

20 June 2019 51m and 59s


116: Jerod Santo - Building the Changelog Platform with Elixir and Phoenix

116: Jerod Santo - Building the Changelog Platform with Elixir and Phoenix

Topics include: How pattern matching works in Elixir and why it's more powerful than method overloading in other languages How Elixir's pipe operator makes the transition from OO to functional programming more natural Why you don't need to be intimidated by unfamiliar features like GenServers to use Elixir for web app development Noticeable differences between working with Rails and Phoenix and what it was like to transition How the Phoenix ORM makes n+1 queries impossible Why background tasks are a lot easier in Elixir than in an ecosystem like PHP What other tools and technology power the Changelog platform How the Changelog Phoenix app is deployed Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Building rapid UI with utility-first CSS, Adam's episode of JS Party Elixir Phoenix Chris McCord on The Changelog The Changelog source code Confident Ruby "Why we chose Turbolinks" Programming Phoenix book Elixir Forum Our Slack

5 June 2019 1h, 41s


115: Jason Lengstorf - Gatsby for Skeptics

115: Jason Lengstorf - Gatsby for Skeptics

Topics include: How Gatsby is more than just a static site generator How you create pages with Gatsby and how it's more powerful than traditional static site generators The benefits of having a unified data access layer for all of your content How to build dynamic applications with Gatsby Why Gatsby is actually faster than static HTML How Gatsby makes performance best practices easy Gatsby themes and why they are more exciting than traditional CMS themes Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Gatsby GraphQL gatsby-image Reach Router The PRPL Pattern Jason on Twitch

22 May 2019 55m and 24s


114: Sebastian De Deyne - React for Vue Developers

114: Sebastian De Deyne - React for Vue Developers

Topics include: 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 How to translate Vue's computed properties to React using the useMemo hook How to translate Vue's watchers to React using the useEffect hook How to translate Vue's v-model to React using value props and event listeners How to translate Vue's events to React using callback props How to translate Vue's slots to React by passing JSX as a normal prop How to handle transitions in React with libraries like Pose Sponsors: DigitalOcean, get your free $100 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Why I prefer React over Vue, from Sebastian's blog React docs Introducing Hooks at React Conf Hooks docs Vue Template Explorer Pose, animation library for React and Vue Overreacted.io, Dan Abramov's React blog

8 May 2019 1h, 4m and 16s


113: Justin Jackson - Growing Transistor to $10,000/month

113: Justin Jackson - Growing Transistor to $10,000/month

Topics include: Why you need more than just a product, and what Justin brings to the table in his partnership with Jon How having an audience helped him get his first customers, even in a crowded market 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 "People like us do things like this" vs "scratching your own itch" How their affiliate program has been working surprisingly well for them, and how affiliate programs compare to traditional advertising What Justin's day looks like working on Transistor as the marketing focused side of the partnership How Justin and Jon are paying themselves, inspired by Profit First Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free DigitalOcean, get your free $50 credit at do.co/fullstack Links: Transistor, Justin's podcast hosting business Build your SaaS, Justin's podcast on building Transistor with Jon The Good News Podcast, Cards Against Humanity's podcast hosted on Transistor The Transistor blog Transistor's revenue metrics Rewardful, the affiliate SaaS Justin uses Profit First

24 April 2019 1h, 5m and 25s


112: Guillermo Rauch - Building Serverless Applications with Now

112: Guillermo Rauch - Building Serverless Applications with Now

Topics include: How Now is trying to bring the CDN experience to your server-side code How the constraints of serverless can nudge you to build more robust solutions How to talk to a database in a stateless serverless environment Best practices for deploying serverless code when you have a centralized data store Why routing should be handled at the Now configuration level instead of in application code How Now functions are different from microservices, and how you share code between them How Now bundles your project using builders Creating a monolithic project with Now that uses different programming languages for each endpoint How the upcoming "now dev" feature will enable you to simulate a serverless environment locally A behind-the-scenes look at the Now dashboard, how it's built, and the third-party services that power it Sponsors: DigitalOcean, get your free $50 credit at do.co/fullstack Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: ZEIT Next.js Now.sh Now builders on GitHub Now Monorepo example Wordpress running on Now on now Third-party services for serverless projects:  Cosmos DB ScaleGrid Compose DynamoDB Firebase Amazon Aurora Auth0

10 April 2019 1h, 8m and 44s


111: Jeffrey Way - Building the New Laracasts with Tailwind CSS

111: Jeffrey Way - Building the New Laracasts with Tailwind CSS

Topics include: How Jeffrey has written CSS historically, and what drew him to a utility-first approach Incrementally replacing Bulma with Tailwind The importance of solidifying your Tailwind configuration before beginning to implement a design The new Tailwind color system Why choosing a color palette in advance is much better than using preprocessor functions like darken() or lighten() How duplicating your markup is often a better solution than trying to write incredibly crafty responsive CSS How Tailwind helps with performance by letting you keep your CSS cached How to use CSS variables to create multiple themes for the same Tailwind site Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective ImageCon, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15. Links: Laracasts Tailwind CSS Group Hover in Tailwind Mobile Twitter, responsive app without media queries Theming Tailwind demo on GitHub Easy Tailwind Themes Using CSS Variables, free lesson on Laracasts Laravel, Vue and SPAs, Laracasts series on building an SPA with Tailwind CSS LaraCats.com 😸

28 March 2019 1h, 24m and 37s


110: Caleb Porzio - Embracing the Backend with Livewire

110: Caleb Porzio - Embracing the Backend with Livewire

Topics include: Pain points you run into when you are working in a JS based UI instead of a server-rendered UI What Livewire is and where the inspiration came from How Livewire lets you build interactive user interfaces with server-side code The challenges of stateful long-running processes in PHP and using stateless AJAX requests as an alternative Walking through a worked example of using Livewire to build an interactive dropdown What's next for Livewire Sponsors: ImageCon, Cloudinary's upcoming conference for any developer who works with rich media. Get 15% off using the code FULLSTACKRADIO15. Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: Full Stack Radio T-Shirt + Sticker Pack Pre-orders Caleb's blog, loaded with great Livewire content No Plans to Merge, Caleb's podcast Sharing Data in a Laravel/Vue Application on the Zaengle blog Embrace the Backend, Caleb's talk at Laracon 2018 Phoenix LiveView unveiling at ElixirConf 2018 morphdom Sign up for Livewire updates

14 March 2019 58m and 53s


109: The Road to Tailwind CSS v1.0

109: The Road to Tailwind CSS v1.0

🎉You can now pre-order Full Stack Radio shirts and stickers! Learn more → Topics include: Semantic versioning and why there hasn't been a v1.0 release already How v1.0 will be encouraging people to leverage the default design system Breaking changes and what the upgrade story will be like What's coming after Tailwind CSS v1.0 Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: Full Stack Radio T-Shirt + Sticker Pack Pre-orders Tailwind CSS Adam's Work Journal, where writes about his progress on v1.0 The v1.0 To-Do List PR explaining the new config format

27 February 2019 1h, 43m and 9s


108: Jonathan Reinink - Client-Side Rendering, Server-Side Routing

108: Jonathan Reinink - Client-Side Rendering, Server-Side Routing

Topics include: Why the UI fidelity threshold for building an SPA feels so low How forcing yourself to prepare data for Vue helps avoid putting too much logic into your templates 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 Performance and complexity benefits of being able to prepare data for the view in a controller instead of having to build an API Strategies for dealing with things like accessing routes, checking authorization rules, and other things you'd normally do in a Blade template Switching from a template-inheritance mindset to a component mindset Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Laravel Vue.js Server-side apps with client-side rendering, from Jonathan's blog Example project Ziggy, package for accessing your Laravel routes on the client

14 February 2019 1h, 9m and 45s


107: Sam Selikoff - Pushing Complexity to the Client-Side

107: Sam Selikoff - Pushing Complexity to the Client-Side

Topics include: Building an API without writing any controller code Thinking of your API like a database as much as possible Modeling everything on the server as a resource, including things like S3 upload signatures Using tools like Firebase to avoid writing an API entirely Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: EmberMap, Sam's Ember.js training site JSON:API, the API spec Sam uses to build his SPA backends JSONAPI::Resources, the Rails gem for declaratively building a JSON:API compliant API Firebase Vuex Apollo GraphQL

30 January 2019 50m and


106: Sam Selikoff - Single Page Application Architecture

106: Sam Selikoff - Single Page Application Architecture

Topics include: Why you should think of SPAs as desktop apps instead of web apps Strategies for pushing complexity out of your backend and on to the client Building optimistic UIs Best practices for storing and retrieving data Why you should design your SPAs with an "offline-first" mindset Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: EmberMap, Sam's Ember.js training site Cruddy by Design, Adam's talk on modeling with resources Progressive Enhacement is Dead, Long Live Progressive Enhancement, a talk from Tom Dale that talks about building offline-first web applications Ember Data JSON:API Ember-Orbit

16 January 2019 55m and 24s


105: Strength Training for Nerds

105: Strength Training for Nerds

Topics include: What exercises you should focus on and why How to develop a system that will force you to make progress The importance of keeping a training journal Why full-body workouts are better than training a specific muscle group each day The importance of mobility for both training and your work life Why building strength is so important as you age Why you shouldn't trust trainers trying to sell complex exercise programs Why you probably shouldn't be running for exercise What equipment you need to get started Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Starting Strength by Mark Rippetoe 5/3/1 by Jim Wendler Deskbound by Kelly Starrett Atomic Habits by James Clear Strong app for iOS "Why You Should Not Be Running" by Mark Rippetoe The MobilityWOD BattleStar Rogue Fitness Adam's last powerlifting competition on YouTube Habits for Hackers, Ben's latest course

3 January 2019 1h, 3m and 8s


104: Jonathan Reinink - Pushing More Work to the Database

104: Jonathan Reinink - Pushing More Work to the Database

Topics include: Issues you run into when you do too much work in code instead of in the database Why memory usage is just as important as query count How being smarter with your database usage can let you avoid hard problems like cache invalidation Denormalizing computable data to make it queryable Using "where not exists" strategically to improve query performance Why the solution to n+1 problems isn't always as simple as eager-loading How subqueries work and how you can use them to avoid memory problems when eager-loading Sponsors: Oh Dear!, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: Refactoring UI "Dynamic relationships in Laravel using subqueries" on Jonathan's blog Source code for Jonathan's Laracon Online talk The benefits of NOT EXISTS on StackOverflow Advanced Eloquent, Jonathan's Laravel package

19 December 2018 1h, 1m and 46s


103: Steve Schoger - Design Q&A + Refactoring UI Details

103: Steve Schoger - Design Q&A + Refactoring UI Details

Questions include: What's your process for getting started on a new design? How do you make your designs feel original? How do you choose fonts for a new project? How do you make complex tables look good, and how do you make them work on mobile? What's the best way to style multiple secondary actions on a page? Refactoring UI topics include: Structuring the book to make it easy to read in a short amount of time An overview of the sections and chapters in the book What's covered in the screencasts How the included color palettes are designed and why they are more useful than the color palettes you're used to generating online What the font recommendation guide includes and how it's organized Details about the included icon set What's inside the component gallery, and how it's meant to be used The release date! 🎉 Sponsors: Rollbar, sign up at rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Oh Dear!, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month Links: Refactoring UI 🔥 Design Tips Fonts In Use "Getting Real" by Basecamp, our inspiration for structuring the book Refactoring UI on YouTube Preview of the Refactoring UI icon set Preview of the Refactoring UI color palettes Preview of the Refactoring UI component gallery

5 December 2018 1h, 5m and 12s


102: Paul Jarvis - Staying Small

102: Paul Jarvis - Staying Small

Topics include: Why "success" shouldn't mean the same thing to everyone How to stay small without doing all the work you don't want to do yourself 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 Questions to ask yourself to figure out what "success" would be for you How knowing your "enough" can help you build better products for the people you want to serve Why you should ignore the people who don't like what you're doing and double down on the people who love it Sponsors: Oh Dear!, sign up with the coupon code "FULLSTACKRADIO" to get 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: Paul's website Company of One, Paul's upcoming book "Enough already", from Paul's blog "1,000 True Fans", by Kevin Kelly "Find your rat people", from Paul's blog "Sean D'Souza doesn't want to grow his company!"

21 November 2018 1h, 6m and 3s


101: Ben Orenstein - How to Build an App in a Week

101: Ben Orenstein - How to Build an App in a Week

Topics include: Why deadlines are critical Using manual processes to avoid building features entirely How launching a stripped down version of your idea can help you build the right thing Recognizing when you don't need to solve a problem yet Why you shouldn't design your entire UI up front How evolutionary design applies to both code and interface design Why you should always finish a feature before starting the next one Applying this approach to Ben's current project Tuple Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: The Art of Product, Ben's podcast Tuple, Ben's current project "You Should Take a Codecation" Trailmix.life, Ben's first codecation SaaS Briefs.fm, Ben's second codecation SaaS Nomadlist, by Pieter Levels Airline List Basecamp 6 week cycles "How we structure our work and teams at Basecamp" "What six weeks of work looks like" (at Basecamp) "Making Sense of MVP", by Henrik Kniberg

7 November 2018 55m and 25s


100: Sébastien Chopin - Building Universal Vue.js Apps with Nuxt.js

100: Sébastien Chopin - Building Universal Vue.js Apps with Nuxt.js

Topics include: The history behind Nuxt.js How Nuxt.js uses special Page components and file-based routing instead of using a traditional router Creating dynamic page-based routes without a custom server How the asyncData lifecycle hook works How server-side rendering works in Nuxt.js How Nuxt.js uses intelligent code-splitting to improve performance How to use the fetch method to dispatch Vuex actions Using the head method to populate head elements on a page How layouts and middleware work Options for generating, serving, and deploying Nuxt applications When and why would someone use Vue CLI instead of Nuxt? Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Links: VueConf TO Discount Nuxt.js Documentation Vuepress Vue CLI 3

24 October 2018 48m and 48s


99: Tim Neutkens - Building React Apps with Next.js

99: Tim Neutkens - Building React Apps with Next.js

Topics include: How Next.js is different than using create-react-app How page-based routing works in Next.js vs. a traditional router The mechanics behind how components are server-side rendered and picked up by React on the client What it really means to server-render a React app and how it's different from a traditional server-rendered web app How to use "getInitialProps" to tell Next.js how to render a page on the server How dynamic routing works using page-based routing What's new in Next.js 7.0 Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio and install Rollbar in your app to receive a $100 gift card for Open Collective Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: VueConf TO Discount Next.js Documentation Learn Next.js, official guide Next.js Blog Next.js Examples on GitHub

10 October 2018 52m and 2s


98: Ryan Chenkie - Securing Single Page Applications

98: Ryan Chenkie - Securing Single Page Applications

Topics include: What JSON Web Tokens are and how to use them to authenticate users Strategies for invalidating stateless API tokens Using cookie and session authentication Using authentication-as-a-service solutions like Auth0 Proxying requests to your API to simplify CORS issues Protecting against XSS attacks Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: JSON Web Tokens Securing Angular Applications, Ryan's book Security Headers scanning tool "I’m harvesting credit card numbers and passwords from your site. Here’s how." https://auth0.com/ "CORS is bad for performance" Twitter thread

26 September 2018 57m and 46s


97: Ryan Florence - Building Accessible UI Components

97: Ryan Florence - Building Accessible UI Components

Topics include: How modern JS frameworks have made the web less accessible How Reach UI is making it easier for people to build accessible components without sacrificing customizability The importance of using the correct markup How focus trapping works Adding keyboard navigation to components in a way that makes sense for screenreader users The challenges of building an accessibility-focused UI library Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Reach UI React Native for Web WAI-ARIA Authoring Practices VoiceOver NVDA Hiding elements visually but not from screenreaders Ryan's Advanced React Workshop Tour Ryan's Online React Courses

12 September 2018 59m and 44s


96: James Clear - Designing Your Environment to Shape Your Behavior

96: James Clear - Designing Your Environment to Shape Your Behavior

Topics include: Why goals aren't useful on their own The four rules that guide human behavior Using environment design to encourage the habits you want to adopt Building habits of avoidance Why being productive is really about decision making Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Netlify, incredibly powerful static site hosting for free Links: JamesClear.com Pre-order Atomic Habits, James' upcoming book James' Newsletter

29 August 2018 1h, 1m and 21s


95: Frank de Jonge - Implementing Event Sourcing

95: Frank de Jonge - Implementing Event Sourcing

Topics include: How to fetch and reconstitute an aggregate from its events Using generators to make it easy to transform event streams What it looks like to apply an event to an aggregate How to create events and what they look like Implementing a message repository for fetching events from storage How to raise events from inside your aggregates How to persist aggregates at the end of a request What it looks like to insert new events into storage Dispatching events to consumers to produce side effects Using event consumers to create and update projections Sponsors: Netlify, incredibly powerful static site hosting for free Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Full Stack Radio #85 EventSauce, Frank's event sourcing library

15 August 2018 1h, 28m and 56s


94: Ben Orenstein - The Art of Pairing

94: Ben Orenstein - The Art of Pairing

Topics include: The benefits of pairing with someone more experienced than you The benefits of pairing with someone less experienced than you How pairing helps you build things faster Why pairing often removes the need for code review How to get started with pairing if you've never done it before Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Netlify, incredibly powerful static site hosting for free Links: Tuple, the remote pairing tool Ben is building Tuple's Pair Programming Guide The Art of Product, Ben's podcast with Derrick Reimer Ben's blog Pair programming on Wikipedia "Extreme Programming Explained" by Kent Beck "How to Improve as a Programmer" Llewellyn’s strong-style pairing The Pomodoro Technique Vehikl podcast episode on pairing

1 August 2018 53m and 5s


93: Justin Jackson - Who You Want to Help > What You Want to Build

93: Justin Jackson - Who You Want to Help > What You Want to Build

Topics include: Why you should choose a market before getting too attached to the type of product you want to create Why it can make sense to create products in different categories if they are for the same people Why a CSS framework and a TDD course have more in common than it sounds 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 What you should be doing instead of racking your brain for app ideas Sponsors: Netlify, incredibly powerful static site hosting for free Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: "Anything You Want" by Derek Sivers Adam's tweet storm after re-reading "Anything You Want" Justin's talk on product validation at MicroConf 2018 Justin's website Justin's Marketing for Developers course Build your SaaS, Justin's podcast about building Transistor.fm

18 July 2018 1h, 14m and


92: Derrick Reimer - Building an SPA with Elm, Phoenix and GraphQL

92: Derrick Reimer - Building an SPA with Elm, Phoenix and GraphQL

Topics include: Why Derrick chose to build Level as an SPA Choosing Elm over React or Vue How Elm is sort of like a language and framework combined Moving to Phoenix from Rails Why getting abstractions right feels easier in a functional language How "contexts" help you organize your Phoenix code The benefits of GraphQL over REST What it looks like to implement GraphQL on the server Avoiding n+1 queries with GraphQL Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Links: Level Level live-coding screencasts on YouTube Elm, the functional programming language Derrick is using on the frontend An Introduction to Elm, the official tutorial The Elm Architecture Elixir, the functional programming language Derrick is using on the backend Phoenix, the Elixir framework Contexts in Phoenix GraphQL Absinthe, GraphQL implementation for Elixir

3 July 2018 1h, 2m and 6s


91: Derrick Reimer - Designing a Calmer Team Communication Platform

91: Derrick Reimer - Designing a Calmer Team Communication Platform

Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Level The War on Developer Productivity, the Level manifesto Level live-coding screencasts on YouTube Ghost, open-source publishing platform Discourse, open-source discussion platform "After 5 years and $3M, here's everything we've learned from building Ghost",

20 June 2018 48m and 49s


90: David Hemphill - Using JSX with Vue.js

90: David Hemphill - Using JSX with Vue.js

Topics include: What even is JSX, really? Why JSX is not a templating a language How render functions work Advantages of JSX over templates How to translate template features like v-if to JSX How event listeners work with JSX JSX gotchas to watch out for Sponsors: Cloudinary, sign up and get 300,000 images/videos, 10GB of storage and 20GB of monthly bandwidth for free Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Introducing JSX from the React documentation Render Functions & JSX in the Vue.js documentation Vue.js Template Explorer, see how Vue compiles templates to render functions babel-plugin-transform-vue-jsx on GitHub Vue Templates in JSX, article by Sebastian De Deyne Prettier code formatter Hyperscript Why React uses "className" instead of "class" Writing Vue.js Render Functions in JSX from Alligator.io

13 June 2018 1h, 4m and 17s


89: Sam Selikoff - Choosing Ember.js in 2018

89: Sam Selikoff - Choosing Ember.js in 2018

Topics include: Why has Ember stuck around when other frameworks from the same era haven't? What do you get when you choose Ember that you don't get with other frameworks? How does Ember's UI layer compare to React/Vue? What choices does Ember make differently than frameworks like React and Vue? How does Ember do state management? Why Ember is a great choice if you value stability Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: EmberMap, Sam's Ember.js training site Ember.js Documentation ember-cli-tailwind, Tailwind CSS add-on for Ember Handlebars, Ember's templating language "Should we use controllers?", on how controllers fit into Ember when also using components Ember Data Ember's release cycle embercasts, Ember.js training for beginners

23 May 2018 1h, 2m and 4s


88: Blake Newman - Vue.js State Management with Vuex

88: Blake Newman - Vue.js State Management with Vuex

Topics include: What is Vuex and where did it come from? The benefits of centralizing all of your application's state into one place What sort of state belongs in Vuex and what state should stay local to a component What all the Vuex terminology means, like actions, mutations, getters, etc. How you initially populate a Vuex store Strategies for organizing all of the state in a store Common mistakes people make with Vuex Dealing with forms when using Vuex Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Advanced Vue Component Design, Adam's upcoming course Vuex Documentation The Elm Architecture Intro to Vuex on CSS Tricks by Sarah Drasner

10 May 2018 57m and 33s


87: Chris Fritz - Vue.js Anti-Patterns (and How to Avoid Them)

87: Chris Fritz - Vue.js Anti-Patterns (and How to Avoid Them)

Topics include: Why global state is better than an event bus Why and how to avoid using this.$parent Custom events vs. callback props When to use watchers and when you don't need to Why you should prefer computed properties over methods Inline templates vs. scoped slots Using components to share code instead of mixins or directives Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Advanced Vue Component Design, Adam's upcoming course Chris on GitHub Chris on Patreon "7 Secret Patterns Vue Consultants Don't Want You To Know", Chris' recent presentation "Methods, Computed, and Watchers in Vue.js" by Sarah Drasner PortalVue, library for rendering elements outside of their parent component vue-enterprise-boilerplate

25 April 2018 1h, 10m and 15s


86: Jonathan Reinink - Rebuilding a SaaS with Vue.js and Tailwind CSS

86: Jonathan Reinink - Rebuilding a SaaS with Vue.js and Tailwind CSS

Topics include: Wrapping non-Vue libraries as Vue components to maintain a consistent paradigm Using Popper.js with Vue to build dropdowns and tooltips Using portals to build better modal components Patterns for making it easier to reuse components throughout an application Which Tailwind CSS component classes Jonathan chose to extract (and which ones he didn't) How Jonathan chose to customize his Tailwind configuration for his project Using Tailwind's advanced screen options to better accommodate a sidebar layout How Jonathan is using Purgecss to reduce his CSS from 110,000 lines of code 1.7mb in development to 8.8kb in production Sponsors: Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Advanced Vue Component Design, Adam's upcoming course "Building a Sortable Component with Vue.js", replay from Adam's recent live stream Vue.js Tailwind CSS Turbolinks Popper.js positioning library Pikaday date picker library Vue.nextTick() PortalVue, library for rendering elements outside of their parent component Portals in React Purgecss

11 April 2018 1h, 32m and 12s


85: Frank de Jonge - Event Sourcing for Beginners

85: Frank de Jonge - Event Sourcing for Beginners

Topics include: What does "event sourcing" even mean? What do terms like "aggregate" and "projection" mean in the context of event sourcing? What are the benefits of modeling something with event sourcing vs. a traditional state-based approach? How events are usually stored Why and how you might build multiple projections from a single event stream How events in event sourcing differ from the sort of events you might already be using in your projects A walkthrough of what the actual code would look like to model a "publish blog post" feature using event sourcing Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Advanced Vue Component Design, Adam's upcoming course Frank's Blog EventSauce, Frank's new PHP event sourcing library Event Store event sourcing database "Event Sourcing" introduction by Martin Fowler "Event Sourcing" talk by Greg Young at GOTO 2014

30 March 2018 1h, 12m and 27s


84: Edd Yerburgh - Testing Vue.js Components

84: Edd Yerburgh - Testing Vue.js Components

Topics include: Challenges with testing Vue components prior to vue-test-utils How vue-test-utils works and what it looks like to test a component Choosing a test runner Common mistakes people make when testing their components Mocking and stubbing external dependencies Combining unit testing with snapshot testing Sponsors: Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: vue-test-utils on GitHub vue-test-utils Documentation "Testing Vue.js Applications", Edd's book Enzyme testing utility for React jsdom Jest, Edd's recommended test runner mocha-webpack Mocking in Jest Snapshot testing in Jest Async Vue components

14 March 2018 44m and 29s


83: DHH - Stimulus in Practice + On Writing Software Well

83: DHH - Stimulus in Practice + On Writing Software Well

Topics include: What JavaScript looked like at Basecamp before Stimulus Why Basecamp chose to create a new framework instead of using React, Angular, or Vue How Basecamp uses server-rendered partials instead client-side templates Why David decided to start "On Writing Software Well" Evaluating patterns in practice and choosing between conflicting approaches Using concerns/mixins to organize classes with many features Applying resourceful routing to singular resources Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Stimulus Homepage Stimulus on GitHub David's blog post introducing Stimulus Turbolinks Webpacker "Server-generated JavaScript Responses (SJR)" (2013) respond_to, returning multiple formats from the same Rails controller "On Writing Software Well"  1: Removing the need for code comments 2: Using callbacks to manage auxiliary complexity 3: Using globals when the price is right 4: Not every model is backed by a database 5: Testing without test damage or excessive isolation Basecamp's "Getting Real" YouTube channel

28 February 2018 53m and 11s


82: Sarah Drasner - Animating the Web with CSS and JavaScript

82: Sarah Drasner - Animating the Web with CSS and JavaScript

Topics include: Using animation to make interfaces easier to use The difference between animations and transitions When to use CSS animations vs. JavaScript animations Which CSS properties are safe to animate How to use techniques like FLIP to make sure your animations are performant Recommended libraries for building complex animations Strategies for keeping animation code maintainable Sponsors: Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Sarah's Personal Website Sarah on CodePen "SVG Animations", Sarah's book "Functional Animation", Sarah's talk on using animation to create spatial awareness and make interfaces easier to use GreenSock animation library "Animation in Design Systems", Sarah's article at 24 ways "FLIP Your Animations", using the FLIP technique to make animations more performant Transitions in Vue.js "Animating Vue", Sarahs' talk from VueConf 2017 Web Animation Workshops with Sarah and Val Head

14 February 2018 50m and 46s


81: Evan You - Advanced Vue Component Design

81: Evan You - Advanced Vue Component Design

Topics include: What is a "higher order component"? How do you replicate the render prop pattern from React with Vue? Using scoped slots to build components with no UI Using render functions without using JSX How Vue's built-in components like `` work under the hood Sponsors: Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Vue.js Homepage The Vue Point, the official Vue.js blog on Medium Higher-Order Components, from the React documentation "Use a Render Prop!" by Michael Jackson, an introduction to render prop components in React Scoped Slots documentation Render Functions documentation "Writing Abstract Components with Vue.js", tutorial on writing a render function component with Vue Fetch Component Demo, based on the component Evan describes in the podcast

31 January 2018 48m and 52s


80: Tom Schlick - Building Multitenant Applications

80: Tom Schlick - Building Multitenant Applications

Topics include: What makes an application "multitenant" really? Choosing between a shared database or multi-database setup Approaches for identifying the current tenant Performance considerations How multitenancy impacts how you integrate with external services Sponsors: Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: "Building Multitenant Applications", video of Tom's talk from Laracon US 2017 Slides from Tom's multitenancy talk "Online migrations at scale" on the Stripe engineering blog "Migrating replication lag and reducing read load with freno" on the GitHub engineering blog

17 January 2018 56m and 45s


79: Kent C. Dodds - Building Reusable React Components with Render Props

79: Kent C. Dodds - Building Reusable React Components with Render Props

Kent gives a behind-the-scenes look at how the library uses the render prop pattern to allow maximum customizability without complex configuration. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: downshift on GitHub "Introducing downshift for React" from Kent's blog "Use a Render Prop!" post by Michael Jackson "Compound Components" talk by Ryan Florence match-sorter, Kent's best-match sorting library Awesome React Render Props react-toggled, Kent's toggle component library Kent's newsletter "Learn React Fundamentals and Advanced Patterns", blog post introducing Kent's React courses

21 December 2017 51m and 6s


78: Ben Orenstein - Our All-Time Favorite Refactorings

78: Ben Orenstein - Our All-Time Favorite Refactorings

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Refactoring Rails, Ben's refactoring course The 30 Day Code Quality Challenge, Ben's free 30-day code quality course Refactoring from Good to Great, Ben's popular refactoring talk Decompose Conditional, an example of "make the implicit explicit" Introduce Parameter Object Replace Conditional with Polymorphism Chasing Perfect, Adam's talk about refactoring with polymorphism Introduce Null Object Replace Method with Method Object "Why Ruby Class Methods Resist Refactoring" from the Code Climate blog Collection Pipeline, Martin Fowler's article on replacing loops with array transformations Curing the Common Loop, Adam's talk on refactoring loops and conditionals Refactoring to Collections, Adam's book and video series Boundaries, Gary Bernhardt's talk about OO, functional programming, and immutability

6 December 2017 50m and 37s


77: Tailwind CSS Q&A and the Road to 1.0

77: Tailwind CSS Q&A and the Road to 1.0

Topics include: Why Tailwind doesn't include buttons or forms Is Tailwind for front-end developers or back-end developers? Best practices around extracting component classes Using Tailwind with existing CSS or on top of other frameworks Optimizing Tailwind's generated file size New features planned for upcoming Tailwind releases Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Tailwind CSS Homepage Tailwind CSS GitHub repository Tailwind CSS discussion forum @tailwindcss on Twitter Built with Tailwind, a curated list of cool stuff built with Tailwind Tailwind Expo, more cool stuff built with Tailwind Tailwind CSS lessons on Egghead.io, by Simon Vrachliotis purgecss, amazing tool for removing unused CSS from your codebase Using PurgeCSS to remove unused Tailwind CSS classes, by Andrew Del Prete Jason Beggs' personal site, built with Tailwind and optimized with PurgeCSS Building a Login Page with Tailwind CSS, tutorial by Mustafa Ehsan Introducing Tailwind CSS on Scotch.io by Ezeugwu Paschal

21 November 2017 1h, 27m and 12s


76: Tailwind CSS vs. the World

76: Tailwind CSS vs. the World

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship, check out how they performed in Forrester's latest Continuous Integration Tools report Links: Tailwind CSS Homepage Tailwind CSS GitHub repository Tailwind CSS discussion forum @tailwindcss on Twitter "CSS Utility Classes and Separation of Concerns", Adam's post on moving from "semantic" CSS to utility-first "Rebuilding Laravel.io with Tailwind CSS", a video walkthrough of implementing a design with Tailwind

8 November 2017 1h, 1m and 12s


75: Diana Mounter - Design Systems and Utility Classes at GitHub

75: Diana Mounter - Design Systems and Utility Classes at GitHub

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Diana's personal website Primer, GitHub's design system Primer modules on GitHub "Introducing Design Systems into Chaos", Diana's recent talk on her work on design systems at GitHub Percy, a visual regression testing tool Primer CSS on Twitter GitHub Design on Twitter

25 October 2017 44m and 24s


74: Steve Schoger - Tactical Design Advice for Developers

74: Steve Schoger - Tactical Design Advice for Developers

Topics include: How to pick great fonts Choosing a color scheme for your project Designing in greyscale Recreating existing interfaces from scratch Recommended design tools What you should design first on a new page Strategies for making things look professional without graphic design skills Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Steve's Blog Little UI Details, a collection of Steve's hot design tips Google Fonts, prefiltered "12 Google Fonts You Can't Go Wrong With", by Steve System Font Stack courtesy of CSS-Tricks Inter UI font family (formerly "Interface") WhatFont Chrome Extension Fonts In Use Dribbble color picker "Color in UI Design" by Erik Kennedy (great resource on HSL) Sketch, design tool for macOS Figma, cross-platform design tool "Building a professional design tool for the web", on how Figma is written in C++ and compiled to asm.js "Epicenter Design" by 37signals Doodle, example of a small UI Example login page, from Shippo Refactoring UI "Redesigning Laravel.io" case study Zondicons, Steve's free SVG icon set Hero Patterns, Steve's free SVG background pattern gallery Pushsilver, example of Hero Patterns in use Heroicons, Steve's premium marketing icon kit

12 October 2017 1h, 7m and


73: Justin Jackson - Making a Living From Your Own Projects

73: Justin Jackson - Making a Living From Your Own Projects

Topics include: Why you shouldn't start with SaaS How to find ideas from client projects What to do before you make a landing page Why your first product doesn't have to be the one that makes you rich Using open source to build an audience Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Getting Real by 37signals (now Basecamp) Startups for the Rest of Us podcast Storemapper, interview with Tyler Tringas for IndieHackers Pippin's Plugins The Stairstep Approach to Bootstrapping by Rob Walling The Freedom Ladder by Justin Jackson "The $61,392 Book Launch That Let Me Quit My Job", story of how Adam released his first product and went independent Marketing for Developers, Justin's book and course Refactoring UI landing page Justin's Laracon 2017 Talk

27 September 2017 1h, 6m and 8s


72: Taylor Otwell - Testing Laravel Applications

72: Taylor Otwell - Testing Laravel Applications

Topics include: How their approaches have changed over time Feature tests vs. unit tests, when to use each Testing code that interacts with external services Using fakes instead of mocks Contract tests Testing view data vs. rendered HTML Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Test-Driven Laravel, Adam's testing course Laravel Horizon test suite Laravel Fakes documentation "Don't Mock What You Don't Own", Adam's screencast on testing wrappers for external services "Writing Your Own Test Doubles", Adam's blog post on using fakes instead of mocks "Preventing API Drift with Contract Tests", Adam's screencast on using traits to create contract tests between fake and real implementations

13 September 2017 59m and 10s


71: Building a CSS Framework with PostCSS

71: Building a CSS Framework with PostCSS

Topics include: What is PostCSS, really? PostCSS vs. other preprocessors like Less and Sass Examples of things PostCSS can do How to use PostCSS to add your own features to CSS How to disguise custom features as valid CSS so PostCSS will parse it Porting Tailwind CSS from Less to PostCSS and why it's been awesome Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Tailwind CSS, Adam's upcoming CSS framework CSS Utility Classes and "Separation of Concerts", blog post explaining the motivation behind Tailwind PostCSS.org cssnext "Create Your Own Plugin", PostCSS tutorial at tuts+ PostCSS API documentation

30 August 2017 56m and 27s


70: Jeffrey Way - Vue.js Tactics for Server-Side Web Apps

70: Jeffrey Way - Vue.js Tactics for Server-Side Web Apps

Topics include: General project structure Dealing with initial load flicker Sharing routes between Vue and your server Handling authorization rules on the client Comparing strategies for getting data into your Vue components Best practices for sharing state between sibling components Signs you should extract a child component Using Vue to wrap up third-party libraries Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Vue.js All Vue.js lessons on Laracasts Ziggy, package for sharing routes between Laravel and Vue Promise.takeAtLeast, helper Adam uses to slow down fast AJAX calls Custom Events in Vue Vuex, state management library for Vue Turbolinks Simple State Management, from the Vue documentation

16 August 2017 1h, 5m and 24s


69: Hybrid Mobile Apps with Turbolinks and Laravel

69: Hybrid Mobile Apps with Turbolinks and Laravel

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. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: Turbolinks Turbolinks iOS adapter Turbolinks Android adapter Turbolinks 5: I Can't Believe It's Not Native!, presentation by Sam Stephenson Hybrid Sweet Spot: Native navigation, web content, article on how Basecamp builds mobile apps by DHH Ionic, Angular based mobile framework Turbolinks lessons at Laracasts

2 August 2017 55m and


68: Building Interfaces with Utility-First CSS

68: Building Interfaces with Utility-First CSS

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. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Codeship Links: BEM, the Block Element Modifier CSS methodology About HTML semantics and front-end architecture, a blog post by Nicolas Gallagher that heavily inspired the way Adam writes CSS Implementing Designs with Utility-Focused CSS, a recorded live stream where you can watch Adam implement a design using his work-in-progress CSS framework Beard, David Hemphill's utility framework Tachyons, a popular utility framework fractures utility framework turrettcss utility framework

19 July 2017 1h, 4m and 23s


67: Launch Takeways, Interface Breakthroughs, and First Round Armbars

67: Launch Takeways, Interface Breakthroughs, and First Round Armbars

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. Sponsors: Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: PushSilver, David's invoicing app David's fight video PushSilver discount, just for Full Stack Radio listeners Interviews with Laura Roeder, the founder of MeetEdgar KiteTail, Adam's checkout platform Building KiteTail #6, newsletter update with lots of UI design details BidSketch, proposal software tool with the "see a sample" email capture call-to-action

21 June 2017 53m and 11s


66: Pre-Launch Engineering and Testing an HTTP Client

66: Pre-Launch Engineering and Testing an HTTP Client

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. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: PushSilver Infinite pre-launch page "How to Double Your Trial-to-Paid Conversion Rate with Onboarding", Rob Walling's talk at SaaSFest 2016 Zttp on GitHub Lumen, the Laravel microframework The Lumen server behind Zttp's test suite "Test-Driving Webhook Failures", the live stream where Adam and David worked through the HTTP testing approach that inspired the Zttp test suite Craft and Commerce, the ConvertKit conference Adam is attending this month "Building KiteTail"

8 June 2017 57m and 42s


65: New PushSilver Pricing and Co-Founding KiteTail

65: New PushSilver Pricing and Co-Founding KiteTail

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. Sponsors: Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: PushSilver, David's invoicing app KiteTail, Adam's checkout platform "Designing the Ideal Bootstrapped Business" by Jason Cohen Sketch's non-subscription annual pricing model Zttp, the underground fight club style HTTP library Steve Schoger, Adam's KiteTail co-founder Zondicons SVG icon library by Steve Zondicons Blade package to easily embed inline SVG icons in Laravel applications Hero Patterns, free repeating SVG background patterns by Steve Heroicons SVG marketing icon library by Steve Building KiteTail, details about KiteTail live streams, newsletter, etc. Previous KiteTail live streams on Adam's YouTube channel

24 May 2017 1h, 1m and 13s


64: "We Solved Something, Maybe! Or It Might Be a Disaster!"

64: "We Solved Something, Maybe! Or It Might Be a Disaster!"

Topics include: Thermostat.io and NPS surveys Charging more vs. charging less Finding a niche for PushSilver and how to appeal to that niche One-time purchase lifetime plans for SaaS Percentage-based vs. tiered pricing Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Thermostat.io, Ian's new NPS survey tool PushSilver, David's invoicing app KiteTail, Adam's checkout platform Jesse Mecham on Founder Chats, talking about selling YNAB on the Steam store Net Promoter Score

9 May 2017 1h, 17m and 31s


63: MicroConf, Dog Food, and Image Previews

63: MicroConf, Dog Food, and Image Previews

They chat about topics like: Dogfooding Cron Dog in PushSilver Dealing with complex validation Why we hate auto-saving UIs Validation issues when supporting "draft" models Expanding the scope of KiteTail Different ways to handle client-side image preview Building a Cron Dog SDK Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: MicroConf Crondog, David's scheduled webhook app PushSilver, David's invoicing app KiteTail, Adam's checkout platform ConvertKit, the app Adam uses for email that helped inspire the new direction for KiteTail "The $61,392 Book Launch That Let Me Quit My Job", Adam's blog post about his first book launch

27 April 2017 52m and 36s


62: Timezones, Webhook Security, and UI Decisions

62: Timezones, Webhook Security, and UI Decisions

We also talk a lot about different strategies for securing webhooks, and what we're looking forward to at MicroConf. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Crondog, David's new recurring task app KiteTail, Adam's new checkout app How GitHub secures webhooks HMAC on Wikipedia Laravel Spark, the boilerplate Laravel skeleton David's using MicroConf Start Edition

12 April 2017 51m and 8s


61: We're Building Products!

61: We're Building Products!

David introduces Crondog, the new product he's working on to help developers manage dynamic recurring tasks in their applications. Adam introduces KiteTail, an app that lets you create webhook-driven hosted checkout pages; something he wishes he'd had when he launched his course. 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. Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Crondog, David's new recurring task app KiteTail, Adam's new checkout app PushSilver, David's existing invoicing app DonorGive, an app David worked on that motivated him to build CronDog Laravel Spark, the boilerplate Laravel skeleton David's using "What's KiteTail?", Adam's blog post introducing KiteTail Test-Driven Laravel, Adam's course app that inspired him to build KiteTail MicroConf Start Edition

30 March 2017 40m and 41s


60: Michelle Bu - Engineering Payments at Stripe

60: Michelle Bu - Engineering Payments at Stripe

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Michelle on Twitter Stripe Elements Stripe's Engineering Blog Stripe Checkout Stripe Radar Building Stripe's API, by Amber Feng Move Fast, Don't Break Your API, by Amber Feng

15 March 2017 37m and 5s


59: Jonathan Reinink - Form Hell Part 2: Complex Validation

59: Jonathan Reinink - Form Hell Part 2: Complex Validation

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Form Requests in Laravel After Validation hooks in Laravel "Stripe CVC and ZIP checks can be bypassed" forum post Custom Rule Objects, enhancement Adam is working on HTML5 Form Validation

24 February 2017 47m and 43s


58: Noel Rappin - Fixing Common Payment Handling Mistakes

58: Noel Rappin - Fixing Common Payment Handling Mistakes

As I mention in the show, if you've been thinking about checking out Test-Driven Laravel, the course is still available at the early access price for the next few weeks: Learn more about Test-Driven Laravel Early Access Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test-Driven Laravel, Adam's TDD course Noel's blog Rails 4 Test Prescriptions, Noel's book on testing Take My Money, Noel's book on payment handling Noel's screencast on floating point precision RubyMoney gem ngrok vcr gem

8 February 2017 40m and 20s


57: Derrick Reimer - Building and Scaling Drip

57: Derrick Reimer - Building and Scaling Drip

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Drip Scaling SaaS, Derrick's blog The Drip stack: Ruby on Rails AWS PostgreSQL Sidekiq SendGrid Redis

25 January 2017 50m and 16s


56: Wes Bos - Getting Things Done and Building Your Own Tools

56: Wes Bos - Getting Things Done and Building Your Own Tools

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test-Driven Laravel Early Access, Adam's new TDD course wesbos.com, Wes' blog and personal website JavaScript 30, Wes' new free course The Getting Things Done methodology Things Todoist Alfred TextExpander Send and Archive in Gmail Behind the Scenes of Wes' course platform Wes Bos on YouTube

5 January 2017 41m and 35s


55: Ian Landsman - Shady Marketing Tactics That Will Hurt Your Business

55: Ian Landsman - Shady Marketing Tactics That Will Hurt Your Business

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test-Driven Laravel Early Access, Adam's TDD course UserScape, Ian's business HelpSpot, UserScape's help desk product Shady Tactics in our Midst from Ian's blog Shady Tactics, Round 2 Securing the Five-Figure Sale, Ian's new free eBook on landing enterprise sales The Lean Startup Edgar, social media tool with invite-only sign up flow

7 December 2016 57m and 19s


54: Jonathan Reinink - Forms: The Worst Part of Web Dev

54: Jonathan Reinink - Forms: The Worst Part of Web Dev

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Putting Your Laravel Controllers on a Diet, an older blog post by Adam on form objects Form Requests in Laravel Fineuploader, JS file upload library DropzoneJS, another JS file upload library

18 November 2016 58m and 8s


53: Kyle Fiedler - Design Tips and Tricks for Developers

53: Kyle Fiedler - Design Tips and Tricks for Developers

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Kyle's personal website thoughtbot on Dribbble Design for Developers on Upcase Using System UI Fonts In Web Design by Marcin Wichary Design Tip: Never Use Black by Ian Storm Taylor Should "Yes, delete it" be red, or green? on the UX Stack Exchange 7 Rules for Creating Gorgeous UI by Erik D. Kennedy Panda Chrome Extension

2 November 2016 52m and 10s


52: Taylor Otwell - Patterns for Simplifying Laravel Applications

52: Taylor Otwell - Patterns for Simplifying Laravel Applications

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test Driven Laravel, Adam's upcoming video course Laravel Laravel Valet Laravel Spark Laravel Passport Example of splitting controllers Basecamp Rake Stats DHH Resources on Rails presentation Nitpick CI "I don't love the single responsibility principle" by Marco Cecconi Martin Fowler on Tell Don't Ask Chasing Perfect, Adam's talk at Laracon 2015 Adam's base Blade layout

18 October 2016 1h, 10m and 26s


51: Matt Wynne - Building the Right Thing with BDD

51: Matt Wynne - Building the Right Thing with BDD

Topics include: What exactly is BDD? Is BDD a technical or non-technical practice? How do you get started with BDD? How do you keep the number of system tests low to keep your test suite fast? What's your strategy for dealing with external services in acceptance tests? What are the advantages of using Cucumber even as a solo developer working on a side project? Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test Driven Laravel, Adam's upcoming video course Matt's Blog Matt's notes from Dan North's Awesome Acceptance Testing talk Cucumber School User Story Mapping Impact Mapping Introducing Example Mapping The Rails Testing Pyramid The Testing Iceberg The Deep Synergy Between Testability and Good Design talk by Michael Feathers The Training Wheels Came Off, Aslak Hellesøy on removing the built-in step definitions in Cucumber-Rails Cucumber Blog Cucumber on GitHub The Cucumber Book

5 October 2016 1h, 4m and 58s


50: Evan You - What's Coming in Vue.js 2.0

50: Evan You - What's Coming in Vue.js 2.0

Topics include: The motivation for rewriting Vue.js from scratch What is a virtual DOM and what are the benefits? How does Vue.js 2.0 stack up performance-wise? (spoiler alert, it's fast) When should you use templates vs. a render function? Why two-way props have been deprecated and what you should do instead Best practices for dealing with custom component events The 1.0 to 2.0 upgrade path Building native mobile applications with Vue.js and Weex Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Hired, sign up at https://www.hired.com/fullstackradio to double your signing bonus to $2000 if you get a job through Hired Links: Test Driven Laravel, Adam's upcoming video course Refactoring to Collections, get 25% off using the coupon "pnwphp" Vue.js Announcing Vue.js 2.0 Vue.js 2.0 Documentation JS Framework Performance Benchmarks Snabbdom, virtual DOM library JSX plugin for Vue.js Using v-on with Custom Events Vue Migration Helper teaser Weex, framework for building native mobile applications with Vue.js Vue.js on Twitter Vue.js Newsletter Vue.js Feed

21 September 2016 52m and 59s


49: Toran Billups - Test Driving the Front-end

49: Toran Billups - Test Driving the Front-end

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Shippo, try out the Shippo API for free at Links: Test Driven Laravel, Adam's upcoming video course Ember.js QUnit testing framework Ember Testing Documentation Toran's TDD talk at EmberConf 2015 Outside-In TDD presentation, one of Toran's more recent talks Toran's upcoming Outside-In TDD Workshop

7 September 2016 39m and 38s


48: Jessica Lord - Building Desktop Apps with Electron

48: Jessica Lord - Building Desktop Apps with Electron

Sponsors: Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Shippo, try out the Shippo API for free at goshippo.com Links: Electron Electron Blog Atom Electron API Demos Photon, Electron UI kit Built on Electron, Electron app directory Mojibar, emoji searcher for OSX HyperTerm, JS/HTML/CSS terminal Nylas N1, email client WebTorrent, streaming torrent client Visual Studio Code, code editor Awesome Electron, useful resources for creating apps with Electron Devtron, Electron DevTools extension Spectron, Electron testing framework electron-quick-start, starter repo for new Electron apps

23 August 2016 46m and 49s


47: Sara Soueidan - Ditching Icon Fonts for SVG

47: Sara Soueidan - Ditching Icon Fonts for SVG

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Sara's Blog SVG vs Icon Fonts Cage Match grunticon A Designer's Guide to Grumpicon Making the Switch Away from Icont Fonts to SVG A complete guide to SVG fallbacks Overview of SVG Sprite Creation Techniques All SVG articles on Sara's blog svgo svgomg The Smashing Book 5 Practical SVG book

10 August 2016 45m and 17s


46: Joe Ferris - Test Driven Rails

46: Joe Ferris - Test Driven Rails

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Test Driven Laravel, Adam's latest project Giant Robots podcast How We Test Rails Applications on the thoughtbot blog Capybara Capybara WebKit RSpec factory_girl The Rails Testing Pyramid on the Code Climate blog

28 July 2016 52m and 25s


45: Derek Prior - From Rails to Phoenix

45: Derek Prior - From Rails to Phoenix

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: thoughtbot on Elixir and Phoenix The Bikeshed Podcast Exercism.io Elixir, the functional programming language Phoenix, the Elixir web framework Ecto, the Phoenix database layer Programming Elixir book by Dave Thomas Programming Phoenix book by Chris McCord, Bruce Tate, and José Valim Phoenix is not Rails by Chris McCord The Bikeshed Episode 54, where Derek talks about dates and times in Elixir Pact, the Elixir dependency injection library by Blake Williams Elixir on Slack Elixir Sips screencasts

13 July 2016 45m and 35s


44: Joel Clermont - What the heck is Elm?

44: Joel Clermont - What the heck is Elm?

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Joel's Blog The Elm Homepage The ML language The Elixir language Exercism.io Richard Feldman, working on "Elm in Action" book "What is functional programming?" blog series by Kris Jenkins Fizzbuzz in Elixir library Haskell Programming from first principles book

29 June 2016 54m and


43: Jonathan Snook - Managing Complexity, Design Systems, and Container Queries

43: Jonathan Snook - Managing Complexity, Design Systems, and Container Queries

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Snook's Blog SMACSS, Jonathan's book Atomic CSS "Staffing a Design Systems Team" "Why I Value Truly Responsive Web Design" "Container Queries: Once More Unto the Breach" Scott Jehl on container queries CSS-Element-Queries library

15 June 2016 1h, 7m and 16s


42: Justin Jackson - Marketing for Developers

42: Justin Jackson - Marketing for Developers

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Refactoring to Collections, Adam's book Justin's Blog Marketing for Developers, Justin's latest book MegaMaker Podcast Build and Launch Podcast Product People Podcast Network Effects Remote Workers Club Baremetrics Nate Kontny's Blog

24 May 2016 52m and 39s


41: Jason McCreary - Git Tips, Tricks and Workflows

41: Jason McCreary - Git Tips, Tricks and Workflows

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Refactoring to Collections, Adam's book Laracon EU 2016 Pro Git, free online Git book git add -p "How to Write a Git Commit Message", by Chris Beams Git Flow GitHub Flow GitHub CLI tool GitHub for Desktop Destroy All Software screencasts Git shell completion Jason's Git aliases Mentoring and Coaching with Jason

4 May 2016 1h, 4m and 13s


40: Edd Mann - You Should Switch to Postgres

40: Edd Mann - You Should Switch to Postgres

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Refactoring to Collections, Adam's book Edd's Blog PostgreSQL ACID Using JavaScript in Postgres Partial Indexes Using JSON in Postgres Common Table Expressions Postgres.app Navicat for Postgres pgAdmin Bruce Momjian's homepage, recommended by Edd Explaining the Postgres Query Optimizer PostgreSQL Internals Through Pictures

19 April 2016 51m and 47s


39: Michael Feathers - First Class Error Handling, Tell Don't Ask, and Collection Pipelines

39: Michael Feathers - First Class Error Handling, Tell Don't Ask, and Collection Pipelines

Sponsors: Laracasts, use coupon code FULLSTACK2016 for 50% off your first month Rollbar, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days Links: Refactoring to Collections, Adam's book Michael's Blog r7k, Michael's company Working Effectively with Legacy Code The Null Object Pattern The Haskell Maybe Monad Giant Robots podcast on Tell Don't Ask vs. SRP Learn You a Haskell APL Programming Language Michael's Arrays on Steroids presentation Building guitar tab with collection pipelines The Spaceship Operator Tweet The Agile Alliance Technical Conference

5 April 2016 58m and 57s


38: J.B. Rainsberger - Unit Testability and the Universal Architecture

38: J.B. Rainsberger - Unit Testability and the Universal Architecture

This episode is brought to you by Laracasts. Links: J.B.'s Blog Integrated Tests are a Scam Mock Roles, not Objects The Four Elements of Simple Design Ask J.B. a question J.B.'s Intro to TDD Course Sponsored by Laracasts

23 March 2016 1h, 4m and 44s


37: Chris Hartjes - Getting Started with Testing

37: Chris Hartjes - Getting Started with Testing

Topics include: Recommended testing tools PHPUnit vs. phpspec Mockery vs. Prophecy The benefits of defensive programming How to convince your manager to let you write tests This episode is brought to you by Laracasts. Links: Minimum Viable Tests, Chris' new book Grumpy Learning, Chris' personal website PHPUnit testing framework phpspec testing framework Mockery test double library Prophecy test double library Patchwork monkey patching library Development Hell, Chris and Ed Finkler's podcast Sponsored by Laracasts

9 March 2016 43m and 33s


36: Jason McCreary - Building Laravel Shift

36: Jason McCreary - Building Laravel Shift

This episode is brought to you by Laracasts. Links: Shift Laravel PocketBracket Laravel Cashier Abstract Syntax Tree Sorted sets in Redis Sponsored by Laracasts

25 February 2016 32m and 33s


35: Jonathan Reinink - Fixing Common API Design Mistakes

35: Jonathan Reinink - Fixing Common API Design Mistakes

Topics include: Does it make sense to scope resources to the authenticated user or should you always use sub-resources? When to use nested resources and when to avoid them Strategies for dealing with actions that don't seem to fit into REST Breaking the mapping between your API and your database Using singular sub-resources and optional fields to simplify your responses Links: Jonathan's personal website Plates templating library Glide image manipulation library Nesting resources by Jamis Buck There's a model hiding in your REST API Build APIs You Won't Hate by Phil Sturgeon Sponsored by Laracasts

12 February 2016 49m and 33s


34: Matt Machuga - Dealing with Dependencies in Active Record Models

34: Matt Machuga - Dealing with Dependencies in Active Record Models

Topics include: Are facades and service location automatically bad? Are NounVerber classes anti-OO? Adding a layer of composition to create domain models with dependencies Using method injection for a temporary dependency Using optional parameters to improve testability Code snippets: Option 1: Facades/Service Location/Global Access Option 2: Moving the responsibility to a new class Option 3: Composing a new domain model Option 4a: Inject the dependency into the method Option 4b: Optional method injection w/global fallback Links: Matt's blog "Agent nouns are code smells" by Peter Gillard-Moss Nitpick CI, Adam's PSR-2 style checking service "Dependency injection is not a virtue" by DHH Erie Day of Code, Matt's conference Sponsored by Laracasts

27 January 2016 38m and 43s


33: David Hemphill - Building PushSilver with Vue.js and Beard

33: David Hemphill - Building PushSilver with Vue.js and Beard

Topics include: Deciding when to build something yourself vs. paying for something off the shelf Choosing a Javascript framework for more traditional server rendered apps Vue.js compared to Angular and Ember The advantages of using a utility-focused CSS approach Distributing front-end libraries This episode is brought to you by Laracasts. Links David's personal site PushSilver Laravel PHP Framework DigitalOcean Vue.js "Crafting link underlines on Medium" Beard CSS Framework Beard documentation Peepcode Play by Play with Ryan Singer Harry Roberts presentation on ITCSS

12 January 2016 42m and 45s


32: DHH - Building Basecamp 3 like a Porsche 911

32: DHH - Building Basecamp 3 like a Porsche 911

Topics include: Why Basecamp is a "majestic monolith", and the impact of organizational shape and size on technical decision making in product development How ActionCable works, and where Basecamp 3 uses websockets that you might not expect Strategies for avoiding duplication in client-side and server-side code The automated testing strategy for Basecamp 3, and how it's influencing the future of testing in Rails 5 Why Basecamp 3 has 179 controllers, and what you can learn from their approach that will clean up your codebase This episode is brought to you by Laracasts. Links Basecamp 3 Business of Software talk on Rewriting Basecamp RailsConf presentation introducing ActionCable and Turbolinks 3 Trix, Basecamp's new open source WYSIWYG editor Rake Stats for Basecamp 3 Rails 5.0.0.beta1 announcement DHH on Medium Sponsored by Laracasts

22 December 2015 1h, 2m and 35s


31: Woody Zuill - #NoEstimates

31: Woody Zuill - #NoEstimates

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. This episode is brought to you by Laracasts. Woody's #NoEstimates blog posts "What price estimation?" by Neil Killick "What is software design?" by Jack Reeves The Mob Programming Conference MobProgramming.org Sponsored by Laracasts

9 December 2015 46m and 11s


30: Evan You - Diving Deep into Vue.js

30: Evan You - Diving Deep into Vue.js

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. This episode is brought to you by Laracasts. Vue.js Google Creative Lab Parsons Design and Technology Program Vue.js: A (Re)introduction webpack Nightwatch.js jsdom Karma Sponsored by Laracasts

24 November 2015 36m and 58s


29: Mark Otto - Bootstrap 4 and CSS architecture at scale

29: Mark Otto - Bootstrap 4 and CSS architecture at scale

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. This episode is brought to you by Laracasts. Mark's blog Bootstrap 4 CSS Stats Parker, CSS analysis tool Code Guide, Mark's HTML and CSS standards WTF, HTML and CSS?, Mark's collection of useful front-end gotchas BassCSS Tachyons About HTML Semantics and Front-End Architecture by Nicholas Gallagher "Medium's CSS is actually pretty f***ing good." by @fat GitHub Primer Sponsored by Laracasts

10 November 2015 48m and 12s


28: Jeffrey Way and Dave Marshall - "Don't mock what you don't own"

28: Jeffrey Way and Dave Marshall - "Don't mock what you don't own"

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. This episode is brought to you by Laracasts. Mock roles not objects, the original paper Integrated tests are a scam by J.B. Rainsberger Eric Evans' Domain Language e-course Effective tests: Setting up a database fixture on Dave's blog Integration testing a Stripe wrapper on Laracasts Sponsored by Laracasts

27 October 2015 58m and 16s


27: Ben Orenstein - Outside-in TDD and Dependency Injection in Rails

27: Ben Orenstein - Outside-in TDD and Dependency Injection in Rails

This episode is brought to you by Laracasts. Ben's blog Upcase DHH on "Dependency injection is not a virtue" A criticism of DHH's post on Dependency Injection Dependency Management in Rails on Upcase Refactoring by Martin Fowler Understanding the 4 Rules of Simple Design by Corey Haines Coupon link for 50% off your first month of Upcase Sponsored by Laracasts

13 October 2015 36m and 5s


26: Josh Pigford - What do you need when you launch?

26: Josh Pigford - What do you need when you launch?

This episode is brought to you by Laracasts. Baremetrics "How to get startup insurance and avoid getting sued into oblivion" Open Startups DHH on The Secret to Making Money Online "Creating amazing GIFs to announce new features" Sponsored by Laracasts

29 September 2015 31m and 32s


25: Matt Machuga - Tips and tricks to make your code awesome

25: Matt Machuga - Tips and tricks to make your code awesome

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. This episode is brought to you by Laracasts. Elm Elixir Programming Elixir, from The Pragmatic Bookshelf Typed Clojure The Visitor Pattern, which is not at all what we talked about Adam's Refactoring Loops and Conditionals screencast Michael Feathers' post on compositional chains and guitar tab Pragmatic Studios Elm Course Radius CoWork in Erie, PA Sponsored by Laracasts

15 September 2015 50m and 5s


24: Wes Bos - What the Flexbox?!

24: Wes Bos - What the Flexbox?!

This episode is brought to you by Laracasts. Wes' Blog "What the Flexbox?!", Wes' Flexbox training course Bootstrap 4 alpha Flexbugs Solved by Flexbox Firefox Developer Edition React Wes' Sublime Text book Alfred GhostText Sponsored by Laracasts

1 September 2015 38m and 14s


23: Chris Hunt - How GitHub does remote work

23: Chris Hunt - How GitHub does remote work

This episode is brought to you by Hired. Healthy Hacker, Chris' podcast "Solving the Rubik's Cube Blindfolded" and more of Chris' talks "How we use Pull Requests to build GitHub" "You should take a Codecation" Ben Orenstein's Codecation presentation Trailmix Chris' Motorcycle Adventures on Instagram Sponsored by Hired

4 August 2015 38m and 8s


22: Corey Haines - The 4 Rules of Simple Design

22: Corey Haines - The 4 Rules of Simple Design

This episode is brought to you by Hired. Hearken Understanding the 4 Rules of Simple Design Corey's Blog Corey's post on comparing test run speeds Refactoring to Patterns by Josh Kerievsky Maintaing Balance While Reducing Duplication by David Chelimsky J.B. Rainsberger on The Four Elements of Simple Design Sponsored by Hired

21 July 2015 1h, 4m and 49s


21: Chad Pytel - Sticking to your guns

21: Chad Pytel - Sticking to your guns

This episode is brought to you by Hired. thoughtbot thoughtbot's Playbook The Product Design Sprint on the Giant Robots blog Converting to Job Stories on the Giant Robots blog FormKeep, thoughtbot's form endpoint service Tropos, thoughtbot's open source iOS weather app Sponsored by Hired

7 July 2015 49m and 13s


20: Ian Landsman - Code is not a business

20: Ian Landsman - Code is not a business

This episode is brought to you by Hired. Userscape HelpSpot Snappy Ian's Blog Bootstrapped.fm, Ian's bootstrapping podcast "10 tips for moving from programmer to entrepreneur" "What they never told you about handling B2B transactions", handling purchase orders and invoicing Product and Support LaraJobs Sponsored by Hired

23 June 2015 1h, 10m and 40s


19: Dave Marshall - Designing Effective Tests

19: Dave Marshall - Designing Effective Tests

This episode is brought to you by Hired. Dave's Blog That Podcast Mockery on GitHub Uncle Bob on writing your own test doubles Behat Humbug mutation testing library Sponsored by Hired

9 June 2015 1h, 10m and 17s


18: Katie Cerar - Designing and Prototyping for Clients

18: Katie Cerar - Designing and Prototyping for Clients

This episode is brought to you by Hired. The Opportunity Analysis Canvas by James Green Invision Prototyping Tool 5 Why's Jobs-to-be-Done User Story Mapping by Jeff Patton The Google Ventures Design Sprint How to Make Sense of Any Mess by Abby Covert The User Experience Team of One by Leah Buley The Rosenfeld Media Catalog Sponsored by Hired

27 May 2015 39m and 54s


17: Adam Culp - Maximizing Your Conference Experience

17: Adam Culp - Maximizing Your Conference Experience

This episode is brought to you by Hired. Adam's Tech Blog Adam's Running Blog Run Geek Radio ZendCon Sunshine PHP SoFloPHP "Help Me Abstract" by Kayla Daniels "Refactoring from Good to Great" by Ben Orenstein ZendCon 2015 Call For Papers Sponsored by Hired

12 May 2015 45m and 50s


16: Kent Beck - Tiny Decisions and Emergent Design

16: Kent Beck - Tiny Decisions and Emergent Design

This episode is brought to you by Hired. Kent's Facebook Blog Smalltalk Best Practice Patterns "Agile is Dead (Long Live Agility)" by Dave Thomas Extreme Programming Screenhero "Continuous Delivery" by Jez Humble "Structured Design" Kent's TDD Screencast Series Sponsored by Hired

5 May 2015 46m and 17s


15: Everzet - Classicist and Mockist TDD

15: Everzet - Classicist and Mockist TDD

This episode is brought to you by Hired. everzet on Twitter Inviqa "Design How Your Objects Talk Through Mocking" presentation "Test Driven Development: By Example", by Kent Beck "Growing Object Oriented Software Guided By Tests", by Steve Freeman and Nat Pryce The "Tell, Don't Ask" principle Sandi Metz's "Magic Tricks of Testing" talk Ian Cooper's "TDD: Where did it all go wrong?" talk Conway's Game of Life BDD London Meetup Sponsored by Hired

20 April 2015 57m and 26s


14: Taylor Otwell - Building Envoyer, Laravel 5.1 and Learning to Program

14: Taylor Otwell - Building Envoyer, Laravel 5.1 and Learning to Program

This episode is brought to you by Hired. Laravel Envoyer, Taylor's latest project Laravel Forge Pusher Authy Laracasts Larachat Sponsored by Hired

7 April 2015 1h, 1m and


13: Phil Sturgeon - Designing and Testing APIs, Go and PHP 7

13: Phil Sturgeon - Designing and Testing APIs, Go and PHP 7

This episode is brought to you by Hired. Phil's Blog Ride Go JSON Patch RFC Recent changes to JSON API Troy Hunt on API versioning "Build APIs You Won't Hate", Phil's book "Dredd: Do Your HTTP API Justice" HATEOAS RAML "Smalltalk Best Practice Patterns" by Kent Beck Sponsored by Hired

2 April 2015 1h, 14m and 53s


12: Jack McDade - Building Photoshoot.io and Getting Stuff Done

12: Jack McDade - Building Photoshoot.io and Getting Stuff Done

This episode is brought to you by Hired. Photoshoot.io Statamic Envoyer, designed by Jack Laravel 5 Homepage, designed by Jack Wilderborn, Jack's company Jack's personal site Interview at Ways We Work Sponsored by Hired

23 March 2015 49m and 20s


11: Jeffrey Way - "But how does it feel?"

11: Jeffrey Way - "But how does it feel?"

This episode is brought to you by Hired. Laracasts Temporal Databases Object Thinking "Is TDD Dead" with Martin Fowler, Kent Beck, and David Heinemeier Hannson The $invoice->download() incident A bit on verb class names (scroll to "Verb-first classes") Sponsored by Hired

9 March 2015 1h, 7m and 44s


10: Type Safety Roundtable with Ryan Tablada and Matt Machuga

10: Type Safety Roundtable with Ryan Tablada and Matt Machuga

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. This episode is brought to you by Hired. J# Hack DHH's "Why Ruby?" Keynote at RubyConf X Design by Contract in Eiffel Type Hinting in PHP PHP RFC: Scalar Type Hints PHP RFC: Sum Types Erie Day of Code EmberGrep Hired

23 February 2015 1h, 10m and 17s


9: David Heinemeier Hansson - Architecture, Patterns and Design

9: David Heinemeier Hansson - Architecture, Patterns and Design

They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code". DHH's Blog "Writing Software" keynote DHH's 5 most influential programming books Transitioning to SCSS at Etsy Jason Fried on Rebuilding Basecamp The Big Rewrite, revisited

11 February 2015 52m and 51s


8: Sean Devine - Ember and API first

8: Sean Devine - Ember and API first

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. Ember The Road to Ember 2.0 Ember Data JSON API Sean's blog Ruby on Rails podcast

1 February 2015 58m and 22s


7: Shawn McCool - BDD and DDD

7: Shawn McCool - BDD and DDD

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. Shawn's blog The RSpec Book everzet's Introduction to BDD everzet on Modelling by Example Domain Driven Design Quickly "Domain Driven Design" by Eric Evans "Implementing Domain Driven Design" by Vaughn Vernon Ross Tuck's blog

19 January 2015 1h, 1m and 25s


6: Chris Fidao - Servers for Hackers

6: Chris Fidao - Servers for Hackers

They talk about things every web developer should know about server administration, platform-as-a-service vs. self-hosting, Ansible, Docker, and more. Servers for Hackers Newsletter Servers for Hackers Book Chris' blog Ansible Docker Forge "Scaling PHP Applications" by Steve Corona James Turnbull's Books

5 January 2015 42m and 8s


5: Ryan Singer - Jobs-to-be-Done and Product Design

5: Ryan Singer - Jobs-to-be-Done and Product Design

Ryan's blog "Jobs-to-be-Done" collection on Medium The Milkshake Video Ryan's Peepcode Play-by-Play Ryan's post on affordance vs. styling "Notes on the Synthesis of Form" by Christopher Alexander "Getting Real" by Basecamp/37signals "Domain Driven Design" by Eric Evans

19 December 2014 46m and 39s


4: Alex Bilbie - OAuth 2 and API Security

4: Alex Bilbie - OAuth 2 and API Security

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. Alex's blog Alex's PHP OAuth2 Server package "OAuth and Single Page JavaScript Web-Apps" Alex's upcoming OAuth book

8 December 2014 56m and 10s


3: Matt Machuga - Ruby, PHP, object oriented design, testing and other crap

3: Matt Machuga - Ruby, PHP, object oriented design, testing and other crap

They also talk about common struggles when learning new things, and trying to remain pragmatic while still pushing the boundaries of what you know. Matt's personal website Matt's courses at TutsPlus DHH's "Why Ruby?" Talk Array#forty_two Giant Robots Podcast DHH on Dependency Injection "Too Far Is Just Enough" by Shawn McCool Domain Driven Design mori Immutable JS

17 November 2014 1h, 2m and 19s


2: Eric Barnes - Wardrobe, Javascript and Writing

2: Eric Barnes - Wardrobe, Javascript and Writing

Eric's blog Laravel News Rebuilding Wardrobe Snappy Laravel Forge Sneak peek at Angular 2.0 Removing Batman.js at Shopify

3 November 2014 39m and 34s


1: Matt Stauffer - CSS Semantics

1: Matt Stauffer - CSS Semantics

"Organizing CSS: OOCSS, SMACSS, and BEM" by Matt Stauffer Nicole Sullivan on Media Objects SMACSS "MindBEMding" "Bootstrap without all the debt" "Medium's CSS is actually pretting f***ing good" "About HTML semantics and front-end architecture"

18 October 2014 48m and 40s

Skill Piper
HomeBlogAboutContactNewsletter

© 2022 Skill Piper. All rights reserved

Twitter