My Notes on WaffleJS July 2019


Airtable (sponsor)

  • Demoed game last time
  • Made a quiz game this time
  • RPG Maker for spreadsheets

Medium (sponsor)

  • Hiring React & GraphQL, machine learning
  • -> open JS console

GitHub (sponsor)

  • Gi-thoob
  • The gain is the black knob at the top
  • Hiring
  • Google GitHub careers

Talk 1 / Tail Call Optimization: the Musical

Natalia Margolis | she/her |
Anjana Vakil | she/her |

  • A little musical experiment
  • Originally from !!Con
  • Anjana is the coder
  • Natalia is the JS engine
  • I’m sorry I can’t take notes on a musical
    • It’s great though
    • The animations and the lyrics are great
    • You need to see it
    • Seems like ”A Whole New World” is a running theme across these WaffleJSes...

Talk 2 / Keeping 100% Lighthouse score around the world

Leonardo Zizzamia | he/him |

  • Coinbase started with 4 performance, 31 PWA, 87 best practices
  • Started with some basic Webpack tweaks to bring it to 48 performance, 45 accessibility, 100 best practices, 100 SEO, 48 PWA
  • Two types of performance metrics
    • Lab & real world
  • Focusing on one metric: first contentful paint (FCP)
  • Web performance APIs
    • window.performance
      • performance.mark and performance.measure provide nice waterfalls
    • Performance timeline level 2
      • Tries to standardize PerformanceObserver
        — Provides way to observe FCP
      • Can get first paint & first contentful paint
      • Only works in Chrome right now
        • Firefox threw exceptions sometimes, gives false info
        • Created perfume.js library, makes it work on many browsers
  • Send data to a server
  • Get statistics

Live Tuba (and ukelele) Performance

Andy Tuba | he/him |


Talk 3 / Is React Translated Yet?

Nat Alison | she/her/they/them |

  • React lets you put HTML in your JavaScript
  • Question: Is React documentation translated yet?
    • 6 months ago, the answer was no
  • How did React get translated?
    • Original strategy was Crowdin
      — Didn’t work for their uses
      • At some point the word ”symlinks” was involved and they were done
    • Whenever React has a design issue, they check what Vue.js does
      • There’s a bot for using Gi-thoob for contributing to translations
  • Who translates React?
    • Each language fork has at least 2 maintainers that run the translation
  • How did they automate?
    • Get suspended from GitHub because your account gets suspended because GitHub flags it as spam...
    • GitHub bot that does things, when it’s not suspended
  • Easy, right? Nope.
    • Gotta figure out how to run it on intervals
      • Oh, cron
  • Is React translated yet?
    • “Yes”, in many different languages

Talk 4 / Job hunting for happiness

Colleen Briant | she/her |

These slides were mostly bulleted text, so I paraphrased the slides with some bits from the talk added in.

  • Only applies if you’re privileged enough to turn down jobs (e.g. techies in SF)
  • Steps:
    1. Identify needs & dealbreakers
    2. Quantify & prioritize requirements
    3. Seek companies that meet goals
    4. Gather & analyze data
  • Quantify thihgs!!
  • Quantify what you do and don’t want in a new job
  • Devise acceptable answers to quantitative questions
    • Compensation (e.g. money, time off, insurance)
    • Technologies
    • Office location
  • Device quantitative answers to qualitative questions
    • Work life balance: ”When was last time you worked after 7”
    • Growth opportunities: ”How does promotion process work?”
    • Flexibility: ”How often do you work from home?”
  • Find companies that fit your goals
    • Google ”companies that xyz”
    • Recruiters (e.g. Hired or Triplebyte pssttt ask me for a Triplebyte referral)
  • Are you planning more for the future or the present? Looking to be more career driven or looking for the balance to start a family?
  • Companies are made of people, people are slow to change. Are you willing to wait for anything you don’t like to change?
  • You can use a tool to analyze your data (e.g. Decision Crafter)
    — Put in critera, weight them, weight your options based on those things
  • Don’t be afraid to ask for more data
    • Emails, meet up for coffee with other team members, Glassdoor, negotiate aspects
  • Iterate!
    • On the process, on individual steps, on your goals
Piper McCorkle

Piper McCorkle

Software engineer at Ladder, free software enthusiast, and overall computer nerd