DevOps 3 min read

Replacing the Water Cooler

In the era of COVID-19, we are all remote and need to find new ways of experiencing old benefits such as knowledge transfer. The impromptu conversation is less of an option: we need more structure. Here are 5 options to consider.

Replacing the Water Cooler

In the era of COVID-19, we are all remote and need to find new ways of experiencing old benefits such as knowledge transfer. The impromptu conversation is less of an option: we need more structure. Here are 5 options to consider.

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?