• Grokking GraphQL

    GraphQL is incredibly powerful and increasingly popular. Here are some tips to get you onboarded with it faster.

    graphqlsyntax Read More
  • Array Grouping Explainer

    Another new ECMAScript proposal hits Stage 3. Let's talk about it!

    javascriptsyntax Read More
  • Functions, fat arrows and parentheses

    Sometimes syntax doesn't make a lot of sense and feels arbitrary. But often there is a reason under the hood.

    syntaxjavascriptreact Read More
  • Interviews are about telling a story

    I gave some advice in a twitter space the other day and someone asked me to turn it into a blog post. So here we are.

    careerinterviews Read More
  • A Blog on Blogging

    For my 100th post I wanted to talk about blogging itself, and the lessons I've learned.

    career Read More
  • Introducing `findLast` and `findLastIndex`

    Even more array utility methods are under consideration.

    syntaxjavascript Read More
  • `at` coming soon to ECMAScript

    Another new proposal for ECMAScript addition, giving you the ability to cleanly access array elements using negative indices.

    syntaxjavascript Read More
  • How to Give Better Code Reviews

    Code review is a skill and it takes practice. But there are some things you should know up front.

    career Read More
  • React 18: Terms and Functionality

    The React team has been hard at work for over a year. React is changing yet again, and it's time to start learning where it's going next.

    javascriptreact Read More
  • Let's talk about Lodash

    Lodash is an incredible library of utilities that you may not always need.

    javascriptsyntax Read More
  • Diving into Husky and Lint-staged

    JavaScript tools are plentiful but manually running them doesn't provide the same value that workflow automation can.

    javascripttools Read More
  • A Guide to ESLint

    I've written on Babel before, so today I thought I'd discuss its cousin, of sorts, ESLint.

    javascripttools Read More
  • From JavaScript to Rust : Data Types

    I've been learning Rust. Figure out how to map my understanding of data types is up next.

    javascriptrust Read More
  • Setting up my new Machine

    I was recently setting up a new machine and these are the tools I reached for first.

    tools Read More
  • If Your Tech Interview is Three Tech Interviews in a Trench Coat and I Do Five is It Additive or Exponential

    This was quite the process. I had a lot of conversations and interviews. I want to be transparent about that in the hopes it will help others.

    interviewscareer Read More
  • New Gatsby Course!

    Announcing my brand new egghead course! Focused on all the newest features.

    gatsby Read More
  • Diagnosing Performance Issues

    Once you've determined you need to improve your site performance, how do you do that?

    performancejavascript Read More
  • Migrating from eslint-loader to eslint-webpack-plugin

    A brief migration guide.

    webpack Read More
  • Web Vitals Explained

    Google calculates webpage performance based on core web vitals? What does that mean?

    performancejavascript Read More
  • Performance Tools

    Let's talk about site performance and the different tools that can help you measure it.

    performancejavascript Read More
  • Code Splitting Explained

    You may have heard of it, you may not have, so what is code splitting?

    performancewebpack Read More
  • Symlinks and Npm

    What is a symlink? How does it work? Why does it matter?

    learningjavascript Read More
  • The Anatomy of package.json

    Package.json does a lot more than list your project's dependencies. This is a guide to help you understand the clues and instructions it gives you.

    learningjavascript Read More
  • Babel: Plugins, Presets and Parsers

    Babel is an incredibly powerful tool but it can be intimidating to dive into. I've spent the last few weeks in the Babel deep end, so let's talk about it!

    babel Read More
  • Event Listeners Explained

    Event listeners show up all over the place! Let's learn this useful construct.

    javascript Read More
  • Rust and References

    References are an important concept in Rust, let's talk about them.

    rustsyntax Read More
  • Javascript ||, aka Why Doesn't This Work?!

    I and others constantly want this expression to work and it doesn't, why?

    syntaxjavascript Read More
  • “Subcommands” in Yargs

    I worked with yargs this week to write some CLI code. Understanding the terminology went a long way in setting up the code correctly.

    javascript Read More
  • Senior Interviews != Three Junior Interviews in a Trench Coat

    We overly rely on coding interviews for juniors and it's a mistake. However, it's just as harmful, if not more, as a measuring stick for seniors.

    interviews Read More
  • Sibling State with React Hooks

    I was working on an app the other day using React Hooks and I happened upon a pattern I wanted to write up!

    reactlearning Read More
  • Ownership in Rust

    One of the most intriguing concepts in Rust is ownership. Rather than undertaking garbage collection...

    syntaxrust Read More
  • Rust variables and mut

    I'm learning Rust and I like writing syntax posts. This one dives into variable declaration and `mut`.

    rustsyntax Read More
  • Designing a Technical Interview

    We can do better than algorithms interviews for both ourselves and our candidates.

    interviews Read More
  • My First Experience with Rust

    I'm trying Rust for the very first time! Want to follow along?

    rust Read More
  • The Challenge of Precise Language

    Words matter, especially when explaining technical concepts. But in my experience it isn't that simple.

    learning Read More
  • Template literals in JavaScript

    One of those pieces of syntax I can never seem to remember.

    syntaxjavascript Read More
  • Making Sense of Syntax

    I came across a bit of syntax I hadn't seen before. Figured I'd write a post as I explore what it means.

    syntaxjavascript Read More
  • Upgrading to Blog Theme 2.0

    It's time to upgrade my site to use gatsby-theme-blog 2.0!

    gatsby Read More
  • The Art of Learning

    Decided to try something new and write down some thoughts in progress.

    learning Read More
  • JavaScript Map is getting upsert!

    Currently in Stage 2, this up and coming JavaScript feature could make your life a lot easier!

    syntaxjavascript Read More
  • Is it Webpack or Node?

    One of the most crucial pieces of information when debugging is what technology is affected. Over the years I've found that this distinction can be challenging.

    webpackjavascript Read More
  • Discovering Theme UI

    Having never worked with Theme UI before this is a retelling of my introduction to it.

    gatsby Read More
  • My Screencasting Workflow

    Thought it could be interesting to share my process for recording videos!

    tools Read More
  • Why I Decided to Join the Themes Team

    Why I'm joining the themes team at Gatsby and thoughts on my career.

    gatsby Read More
  • Documenting a New Feature

    For those in search of a "template" for what to include when documenting a new feature, I'll take a stab here.

    learning Read More
  • Remote Work Tips for Teams

    Many teams may find themselves unexpectedly signed up for remote work. Here are some tips to start off prepared.

    Read More
  • Nevertheless, she coded

    Taking up space in this industry sometimes means allowing others to do so.

    Read More
  • Continuous Deployment with Gatsby Cloud and Firebase

    It's time to change the way I build and deploy my site.

    gatsby Read More
  • Gatsby Theme Shadowing

    Setting up and shadowing the Gatsby blog theme for my site.

    gatsby Read More
  • Human-Readable JavaScript: A Tale of Two Experts

    Everyone wants to be an expert. But what does that even mean?

    javascriptcareer Read More
  • Codemods with Babel Plugins

    A tutorial and walkthrough for building a codemod with Babel, recast and jscodeshift

    babel Read More
  • The ECMAScript Ecosystem

    What determines support for new JavaScript syntax?

    learningjavascript Read More
  • 2019 Year in Review

    I'm going to use this time to look back on this past year and hopefully share some insight into how I got some of my opportunities.

    careerspeaking Read More
  • Optional Chaining Has Arrived!

    Sick of constant checks for existence? Optional chaining is here to help.

    javascriptsyntax Read More
  • Nullish Coalescing - Let Falsy Fool You No More

    One of the latest and greatest additions to JavaScript has arrived!

    javascriptsyntax Read More
  • Confessions of a Conference Speaker

    I've learned so much from being a speaker and I wanted a place to write it down.

    speaking Read More
  • globalThis is coming to JavaScript

    The ECMAScript standard is constantly changing. Next up, globalThis!

    javascriptsyntax Read More
  • Confessions of a Conference Attendee

    These are some reflective tips on attending conferences.

    speaking Read More
  • 5 Things I Learned in My First Week as a Maintainer

    Working in open-source is new to me, so I thought I'd share some of my early takeaways.

    learning Read More
  • A Wrong Answer is Worse than No Answer

    Solving problems is our job, yet the process of doing so is never simple. And if we go about it the wrong way, we're likely to make things worse.

    learning Read More
  • Component Lifecycle Methods Explained

    There are a number of front end frameworks, and they have a lot in common! One of those things is the concept of components, and the ability to interact with them during different stages of their lifecycle.

    reactvue Read More
  • Creating an Authentication Navigation Guard in Vue

    Being able to navigate to pages is a crucial part of any application. But sometimes your users will try and access a page they don't belong on. In Vue you can check for this using a navigation guard!

    vue Read More
  • How I Make Sense of RxJS

    Reactive Programming is a pattern with some complexities, but incredible power. Many explanations of it exist, but this is how it makes sense to me.

    javascript Read More
  • How Architecture Improved My Coding Skills

    We all our skills in different ways. The path to becoming a senior engineer is never the same. This is an example of how mine involved writing less code than most.

    learning Read More
  • Human Readable JavaScript

    There are plenty of optional characters when defining functions. When used in functional methods these options increase. What are they? And how do they affect readability?

    javascript Read More
  • A Re-Introduction To Destructuring Assignment

    Smashing Magazine Post on Destructuring Assignment.

    javascriptsyntax Read More
  • Nuxt, Next, Nest?! My Head Hurts.

    I clearly know what all of these things are. Their names are not at all similar. But let's review, just to make sure we know...

    javascript Read More
  • Focus vs Focus-Within

    Choose the right pseudo-class for your needs. In this post, we'll examine the difference between focus and focus-within.

    css Read More
  • An Introduction to the Hover Pseudo-class

    Dynamic behavior on the web isn't limited to JavaScript anymore. Come learn about CSS syntax that can respond to state!

    css Read More
  • Adding an Emoji Status to Terminal (ZSH)

    It requires some bash, but if you follow these instructions you can add emoji statuses to your zsh terminal setup!

    Read More
  • Understanding Rest Parameter Syntax

    You finally understand spread syntax, but what's this other thing? It looks the same but is somehow different. You're probably looking at an example of rest syntax, come learn about it.

    javascriptsyntax Read More
  • All the New ES2019 Tips and Tricks

    CSS Tricks post on the new additions in ES2019.

    javascriptsyntax Read More
  • Understanding ...mapGetters in Vuex

    I was recently working with vuex and came across a piece of code I wanted to learn more about.

    vue Read More
  • How to Turn an Existing Gatsby Site Into a Theme

    Jason Lengstorf and I had a really great time on Learn With Jason porting a portion of my site into a theme! I wanted to write up that process so that others can do it too.

    gatsby Read More
  • Splice! Slice! Shoot, I meant Shift!

    Figuring out what array manipulation function to use in JavaScript is such a common joke at this point. There are a lot of them, and most of them seem to start with an 's'! Let's dive into a handful of these functions.

    javascriptsyntax Read More
  • Deep vs Shallow Copy - with Examples

    The spread operator is a great piece of syntax, but it produces shallow copies. What exactly does that mean? And when does it matter?

    javascript Read More
  • Let's loop - for...in vs for...of

    These two alternatives to for loops are wonderful, but they do different things. Let's understand them better!

    javascriptsyntax Read More
  • 5 Uses for the Spread Operator

    JavaScript has a bunch of syntax that aims to make your life easier as a developer. The spread operator is a particularly popular option, so let's see what you can do with it!

    javascriptsyntax Read More
  • Introducing Object.fromEntries

    We're learning about ES2019 and this entry is all about understanding the Object.fromEntries function.

    javascriptsyntax Read More
  • Understanding Array.prototype.flatMap

    ES2019 added a new function called flatMap for manipulating arrays. In this post we're going to learn all about it.

    javascriptsyntax Read More
  • Demystifying Array.prototype.flat

    I'm an ECMAScript junky and I wanted to dive into the latest features! In this post we'll look at Array.prototype.flat.

    javascriptsyntax Read More
  • 3 Powerful Examples of Destructuring Assignment

    ES2015+ introduced so many wonderful features, but destructuring assignment may be one of the most powerful and versatile of them all.

    javascriptsyntax Read More
  • A Primer on SEO

    Ever wondered what a canonical_url was? Or how sites show up early in your search results?

    Read More
  • Staring Down a Stack Trace

    Stack traces are a map to help you solve your bug, but how do you navigate it?

    learning Read More
  • The Tech Career Guide

    The tech industry is so large there are any number of paths to take your career. This is a roll-up of a handful of them.

    career Read More
  • What it Means to be a Technology Consultant

    If you've ever been curious about what it means to be a consultant, this post is for you!

    career Read More
  • Honey, I Type Checked the Children

    The cli added this line of code, it says something about isRequired. So I guess I'll just leave it there?

    javascript Read More
  • What's With All the Props Anyway?

    Another day, another piece of boilerplate code that we should explore!

    react Read More
  • Exports and Imports and Defaults, Oh My!

    Too often we see throwaway lines of code inside frameworks and projects that we don't take the time to understand. Let's explore export default App in React projects!

    javascriptsyntax Read More
  • Vocabulary Is Not Job Security

    The fact that only one person can understand what is going on in a given project is hurting your team and your company!

    learning Read More
  • Responsive Design and Mobile First

    How do I make my site look good on my phone? What even are media queries? Why does this have a JavaScript tag?

    css Read More
  • The Layers of JS...Styles Remix

    Confused by what layer of the stack is currently in charge of that weird misalignment issue? Come join me!

    cssjavascript Read More
  • The Layers of CSS

    You thought the link text would be purple, but it's actually blue! CSS is making tough decisions about which style to use every time it renders your page.

    css Read More
  • Don't Get Fooled By Errors

    When you trigger an error it's easy to give up, or change your code just to get around it. Here are some ways to walk through the error and try to solve it.

    learning Read More
  • The Layers of Javascript

    Javascript, ES6, JSX...what does this all mean?!

    javascript Read More
  • Online Learning Tips and Tricks

    There are so many wonderful resources out there, but how can you make the most use of them?

    learning Read More
  • Rewriting A Static Website Using Gatsby and GraphQL - Part 3

    This post is all about Gatsby image! I decided to update my personal site away from Jekyll. In the process I learned about GatsbyJS, GraphQL and all of the errors! Check out this series for a granular walkthrough.

    gatsby Read More
  • Rewriting A Static Website Using Gatsby and GraphQL - Part 2

    I decided to update my personal site away from Jekyll. In the process I learned about GatsbyJS, GraphQL and all of the errors! Check out this series for a granular walkthrough. In this post I tackle the syntax to replace Liquid templating in my html files.

    gatsby Read More
  • Rewriting A Static Website Using Gatsby and GraphQL

    I decided to update my personal site away from Jekyll. In the process I learned about GatsbyJS, GraphQL and all of the errors! Check out this series for a granular walkthrough.

    gatsby Read More
  • Optimistic UI does not Guarantee an Intuitive UX

    A Pessimistic Viewpoint on Optimistic UI In a typical design that follows REST call patterns, the UI makes a call to the backend and updates based on the success or failure of that call. In an optimistic UI, however, the design assumes a successful call, makes the visual and...

    Read More
  • Technology for the Non-Technical

    In a perfect world, no one needs help using the technology that’s critical to getting their job done. Far too often, however, the technology team is needed to maintain and update another team’s tools. This leads to increased costs, delays, and frustrations when what you need is not what...

    Read More
  • Atom as an Alternative Development Environment

    In years past the best development environment was almost always expensive, both to acquire and maintain. When these tools moved to a subscription model based on specific tech stacks and languages, cost and complexity for developers only increased. Even widely-adopted alternatives such as Eclipse, while open source, suffers from...

    Read More
  • The Tablecloth Trick - How to Modernize Legacy Software

    Change is constant. Your business priorities shift, personnel come and go, and the technology you built your product with evolves over time. You’ve built a great product and your customers love it. They love it so much, they may not want to see it change. The longer you put...

    Read More
  • Angular 1 or 2 - Which is the Best for Your Project?

    With Angular 2 coming out of beta, it is now available as a front end framework for your new project. Yet, some developers are still choosing to code new applications with Angular 1. My colleague wrote back when Angular 1 was relatively new about why you should care, but...

    Read More