How-To 5 min read

4 Terrible Ways (and 4 Better Ways) to fix 'TS7016: Could not find declaration file'

There's great flexibility with TypeScript — the gradual typing. You don't have to prove yourself to the compiler because it will let opt-out. But sometimes opting out is harder than other times. We've compiled eight fixes for helping to get past the errors.

4 Terrible Ways (and 4 Better Ways) to fix 'TS7016: Could not find declaration file'

There's great flexibility with TypeScript — the gradual typing. You don't have to prove yourself to the compiler because it will let opt-out. But sometimes opting out is harder than other times. We've compiled eight fixes for helping to get past the errors.

Skills 4 min read

Gradle Build Files: Consistency Over Cute, Every Time

If you want to be able to take advantage of automation tooling or make your builds less of a unique snowflake in every project, start by making your Gradle build files consistent, every time. In this post, we outline why getting cute with your Gradle files is never a good idea.

Gradle Build Files: Consistency Over Cute, Every Time

If you want to be able to take advantage of automation tooling or make your builds less of a unique snowflake in every project, start by making your Gradle build files consistent, every time. In this post, we outline why getting cute with your Gradle files is never a good idea.

How-To 5 min read

Error Handling in GraphQL

Error handling in GraphQL can be surprisingly difficult. With the ability to tie together what would otherwise be many requests, we see both its greatest strength but also complexity when things go wrong. What does it mean when part of the query was successful but another part failed?

Error Handling in GraphQL

Error handling in GraphQL can be surprisingly difficult. With the ability to tie together what would otherwise be many requests, we see both its greatest strength but also complexity when things go wrong. What does it mean when part of the query was successful but another part failed?

Announcement 4 min read

Raising Spring: An 18-Year Journey

Speaking about the eighteen-year-old technology at the recent SpringOne Platform conference, Rod highlights the ideas and values that were important in creating the open source application framework. Notably, he references the ten lessons he and others learned through their journey.

Raising Spring: An 18-Year Journey

Speaking about the eighteen-year-old technology at the recent SpringOne Platform conference, Rod highlights the ideas and values that were important in creating the open source application framework. Notably, he references the ten lessons he and others learned through their journey.

DevOps 8 min read

How Soon We Forget: Security in the Age of Docker & Kubernetes

Forgetting all we learned over the past 40 years, we tell ourselves that running microservices in containers provides all the security we need. We convince ourselves that operating behind a firewall protects us from harm. What could possibly go wrong?

How Soon We Forget: Security in the Age of Docker & Kubernetes

Forgetting all we learned over the past 40 years, we tell ourselves that running microservices in containers provides all the security we need. We convince ourselves that operating behind a firewall protects us from harm. What could possibly go wrong?

DevOps 5 min read

Managing a GitOps Flow on Kubernetes

Using GitOps on Kubernetes means all your changes are reviewed and recorded, so you can move more quickly because everything is automated & all changes are easy to undo. Exposing your GitOps flow in chat means all the information you need is at your fingertips. Here's how we GitChatOps.

Managing a GitOps Flow on Kubernetes

Using GitOps on Kubernetes means all your changes are reviewed and recorded, so you can move more quickly because everything is automated & all changes are easy to undo. Exposing your GitOps flow in chat means all the information you need is at your fingertips. Here's how we GitChatOps.

DevOps 4 min read

Incorporate the Modern World Into the Software’s World

Software needs to evolve. Not only for its users but also underneath. Teams should incorporate the capabilities the world now offers and remove the custom components and infrastructure that are no longer unique to your business.

Incorporate the Modern World Into the Software’s World

Software needs to evolve. Not only for its users but also underneath. Teams should incorporate the capabilities the world now offers and remove the custom components and infrastructure that are no longer unique to your business.