Crash Log: Recent Episodes

Dave Wasmer & Ilya Radchenko

A weekly podcast with the Crash Engineering team covering the journey of building an Ember and Node web app.

View Details

  • Ilya talks about crashing the Crash app 0:30
      - Semantic Release isn't transactional 2:55
      - The lesson: Don't cancel releases 5:35
  • Server environment, our setup, woes and the awesomeness 5:55
      - Why GraphQL and not JSON API (spec) 8:00
      - Using Apollo 9:30
      - Our architecture 09:50
  • Thoughts on why a conventional backend is so hard 12:25
      - Two apps, backend and frontend (regarding episode of https://embermap.com/podcast) 15:00
  • Denali - opinionated backend framework for Node 19:30
      - https://denalijs.org/
      - Challenges 20:40
      - TypeORM vs Active Record 22:00
      - Limitations of SQL 25:30
      - EdgeDB 26:15
      - Why Denali failed 28:50

View Details

  • Inner vs Outer HTML semantics 0:00
  • Modifiers and Splattributes 6:00
      - Tweet mentioned by Ilya 10:45
      - Pre-RFC 13:10, 14:20
  • Complexity added by Fastboot 14:40
      - Ryan Toronto's tweet about Fastboot workers 28:10

View Details

  • Adding FastBoot to Crash 0:00
  • Memory leak! dun dun dunnnnnnn 9:00
  • ndb (Chrome Devtools Debugger for Node.js) 11:05
  • Blunt force memory leak hunting 18:10
  • The leak discovered 20:00
  • https://github.com/Exelord/ember-rollbar-client/pull/47
  • Authentication & FastBoot 25:04
  • Avoiding CSRF, cookies, and localStorage 26:20
  • Deno 29:30
  • Ember2019 blog posts 31:40

View Details

  • 0:00 Opening, Product Hunt launch, logging
  • 3:10 Speed vs. quality
  • 10:10 Integrations
    • Typeform
  • 15:10 The forgotten middle class of Node backends
  • 17:55 Launch & rolling thunder
  • 25:45 Working out loud, a.k.a. developers are terrible at marketing

View Details

  • 00:00 Introductions
    • Dave: http://davewasmer.com
    • Ilya: http://ilyaradchenko.com
  • 01:45 EmberConf - https://emberconf.com
  • 02:25 Alternatives to Tailwind CSS / Design system linting
    • Tailwind: https://tailwindcss.com/docs/what-is-tailwind/
    • subsetcss: Ilya’s linting project https://github.com/knownasilya/subsetcss
    • Framer X: https://www.framer.com
    • Figma: https://www.figma.com
    • Webflow: https://webflow.com
    • AST Explorer: https://astexplorer.net/
    • TypeORM: https://github.com/typeorm/typeorm
    • TSLint: https://palantir.github.io/tslint/
  • 27:11 GraphQL Mutations and Side Effects
    • GraphQL: https://graphql.org/
    • Apollo: https://www.apollographql.com/
    • Ember Apollo Client: https://github.com/ember-graphql/ember-apollo-client

View Details

Dave and Ilya discuss the delights and trials of using GraphQL with Ember in production, then give their thoughts on the Ember Component Templates Co-location RFC.

00:00 Introduction

  • Workout routines

01:37 GraphQL with Ember

  • GraphQL: https://graphql.org/
  • Apollo: https://www.apollographql.com/
  • JSON API Spec: https://jsonapi.org/
  • Queries and Mutations
  • Handling Errors
  • Tooling around GraphQL
    • Graph.Cool/Prisma.io: https://www.prisma.io/
    • GraphQL Voyager: https://apis.guru/graphql-voyager/
    • Types
  • Ember Apollo Client: https://github.com/ember-graphql/ember-apollo-client
  • Relay - Declare the data your components need with GraphQL, Relay determines how and when to fetch your data https://facebook.github.io/relay/

26:00 GraphQL rough edges

  • Missing from GraphQL: Ember Data computed properties
    • Solution: Apollo link state https://www.apollographql.com/docs/link/links/state
  • Guide/narrative content is lacking
  • Managing fragments
  • Server-side tutorials

34:00 Biggest benefit to GraphQL: Server-side implementation

36:00 Co-location RFC comments

  • Component Templates Co-location #481 https://github.com/emberjs/rfcs/pull/481
  • Our add-on: ember-template-component-import https://github.com/crashco/ember-template-component-import

View Details

  • 00:00 Process changes
    • Two week sprints to Kanban (https://www.atlassian.com/agile/kanban)
    • Advantages to planning with two week sprints, downsides to feedback loops
    • Advantages to iteration speed with Kanban, downsides to longer planning
    • Legibility posts at Ribbonfarm: https://www.ribbonfarm.com/?s=legibility
    • Slack weekly updates
  • 07:30 Dealing with tech debt under experimentation and deadlines
    • Glimmer components - https://glimmerjs.com/
    • Octane - https://emberjs.com/editions/octane/
  • 15:50 ember-component-css with Glimmer components
    • ember-component-css: https://github.com/ebryn/ember-component-css
    • Dave’s ember-template-component-import: https://github.com/crashco/ember-template-component-import
  • 28:12 Data fetching in realtime
    • RethinkDB: https://www.rethinkdb.com/
    • Meteor: https://www.meteor.com/
    • GraphQL Subscriptions: https://github.com/apollographql/graphql-subscriptions
    • David Baker, Ember Learning team: https://twitter.com/acorncom