GenAI using Kotlin and Spring-AI with ChatGPT

Generative AI is all the hype lately, so why not show how to call the OpenAI GPT-4 ChatGPT API from Kotlin using Spring-AI?!? It can be done with a surprisingly small amount of upfront setup. So here is an example REST API that returns either a Quote or a Haiku written by the all-knowing genie of GenAI itself -- GPT-4.

Read more
QA and "The Testers"

QA used to be the gatekeepers for Quality, now they're just "the testers." What happened?

Read more
Misled By The Bug Tracker

A common theme across some of my recent client engagements is that the team's gut sense doesn't align with the metrics we see in the bug tracker. "We closed 10 out of 12 issues in Jira this sprint," a team will report. Looking at the numbers, this is great news - but we can easily start to believe that there's only two bugs left. In our gut, we know there's more out there, so tho question is, can we get a better metric?

Read more
Navigating the Technology Maze: A Guide for Small and Medium Business Owners

At DevObsessed, we understand these challenges intimately. We don't push a one-size-fits-all technology solution. Instead, our approach is rooted in understanding the nuances of each business's needs. Of course, we have our favorite tools and platforms, but not because of brand loyalty, but because of our hands-on experience with a variety of solutions and witnessing their impact in different scenarios.

Read more
Using @AfterMapping with Mapstruct, Interfaces, and Lombok Builders

When using interfaces to define mapping and POJOs annotated with Lombok’s Builder, the signature for afterMapping needs to match the entry point of the mapper, with the additional parameter of the mapping target’s builder.

Read more
Commandline Java Truststore Cert Setup

A quick lesson learned in consulting is that most every software organization has custom tailored setups in a variety of ways. As consultants on our first days at a new client we'll begin gathering environmental information in all forms. We'll see a variety of programming languages, API gateways, infrastructure as code utilities, databases, and more. In our quest to quickly build confidence and cohesion between ourselves and our new partner team, we'll inevitably dive into project onboarding & setup instructions. Our goals are to get up and running efficiently while updating the steps involved along the way.

Read more
Tailscale For Developers

Learn how Tailscale can help secure your development and ease the hassle of signing TLS certificates in development.

Read more