Open in app

Sign In

Write

Sign In

Caleb Meredith
Caleb Meredith

1.5K Followers

Home

About

Published in

The Airtable Engineering Blog

·Apr 26, 2021

The continual evolution of Airtable’s codebase: Migrating a million lines of code to TypeScript

By Caleb Meredith and Andrew Wang Airtable’s codebase follows an ethos of continual evolution. We’re unafraid of ripping out old code when it no longer meets our needs or introducing new technologies and patterns to reflect the current state of the art. Today, we’re going to provide an overview of…

Engineering

8 min read

The continual evolution of Airtable’s codebase: Migrating a million lines of code to TypeScript
The continual evolution of Airtable’s codebase: Migrating a million lines of code to TypeScript
Engineering

8 min read


Jan 30, 2019

How to Think About Type Systems

Pick the programming language you know best. I’ll pick JavaScript. Now imagine every value you could create in that language. Yes, every value. In JavaScript, you’d have numbers like 0, 1, -42, and 3.14. You’d have strings like the empty string "" or the classic "Hello, World!". You’d have objects…

Programming

6 min read

How to Think About Type Systems
How to Think About Type Systems
Programming

6 min read


Published in

Flow

·Feb 20, 2018

Better Flow Error Messages for the JavaScript Ecosystem

Over the last year, the Flow team has been slowly auditing and improving all the possible error messages generated by the type checker. In Flow 0.66 …

JavaScript

3 min read

Better Flow Error Messages for the JavaScript Ecosystem
Better Flow Error Messages for the JavaScript Ecosystem
JavaScript

3 min read


Aug 25, 2017

When To Use GraphQL Non-Null Fields

Learn what some of the unexpected costs of GraphQL non-null fields are. — In the GraphQL type system all types are nullable by default. This means that a type like Int can take any integer (1, 2, etc.) or null which represents the absence of any value. However, the GraphQL type system allows you to make any type non-null which means that the…

GraphQL

8 min read

When To Use GraphQL Non-Null Fields
When To Use GraphQL Non-Null Fields
GraphQL

8 min read


Published in

Flow

·Aug 16, 2017

Even Better Support for React in Flow

The first version of Flow support for React was a magical implementation of React.createClass(). Since then, React has evolved significantly. It is time to rethink how Flow models React. In Flow 0.53.0 we are changing how Flow models React and in doing this we can provide better types for higher-order…

JavaScript

8 min read

Even Better Support for React in Flow
Even Better Support for React in Flow
JavaScript

8 min read


Apr 24, 2017

My Three Current Conference Talk Proposals

I currently have three conference talk proposals that contain ideas which I really want to explore. Even if I never end up giving a talk on these ideas I want to put these out into the world anyway and start talking about these ideas. …

JavaScript

5 min read

JavaScript

5 min read


Published in

Apollo GraphQL

·Mar 28, 2017

Designing GraphQL Mutations

Design principles for building effective GraphQL mutation systems that can evolve over time — Designing a good GraphQL API is tricky, because you always want to balance utility and convenience with a consideration around how the API may evolve in the future. The main points to consider when designing your GraphQL mutations are: Naming. Name your mutations verb first. Then the object, or “noun,”…

GraphQL

5 min read

Designing GraphQL Mutations
Designing GraphQL Mutations
GraphQL

5 min read


Published in

Apollo GraphQL

·Mar 14, 2017

Apollo Client’s new imperative store API

Control normalized data with a GraphQL-native interface — GraphQL is strongest when it is a unified access point to your organization’s entire data universe: You may have a plethora of micro-services churning away in the background, but your GraphQL consumer doesn’t need to know those details. …

GraphQL

6 min read

Apollo Client’s new imperative store API
Apollo Client’s new imperative store API
GraphQL

6 min read


Published in

Apollo GraphQL

·Feb 23, 2017

Explaining GraphQL Connections

Edges have never been so fun! — I don’t read many books these days, but I do listen to books. Thanks to the incessant work of the Audible marketing team Amazon has converted me into an audiobook consumer. …

GraphQL

9 min read

Explaining GraphQL Connections
Explaining GraphQL Connections
GraphQL

9 min read


Nov 23, 2016

Write Your Own React.js!

Meditation is incredibly difficult for me. First, I sit down. Second, I do some stuff with my arms and legs that I’m sure looks “zen.” Third, I’ll start deep-breathing, or what I think is deep-breathing because who has formal training in deep-breathing? Within two seconds my phone has buzzed, a…

React

7 min read

Write Your Own React.js!
Write Your Own React.js!
React

7 min read

Caleb Meredith

Caleb Meredith

1.5K Followers

Product engineer at Airtable. Previously Facebook. @calebmer on Twitter

Following
  • Omny Studio team

    Omny Studio team

  • Dominic Gozza

    Dominic Gozza

  • Node.js

    Node.js

  • Serverless

    Serverless

  • Nodevember

    Nodevember

See all (58)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams