The Bike Shed

thoughtbot
undefined
Oct 26, 2018 • 42min

175: Tell Me When It's Real

On this episode of the Bike Shed, Chris is joined by Josh Clayton, thoughtbot's managing director in our Boston studio. Chris and Josh spend the episode discussing the various patterns and trends they see in the world of web development. Specifically, they touch on server side frameworks like Ruby on Rails and Phoenix in the Elixir world. In addition, they discuss a variety of front end trends including the move towards typed languages like ReasonML, TypeScript, Elm, PureScript, and Scala.js, as well as frameworks like React, Ember, Angular, and Vue.js. Bike Shed 20 w/ Josh Clayton: Intentionally Excruciatingly Painful Google Lighthouse Beyond React 16 by Dan Abramov - JSConf Iceland AirBnB Moving Away from React Native Josh Steiner - Elm native UI in production Announcing Purple Train ReasonML Elm TypeScript PureScript Scala.js Software disenchantment blog post 166: Are Services the New Rewrite? Apollo Client Vue.js Thoughtworks Technology Radar Parcel Bundler Terser javascript minifier Rufo - Ruby autoformatter Support The Bike Shed
undefined
Oct 18, 2018 • 31min

174: I've Watched a Lot of Vim Courses

In this special crossover episode, Chris is joined by Chad Pytel, Co-founder & CEO of thoughtbot and host of Giant Robots Smashing Into Other Giant Robots podcast, to discuss the content, history, and the process of making Upcase, thoughtbot's online learning platform, FREE. Giant Robots Podcast Upcase Test Driven Rails Mastering Git Fundamentals of TDD SOA on The Bike Shed Onramp to Vim thoughtbot Purpose Statement Chad on Twitter Support The Bike Shed
undefined
Oct 12, 2018 • 50min

173: A Combinatoric Explosion of Nulls

Joël Quenneville joins Chris to discuss Elm, the strongly typed functional programming language for writing reliable client side web apps. They discuss recent changes from the 0.19 release including reduced bundle size from dead code elimination, the somewhat controversial removal of custom operators. Anecdotally, Joël and team saw a reduction from 31.5K to 16.6K in bundle size going from 0.18 to 0.19 and felt no pain from the custom operators removal, so a big net win for them with this new version. Along the way Joël and Chris detour into the complexity of managing a project and community like Elm's and discuss Joël‘s recent work with the thoughtbot apprentice program. To round things out, Joël and Chris discuss the power of using a type system like Elm's to constrain the valid states of your application and make your apps more robust and maintainable. Elm - A delightful language for reliable webapps. Elm 0.19 Release Notes Webpacker Elm 0.19 - Dead Code Elimination Scala.js The reasoning behind removing user-defined operators Minesweeper for JavaScript Equality WebAssembly Linus Torvalds - "I am going to take time off and get some assistance..." Also Linus, on the importance of "trivial patches" as entry points for new kernal developers Derek Prior - Implementing a Strong Code-Review Culture thoughtbot code review guidelines thoughtbot apprentice program How Elm Slays a UI Antipattern "Making Impossible States Impossible" talk by Richard Feldman "Working with Maybe" talk by Joël Quenneville "Confident Code" talk by Avdi Grimm "Nothing is Something" talk by Sandi Metz The Zen of Python Breakable Toys Joel’s many posts on the Giant Robots blog Stop Coding and Start Drawing Support The Bike Shed
undefined
Oct 5, 2018 • 56min

172: What I Believe About Software

Steph Viccari joins Chris for a conversation starting with a discussion of some deployment and orchestration issues Chris was helping out with, followed by some of Steph's recent experiences with JSONB in postgres and the relative trade-offs of unstructured data. The heart of the conversation revolves around the core processes we use to develop software touching on sprint planning & story points, deadlines, the place for refactoring and code review in the regular cadence of development, and the often lamented retrospective meeting. Aptible - PAAS with strong security and HIPAA compliance Heroku Shield Google hiding www in URLs Auth0 - Identity management and auth as a service ActiveStorage - Rails's built in filie attachment framework Postgres JSON & JSONB Types The Real Story Behind Story Points Laurie Young Post on His Use of Story Points Deadlines XKCD - And Check Whether the Photo is of a Bird Headspace meditation Support The Bike Shed
undefined
Sep 21, 2018 • 46min

171: What If We Just Used a Form?

Matt Sumner joins Chris for a discussion around Matt's recent adventures with the block chain and Ethereum, as well as tackling the thorny issue of server rendered vs client side apps. They cover a bit of history, a bit of opinion, and some practical considerations to keep in mind when tackling rich client development. Ethereum Ethereum Proof of Stake Browser History APIs including pushState SOAP Ember's heroic focus on the URL & Routes GraphQL TypeScript Vimium Boston React Conference Support The Bike Shed
undefined
Sep 14, 2018 • 49min

