Published onDecember 23, 2021Advent of JavaScript, Day 10adventjavascriptchallengeChallenge #10 – Verify Code Screen
Published onDecember 23, 2021Advent of JavaScript, Day 9adventjavascriptchallengeChallenge #9 – Image Carousel
Published onDecember 23, 2021Advent of JavaScript, Day 8adventjavascriptchallengeChallenge #8 – Weather App
Published onDecember 23, 2021Advent of JavaScript, Day 7adventjavascriptchallengeChallenge #7 – Tip Calculator
Published onDecember 22, 2021Advent of JavaScript, Day 6adventjavascriptchallengeChallenge #6 – Range Slider
Published onDecember 22, 2021Advent of JavaScript, Day 5adventjavascriptchallengeChallenge #5 – Multi-select Checkboxes in Preact & Vue
Published onDecember 21, 2021Advent of JavaScript, Day 4adventjavascriptchallengeChallenge #4 – Computer Keyboard
Published onDecember 21, 2021Advent of JavaScript, Day 3adventjavascriptchallengeChallenge #3 – Creating a keyboard
Published onDecember 21, 2021Advent of JavaScript, Day 2adventjavascriptchallengeChallenge #2 – Creating an eCommerce component
Published onDecember 19, 2021Advent of JavaScript, Day 1adventjavascriptchallengeChallenge #1 – Create a Pomodoro timer
Published onDecember 3, 2019Write Functional Tests & AssertionsjavascripttestingDon't `catch` more than you need.
Published onJune 19, 2019Filesystem Routers & IndexesnextjsnodeapidesignPage paths should match the URL and end with "index"
Published onOctober 18, 2018GraphQL Context & ServicesapidesignarchitecturegraphqlnodeUsing `class` to abstract complexity in GraphQL resolvers.
Published onDecember 27, 2016Javascript FatiguejavascriptbundlingtoolingwebpackThe viral post that lead to Create React App, Babel's preset-env, and more.
Published onDecember 5, 2016Jest Snapshots for StorybookjesttestingjavascriptstorybookHow to take Jest snapshots from Storybook (before Storyshots existed)
Published onNovember 29, 2016I Ditched My iPhone for the Google Pixel.androidgoogleiphoneappleEcosystem > Lockin
Published onOctober 24, 2016Teaching React Without Using ReactreactphpteachingReact can seem daunting, but it can be really similar to PHP & traditional websites.
Published onJune 12, 2016Hydra, a precursor to GraphQLgraphqlnodeSeeing RESTful API design patterns turn into GraphQL.
Published onJanuary 21, 2016Dogfooding Your Open-Source Projectsopen-sourceThe best designs arise from a need, not assumptions.
Published onDecember 27, 20153 Ways to Define Webpack LoaderswebpackWebpack's loaders have multiple, somewhat confusing APIs.
Published onNovember 13, 2015“Give Back Friday” or “Refactor Friday”managementteamsExperimenting with time to be creative
Published onNovember 5, 2015React & event.preventDefault()reactdomReact's `event` system isn't the same as the DOM's!
Published onJuly 4, 2015Why I Don’t Support WindowswindowsDated, incorrect reflection of why Windows wasn't well-supported.
Published onJanuary 15, 2015Résumé Tips for ProgrammershiringjobsresumetipsSomewhat dated advice for what worked well when hiring individual contributors.
Published onDecember 7, 2014Angular Trust FilterangularjsSometimes content needs to live dangerously.
Published onDecember 7, 2014Circular Dependencies in NodenodeUse mutations and late-references to work around circular references.
Published onApril 11, 2014Copying Databases in NodenodemysqlknexTips for programmatically migrating data using Node.
Published onJanuary 4, 2014Using HTML5, Not Hash Routesangularhtml5javascriptCreating a SPA router with AngularJS
Published onJune 12, 2013Why I'm Terrible at FinishingproductivityAvoiding "academic" in favor of "utility"
Published onJune 5, 2013Track Commits, Not TimebusinessmanagementPreventing micro-management & time-tracking without new processes