Articles on development

Linden Melvin

Linden Melvin

Authorization and Authentication in GraphQL

Introduction GraphQL is growing in popularity because it allows applications to request only the data they need using a strongly-typed, self-documenting query structure that enables an API to deliver data that can evolve over time. Unlike traditional REST APIs, GraphQL exposes a single endpoint to query and mutate data. Upon learning this, one of the

Sarah Port

Sarah Port

Writing ZSH Themes: A Quickref

Customizing your terminal is a fun way to streamline and personalize your digital workspace. People are more productive when using tools they enjoy and tend to value things they made themselves at a premium, but, as with all technical adventures, it can also be a little tedious to track down all the relevant documentation. This

Wil Wade

Wil Wade

What Are These $%^&* Chores Doing in My Backlog!

Beyond Just Features and Bugs Projects tend to have three types of “tasks” for developers to do: features, bugs, and chores. Features and bugs are mostly self-explanatory. Features deliver direct customer value. Bugs are features that are not working as intended. These two tasks focus on direct connections to the users. Chores provide indirect customer

Elixir-Docker-Carbon Five
Prakash Venkatraman

Prakash Venkatraman

Cross-Platform Elixir Releases with Docker

While releases are meant to be self-contained executables, they still call out to native system libraries to do things like open TCP sockets and write to files. That means that the native libraries referenced at compile time need to be exactly the same as the ones on your target machine. Unless you can guarantee that your workstation and cloud are exactly the same, releases can seem like only half the promise of a stress-free deployment.

Rit Li

Rit Li

Running Multiple Versions of Postgres with Docker Compose for Local Development

Say we have Project X and Project Y that require Postgres 9 and Postgres 10 respectively. These projects aren’t using Docker to manage their Postgres dependency so it is up to each developer to manage this themselves. How do we get different versions of Postgres running simultaneously on our workstation without making any modifications to

Jon Rogers

Jon Rogers

Why Write Good Pull Requests?

Writing a good, clean pull request description gives us developers a chance to use words (not code) to explain why we are making the change, describe the problem this code is solving, and provide context around why we chose a particular implementation.

Will Ockelmann-Wagner

Will Ockelmann-Wagner

The Best of Both Worlds: HTML Apps & Svelte

At Carbon Five we try to be agile about our technology choices and pick the simplest tool for the job at hand. That means that even in 2019, the era of React and Redux and GraphQL and all the other fancy tools for client-side web applications, sometimes the best tool for our clients is a

Zoe Madden-Wood

Zoe Madden-Wood

Changes Requested: The Advantages and Pitfalls of Blocking a Pull Request

Each team has their own tolerance for what is and is not a reason to request changes on a PR and block it from being merged. This may be rooted in process, fairness, and expediency, and may be a company or team decision. Whatever your personal philosophy may be, the team as a whole and

Zoe Madden-Wood

Zoe Madden-Wood

Adjusting to TypeScript 101

Super Simple Hacks While You’re Figuring Out Your Workflow There are a lot of really great reasons to use TypeScript, but we’ve occasionally encountered some hesitancy from programmers not sure how much of an adjustment it will be. Learning Typescript is not as complicated as say learning Elm and I’d argue it’s more enjoyable to

Brian Griggs

Brian Griggs

Build Trust and Confidence with Frequent Demos

Part of our approach to software development at Carbon Five is to ensure everyone is playing with the same dictionary. The start-of-project questions we all ask are common: What are the success metrics for our stakeholders? Will our customers dislike our product? But words like “success” and “dislike,” “good” and “bad” are all personal words.