I work while traveling the world. This tech makes it possible.

My backpack isn’t light. But it’s useful.

Disclaimer: I use Amazon affiliate links below.

I enjoy the digital nomad lifestyle, so I often work on the road. I write code, do consulting, create presentations, and author courses. Here are the tools I bring along for the ride.

My Backpack

I preferred the old 2015 keyboard and don’t use the TouchBar. So why’d I buy this?

  • The SSD is faster than the 2015.
  • It’s thinner and lighter than the 2015.
  • The screen is notably brighter, so I can easily work outside. (Apple’s anti-glare screen tech is much better than today’s mirror-like touchscreen displays)
  • TouchID is handy.
  • USB-C makes it easy…

Here’s a question I’ve heard a few times recently:

“What if we create a component library in React/Vue/Angular/whatever and a new component technology replaces it?”

That’s not a question of if. It’s a question of when. These technologies have become wildly popular, but they’re not the end game. Like all technologies, something better will eventually come along and replace them.

But that fact is largely irrelevant. Establishing a library of reusable components for your company today remains absolutely critical.

Here’s why.

Move Faster Today

Reusable components help your team move faster by creating higher level abstractions. Components eliminate decision fatigue by programmatically enforcing…

Modern web apps have gotten…complicated.

Today many web apps are built using React, Angular, Vue, Ember, and others. These modern client-side rendered apps often call web APIs that are hosted on separate servers. This creates a problem: how do you configure your app to call the right API URL in each environment?

For example, during development, you may host the API locally at localhost:3000. In production, the API may be be hosted on some other server at api.mycompany.com. So you need your app to call localhost:3000 in development and api.mycompany.com in production. But how?

And the base URL is just one example of settings that…

Uh, this isn’t my desk. But it is the monitor I’m reviewing.

Disclaimer: BenQ gave me this monitor for free in exchange for this review. That said, as you’ll see these are my honest impressions.

As a software developer, I’ve run 2 or 3 monitors for years. But a few years ago I realized I preferred using a single display. The question is, what’s the perfect single display? I currently use a 24" Dell 4K in the office and a 27" Dell 4K at home. BenQ offered me their new EW3270U 32" 4K display with USB-C in exchange for writing an honest review.

Wow, this thing is big. At 32", it’s large…

What Legos Can Teach Us About Reuse in React Apps

React is a component library. So React makes it easy to break your UI down into composable pieces. The question is, how granular should the pieces be?

Let’s consider a specific example that I explored in a previous post.

Imagine your team just deployed a ToDo app, built in React. A month later, another team in your company wants to run your ToDo app within their invoice app, also built in React.

So now you need to run your ToDo app in two spots:

  1. By itself
  2. Embedded within the invoice app

What’s the best way to handle that? 🤔

How I’ve learned to live with — even love — a flawed machine

I previously owned a 2015 13" MacBook Pro, but purchased a 15" Macbook Pro TouchBar in Nov. 2016. I posted an initial review after one week.

The results after one year? It’s been a mixed bag, but here’s the tl;dr:

There are keyboard and reliability issues, but all considered I prefer it over the 2015.

Superb screen — For me, this is the most compelling reason to choose a Mac. I hear Apple has a patent on their screen glare reduction approach, and it shows. …

Avoid repeating yourself by centralizing PropTypes

Grand Central Station, New York, NY

There are three popular ways to handle types in React: PropTypes, TypeScript and Flow. This post is about PropTypes, which are currently the most popular.

Since PropTypes provide type warnings at runtime, it’s helpful to be as specific as possible.

  • Component accepts an object? Declare the object’s shape.
  • Prop only accepts a specific list of values? Use oneOf.
  • Array should contain numbers? Use arrayOf.
  • You can even declare your own types. AirBnB offers many additional PropTypes.

Here’s a PropType example:

PropType declaration example

In real apps with large objects, this quickly leads to a lot of code. That’s a…

Are React’s Functional Components Worth The Cost?

Stop, collaborate, and listen.

Update 5/31/19: React 16.8 added Hooks, which mean you can use functional components for nearly everything! 🎉 Function components are the future of React. So bottom-line, use functional components for future development. That said, the tradeoffs below apply for older codebases where Hooks aren’t an option. Happy coding!

I’m spending the week consulting a team in Seattle to help accelerate their transition to React. Today, we discussed the 8 key decisions to make to standardize React development.

I shared 9 reasons I’m a fan of functional components. One response surprised me:

“Let’s forbid using functional components.”

Woah, really? We discussed…

Standardize your React development with these key decisions

With this many options, choosing is hard.

React was open-sourced in 2013. Since then, it has evolved. As you search the web, you’ll stumble across old posts with dated approaches. So, here are eight key decisions your team needs to make when writing React components today.

Decision 1: Dev Environment

Before you write your first component, your team needs to agree on a dev environment. Lots of options…

Sure, you can build a JS dev environment from scratch. 25% of React devs do just that. My current team uses a fork of create-react-app with additional features such as a realistic mock API that supports CRUD, a reusable component library, and…

Three patterns for running the same app in multiple spots

Imagine your team just deployed an amazing todo list app. A month later, another team in your company wants to run your todo app within their invoice app.

So now you need to run your todo app in two spots:

  1. By itself
  2. Embedded within the invoice app

What’s the best way to handle that? 🤔

To run an app in multiple spots, you have three options:

  1. iframe — Embed the todo app in the invoice app via an <iframe>.
  2. Reusable App Component — Share the entire todo app.
  3. Reusable UI Component — Share only the todo app’s markup.

Option 2…

Cory House

Pluralsight Author, Principal at reactjsconsulting.com, Software Architect, Microsoft MVP, Speaker, Clean Coder, Aspiring Outlier.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store