Articles

To search for a particular topic, use your browser's "Find" feature.

You can also subscribe to the RSS feed.


  1. Remove an item at a given index in JavaScript

    Sidestep slicing and splicing and use Array's filter method for a no-hassle solution.

  2. Tab focus not working in Safari?

    For some unknown reason, you need to enable tab highlighting in the browser's settings.

  3. The Economics of Software Development, Part III

    Demand inelasticity in web development, why its bad, and what we can do about it.

  4. Fix 'EMFILE: too many open files' error in Jest

    When trying to run Jest in watch mode, this error may mean that you are missing a dependency.

  5. Updated TypeScript mega-course on Egghead.io

    Reviewing and updating my TypeScript mega-course on Egghead.io

  6. The Economics of Software Development, Part II

    Why developers should rely on markets to make the best decisions for their product

  7. Access the home directory in Deno

    Using Deno's environment to determine your computer's home directory

  8. The Economics of Software Development, Part I

    How developers can reduce opportunity costs and avoid the sunk-cost fallacy

  9. Garden

    Before You Debug

    An organized approach to debugging your code

  10. Intro to "The Economics of Software Development"

    Introducing a new series on how economics helps explain the decisions we make when developing software

  11. Nodemon for Deno

    Denon is a utility for Deno that provides source watching and process restarting just like Nodemon

  12. Adding images to my articles

    How the right design and process for sourcing images made all the difference for me

  13. Parse argument aliases in Deno

    Using Deno's standard flags module to parse command-line arguments with aliases

  14. Await multiple promises in JavaScript

    By calling your asynchronous functions before awaiting, you can save valuable time in your JavaScript programs

  15. TypeScript mega-course on Egghead.io

    Creating a playlist to learn TypeScript

  16. Six video update

    Lessons learned from publishing six videos on YouTube

  17. Read a json file in Deno

    How to use Deno's standard library to read and parse data from a json file.

  18. Read a json file in Node.js

    How to use Node.js's file system to read and parse data from a json file.

  19. Publishing my first YouTube video

    Why I started a YouTube channel and what I learned in the process

  20. How to get the browser and version in JavaScript

    A brief journey into the dangerous world of user agent sniffing

  21. Logging with Eleventy and Nunjucks

    Adding a simple filter to save you a lot of grief.

  22. Store readable data

    When forced between storing data for humans or computers, choose the former.

  23. Garden

    Over my head

    A list of articles, topics, and resources that are currently over my head

  24. MagnoliaJS 2020 conference notes

    Some notes from the talks that I was able to attend

  25. How to open the Dev Tools

    A comprehensive guide for opening the dev tools in Chrome and Firefox

  26. Tools for custom Slack emojis

    The full toolbelt for making your own custom Slack emojis

  27. Garden

    Great programming reads

    A list of articles, books, and resources for software engineers

  28. Free to grow

    Why tests (should) free you to grow with confidence

  29. How to check npm scripts in current directory

    Writing a script to read the package.json for you

  30. How to remove duplicates from an object array?

    Not as easy as we'd like it, but not as hard as it could be

  31. A new Twitter handle

    Kicking off 2020 with (yet another) new handle

  32. What default parameters do (and don't do)

    Correcting my mental model

  33. Reviewing 2019 goals

    Checking in on the goals I set for myself in 2019

  34. "Stop Teaching Code" in JavaScript

    A quick review of Jeff Olson's article on teaching code with translated examples

  35. 5 Lessons from 10k open-source downloads

    A few things I've learned from managing a modestly popular open-source package.

  36. Should I snapshot my UI components?

    The temptation is strong, but consider some of the tradeoffs.

  37. Lessons Learned at Abstractions 2019

    Some notes and thoughts from Pittsburgh's cross-discipline software conference

  38. Edit a previous commit message

    The steps to edit recent or ancient commit messages

  39. Arguments or parameters?

    An attempt to remember the difference between the two

  40. How to pronounce my name

    A guide to pronounce my often-mispronounced name

  41. Add event listener for class change

    How to create a custom event listener for class names using the MutationObserver API

  42. Storing data in state vs. class variable

    Why do we store data in state as opposed to on the class?

  43. Filter out premium Medium articles

    Using a console script to alter the content on a webpage

  44. Adding accessibility checks to your React app

  45. Three reasons to learn Python

  46. JS Basics: Generate a random number

    Using JavaScript's Math object to generate random numbers

  47. JS Basics: Ternary Operator

    Demystifying the inline if statement

  48. Convert class components to functions with React Hooks

    A step by step guide to converting old components to modern React

  49. Accessibility Wednesday

    Learning and sharing about accessibility for everyone

  50. 2018 into 2019

    Reflecting on last year while looking forward to next

  51. Why a blog?

    An effort to preserve my content on the ever-changing web