170: Less Charted Territory

Chris is joined by Paul Smith to discuss Crystal, a statically-typed and compiled language with a Ruby inspired syntax. Paul has spent much of the past few years exploring Crystal and building a new web framework called Lucky. Paul's infectious enthusiasm for the Crystal language shines through in this discussion covering some of the unique features of Crystal & Lucky, but there is plenty to enjoy even if you're not specifically interested in Crystal. With Lucky, Paul has done a great job of taking the best of what has been built in other frameworks and bring it to Crystal, drawing inspiration from Ruby & Rails, Elixir & Phoenix, and even PHP and the Laravel framework. There's something in this episode for everyone! Crystal If You Gaze Into nil, nil Gazes Also Into You Elm Scala Elixir Elixir Phoenix Laravel Laravel Mix Lucky on GitHub Render HTML pages in Lucky Actions and Routing in Lucky Browser tests with LuckyFlow Dusk selectors Guido Van Rossum, Python BDFL, Stepping down VS Code BikeShed episode w/ German Velasco disucssing Elixir Support The Bike Shed
undefined
Sep 7, 2018 • 39min

169: Fear Driven Development

Chris is joined by Kane Baccigalupi, development director from thoughtbot's San Francisco office to discuss Kane's history in government working for 18F and California State and how those experiences have informed Kane's work since. Throughout the conversation Chris and Kane discuss their shared desire to hide all implementation details and their love of Ruby for how it allows us to do that, testing vs test driven development, and approaches for refactoring large untested systems. 18F - A consulting team within the government helping to introduce modern software development practices. Kane's tweet about the enjoyment of the refactoring and design parts of the process. Sarah Mei on The Bike Shed Uniform Access Principle Observations on the testing culture of Test Driven Development - TDD article that introduces the phrase "calling the shot" for the practice of TDD. Convenience class methods on service objects Testing Pyramid - A way to think about the cost and value of the various types of tests. Therapeutic Refactoring by Katrina Owen Katrina Owen on The Bike Shed Strangler Pattern - A systematic approach to refactoring and decomposing large-scale The encasement strategy: on legacy systems and the importance of APIs Martin Fowler on the Strangler Pattern Support The Bike Shed
undefined
Aug 31, 2018 • 42min

168: An Escape Rope of Learning

Chris is joined by Rachel Mathew to discuss Rachel's recent experiences with Scala on a handful of client and side projects. They discuss the benefits of working within a type system, learning to work with a compiler, and the process of getting to know a new language and paradigm. Along they way they dip into the complexity of twitter as a platform for discussion and making improvements to development workflows. Scala Scala implicits Kotlin Four stages of competence Scala Play - Full-featured Scala web framework, comparable to Rails http4s - Lower level Scala web framework SOAP - An approach to building APIs popular before the focus on REST APIs WSDL - Schemas in the land of SOAP Sangria - Scala GraphQL library neo4j - An example of a graph database Are Services the New Rewrite? - recent Bike Shed episode discussion microservice architecture 283: Overcoming Awkward Data (Joe Ferris) - Recent Giant Robots episode with Joe Ferris discussing "awkward data" GraphQL Code Generation Purple Train App Support The Bike Shed
undefined
Aug 24, 2018 • 44min

167: I Feel Like We Should've Solved This By Now

Chris is joined by German Velasco for a discussion ranging from German's recent transition to remote working to the wonders of the Elixir language and the Erlang platform, blockchain, Ethereum, TypeScript, the Language Server Protocol, and more! tmate - shared terminal sessions via a special build of tmux Sneak - Human contact for remote teams (persistent video chat for teams) Ryan Tomayko - Your team should work like an open source project - great post with actionable advice for teams adopting the remote life How to Create a Distributed Work Culture 5 Things that Suck about Remote Work Taking the Pain Out of Video Conferences thoughtbot.com/jobs - Come work with us! Elixir - The language German loves! Pattern matching in Elixir Hindley–Milner type system dialyzer - Erlang static analysis Erlang OTP - a set of Erlang libraries & principles that carry over to Elixir Erlang "Let It Crash" Blockchain Ethereum Proof of Authority GraphQL VS Code Language Server Protocol TypeScript 3.0 Support The Bike Shed
undefined
Aug 10, 2018 • 37min

166: Are Services the New Rewrite?

Chris & Derek discuss the world of services, exploring the various forms SOA can take, the oft stated benefits, and some of the pitfalls they commonly see in the wild. The discussion ranges from alternative architectures, guidelines for how to think about services within your platform, and even includes an anecdote about thoughtbot's foray into the world of SOA on Upcase. Things You Should Never Do, Part I The Entity Service Antipattern The Past, Present, and Future of GraphQL Native - Nick Schrock Netflix - Chaos Monkey Goodbye Microservices: From 100s of problem children to 1 superstar (Segment) Upcase Support The Bike Shed

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app