# Historical writing

Writing from a decade of learning.

## Using React Component Variants to Compose CSS Classes

20 February 2022 · React, Tailwind CSS, TypeScript

Learn how to build React component variants by composing CSS classes in a typesafe and flexible manner.

Read: https://devinschulz.com/blog/using-react-component-variants-to-compose-css-classes/index.md

## My Definition of a First-Class Pull Request

25 August 2020 · Workflow, Opinion

Learn how to spruce up your pull requests with a few simple tips. These tips shouldn't add more than a couple minutes to your workflow, and you'll look like a rockstar to your peers.

Read: https://devinschulz.com/blog/my-definition-of-a-first-class-pull-request/index.md

## Handling an Event Callback Once

12 July 2020 · JavaScript, Today I Learned

Learn how to simplify your code by using a simple trick to remove an event listener after an event has been fired once.

Read: https://devinschulz.com/blog/handling-an-event-callback-once/index.md

## Rename Fields by Using Aliases in GraphQL

5 July 2020 · GraphQL, Today I Learned

Learn how to rename fields of a GraphQL object by using aliases.

Read: https://devinschulz.com/blog/rename-fields-by-using-aliases-in-graphql/index.md

## Filter Out Multiple Console Messages in Google Chrome

1 May 2020 · DevTools, Today I Learned

Learn how to filter out multiple console messages by using either regular expressions or prefixing a string with a hyphen-minus.

Read: https://devinschulz.com/blog/filter-out-multiple-console-messages-in-google-chrome/index.md

## Restrictions While Styling Visited Links

18 February 2020 · CSS

Learn about what the :visited pseudo-class selector is and its limitations while styling them.

Read: https://devinschulz.com/blog/restrictions-while-styling-visited-links/index.md

## Modify Create React App's Babel Configuration Without Ejecting

2 February 2020 · React, Babel

Learn how to modify the underlying Create React App configuration with customize-cra to include new babel plugins. All without having to eject.

Read: https://devinschulz.com/blog/modify-create-react-apps-babel-configuration-without-ejecting/index.md

## I've Lost Faith in Client-Side Analytics

31 August 2019 · Analytics, Opinion

Since switching to Netlify's server-side analytics, I learned how different the data is when compared to Google Analytics.

Read: https://devinschulz.com/blog/ive-lost-faith-in-client-side-analytics/index.md

## Accumulate Complex Objects With the Reduce Method

29 July 2019 · JavaScript, Array, Map

Learn how to recursively reduce a nested data structure by harnessing the power of the Array.reduce method.

Read: https://devinschulz.com/blog/accumulate-complex-objects-with-the-reduce-method/index.md

## Building the Inspect Measurement Engine

17 July 2019 · React, JavaScript, Flow

Thoughts and learnings I had while building the Inspect measurement engine.

Read: https://devinschulz.com/blog/building-the-inspect-measurement-engine/index.md

## From Hugo to Next.js and Back Again

18 May 2019 · Static Sites, Performance, Tailwind

Learn about why I choose Hugo over a React based static site generator for my blog.

Read: https://devinschulz.com/blog/from-hugo-to-next-js-and-back-again/index.md

## Reflecting on Four Years of Remote Work

12 March 2019 · Career, Remote

Learn about the good and bad's I've experienced while working remotely over the past four years.

Read: https://devinschulz.com/blog/reflecting-on-four-years-of-remote-work/index.md

## Building a Likes API With Google Cloud Functions

5 November 2018 · Node, Google Cloud, Firebase, Serverless

Learn how to use Google Cloud Functions to build a likes API with Node

Read: https://devinschulz.com/blog/building-a-likes-api-with-google-cloud-functions/index.md

## Copy React Props to Your Clipboard in Google Chrome

14 July 2018 · DevTools, Today I Learned

Learn how to copy React props to your clipboard using Google Chrome and the React Developer Tools.

Read: https://devinschulz.com/blog/copy-react-props-to-your-clipboard-in-google-chrome/index.md

## Combining Synchronous Actions Using Redux Thunk

9 July 2018 · Redux, Testing, React, Jest

Learn how to use Redux Thunk for handling several synchronous actions at once to modify different areas of the application state.

Read: https://devinschulz.com/blog/combining-synchronous-actions-using-redux-thunk/index.md

## Welcome Readers

17 June 2018

Explore the journey of a designer-turned-developer as they tackle the challenges of creating a custom blog, choosing Hugo for its efficiency. Dive into this blog for insights into web development, best practices, and the balance between professional growth and personal commitments. Join a journey of learning, sharing, and community in the realm of frontend development.

Read: https://devinschulz.com/blog/welcome-readers/index.md

