RSSAmplifier

Blog

Charlie Peters

Charlie Peters builds apps, backend systems, and developer tools, and writes about legible interfaces, durable software, and humane engineering.

charliewil.coRSS feed ↗73 posts

Latest posts

System Fonts are Good for Accessibility, Like Really

On Testing

Notes on Agentic Coding

Up in the Air

Cis is Not a Slur

The Result Type

The Result type is a powerful tool for handling errors in a functional and composable way. It's origins are in Rust but it has since been adopted by many other languages, including TypeScript. The wrap and unwrap functions are used to convert between the Result type and other types in your codebase. The wrap function is used to convert a value of type T into a Result object, while the unwrap…

Debouncing Explained

Understanding debouncing

Throttling Explained

Understanding throttling

Crafting Routines

Tesler and Complexity

...

How to Be Productive in a World on Fire

But only if you must.

Reviewing Pull Requests Like a Human

Keeping your PRs friendly AF

Modern TypeScript Packages

A guide to creating packages for ESM and CJS with full type support.

Wait, I Thought I Knew That

I built a trivia app

The Basic Concepts

The most explanation of TypeScript basics

Why Type Safety

The deal with type safety

Twenty Twenty

Well, it's over.

Transitions

Everything is changing again, as it tends to do often.

Call vs Apply

Function.prototype.call() vs Function.prototype.apply()

Typed Reducer

Best practices with useReducer()

Maps & Sets

Not everything belongs in state.

Twenty Nineteen

2019 just walked off stage.

Hooks & TypeScript

React's new Hooks API is a lot of fun

On Reading Books

Reading tends to be the only real constant in my life. From year to year, career to career, season to season, there's always books to read followed by more.

Formik & React Testing Library and Screaming at a Computer for an Hour

Working with Formik and React Testing Library are great until you hit a wall

Self-Care Primer

Take care of yourself

Perfect Cup of Tea

A long journey steeped in adventure

Urgency vs. Importance

Deciding what's more important is difficult when every siren is going off

Technical Interviews, Explained

So you're about to go through an engineering interview

Dark Mode for Actual Users

Dark mode is cool and easier to do with CSS now, but hang on a second.

Weeknotes No. 3

Links and stuff that have been interesting to me.

Weeknotes No. 2

Links and stuff that have been interesting to me.

Weeknotes No. 1

Links and stuff that have been interesting to me.

Going Serverless

Using Hapi.js to migrate to a serverless architecture

Quitting Caffeine

Gonna go out a limb here and say I have had and still have some very modest level of caffeine addiction.

React Hooks and Suspense

Server-side React

Client side applications are great but they are not as awesome as they could be

Exponents

A how-to to growth

Small Updates

I removed the custom fonts and added a dark mode

I Just Can't with CSS Anymore

Okay, CSS. Like seriously. Come on

A Defense of Frameworks

The reality is having working in any framework that enables you to understand the underlying language it is implemented in, teaches you the language and good fundamentals and you gain more experience along the way

Sanitizing JavaScript Objects

Bi Design

Bearing witness to my desire and identifying as queer has led me to a fundamental truth: God is a creator, fully aware of the intricacies of His creation and not at all surprised by my desires

Function as Child

Functionality lives in the Component tree, and when you're declaring those components or searching for your component later, you're documenting your choices more clearly.

Kill Your IDE

Using a terminal versus GUI tools helped me really trim down my needs of what I'm doing with the code I'm working on and look more directly at the task I was doing. I keep finding that I compose with commands more than I'm trying to remember keyboard shortcuts or installing new plugins.'

In the Mouth of the Beast

...the message was to use React; you need a lot of other moving pieces to build an application. Turns out thats not true.

Mocking Data Quickly

Never use Lorem Ipsum

Your Life in Programming Languages

Your life in terms of programming languages

Building a React Component Library

Isolating UI to be the purest instance of that component often requires coordination but worth it in the long run.

Current Tools & Toolchains

We get attached to our tools, more often than not we spend 6+ hours a day in front a glowing rectangle interacting with the tools we choose in exchange of our livelihoods.