Most AI projects fail. Yours doesn’t have to.
Reserve your spot today and get a production-ready Agent Blueprint in just 3 weeks
6
spots‍
‍available
Register for Your Agent Blueprint
About
Capabilities
Custom AgentsReliable RAGCustom Software DevelopmentEval Driven DevelopmentObservability
LangChainCase StudiesFocused Lab
Contact us
/Focused Lab learning community

Building great software requires shared knowledge

At Focused, we talk a lot about solving hard problems for the satisfaction of finding the answer. Join our community to learn new skills, ask questions, share your wins, and build better software.

Subscribe for updates

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Explore Focused Lab

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Two developers reviewing code together on a monitor with lines of code reflected in their glasses

Debugging Spring Security

Spring Security is notoriously hard to debug and test. One simple trick — adding debug = true to the @EnableWebSecurity annotation — gives you significantly better log output. Just don't use it in production.
Blog
Reading glasses resting on an open notebook next to a laptop and pen on a desk

Don't Get Stuck With Out of Date Dependencies!

Outdated dependencies are a common source of bugs and security issues. Here are quick tools to keep your Gradle projects (Use Latest Versions Plugin) and Node.js projects (updtr) current with minimal effort.
Blog
Developer working at a multi-monitor setup with code and analytics dashboards on screen

How to Quickly Delete Multiple Jobs in Kubernetes

Kube jobs running wild? Here are quick kubectl one-liners to delete successful jobs, failed or long-running jobs, or nuke them all at once.
Blog
Close-up of hands typing on a smartphone with an on-screen keyboard

Cancelling a Stripe Subscription On 'Period End'

Stripe's documentation on cancelling a subscription at period end isn't entirely current. Instead of the documented approach, you need to update the subscription schedule phases and set end_behavior to cancel. Here's the workaround.
Blog
Two developers collaborating at a desk with multiple monitors showing code

TIL: the Git -p Flag!

The git -p flag enables interactive patch mode, letting you selectively stage, checkout, or commit specific hunks of changes. Once you learn it, you'll want to use it everywhere.
Blog
Hand holding a pen writing on paper at a desk with a coffee mug and tablet nearby

Blog Golf: Smallest Post Wins

At Focused Labs, our Editorial Board came up with a fun way to encourage blogging: Blog Golf. Like code golf, the smallest post wins. Write in 15 minutes or less, and the most concise post takes the prize.
Blog
Laptop screen showing a VS Code editor with a dark theme extension page and a coffee mug nearby

Faster .NET CI/CD Pipelines With Test Filters

Sluggish CI/CD pipelines leave developers vulnerable to distraction. If your unit and integration tests live in one .csproj, use dotnet test filters to run only unit tests in CI and integration tests in CD.
Blog
Close-up of hands typing on a laptop keyboard with a purple overlay and Focused brand accents

CORS Hides Real Bugs

CORS errors can hide the real problem. After spending hours debugging a confusing CORS issue, we discovered a simple Chrome flag that disables web security checks — letting you get past the CORS noise and debug the actual response.
Blog
Focused Labs logo with repeating tagline text: Big impact, Hard problems, Evolving Legacy, Next Era

Focused On: Culture

At Focused Labs, we hold a weekly Culture Lunch to host important conversations about work life. Here's what emerged when we sat down to define our culture together, from what we value to how we collaborate.
Blog
Person gesturing while discussing near a laptop showing colorful app designs, purple overlay

Echo Cancellation with Web Audio Api and Chromium

When combining the Web Audio API with conferencing audio streams for spatial processing, we hit a tricky Chromium bug around echo cancellation. Here's what we learned about the interaction between audio processing pipelines and browser-level echo cancellation.
Blog
Developer typing on a laptop with colorful code displayed on a dark screen

Cross-Parameter Validation with Spring

With Spring, data validation is a breeze in many common use cases (like validating a method's input parameters) - and is highly recommended.
Blog
Close-up of hands typing on a laptop keyboard with a purple overlay and Focused brand accents

The No-Nonsense Guide to JVM 14 Memory on Kubernetes

A no-nonsense guide to JVM 14 memory management on Kubernetes, covering container support defaults, MaxRAMPercentage, and practical configuration tips.
Blog
Developer pair programming on a MacBook Pro with code on screen and a video call visible

Add Keyboard Shortcuts to Your Vue App ⌨️

Vue has built-in support for key events on input elements, but global shortcuts require a different approach. This post walks through how to implement global keyboard shortcuts in Vue using either low-level JavaScript event listeners or the vue-shortkey plugin.
Blog
Chicago lakefront skyline at sunset with the Hancock tower and boats in the harbor

Sentry with Spring Boot (The Better Way)

Our initial Sentry setup with Spring Boot had some issues. Here's the revised approach using sentry.properties and logback-spring.xml that eliminates the boot-up warnings and properly captures errors.
Blog
Chicago downtown street view with tall skyscrapers and a bus passing through

Sentry with Spring Boot

Setting up Sentry in a Spring Boot project is mostly straightforward, but there are a few gotchas. Here's what we ended up with and the caveats to watch out for, including duplicate errors and boot-time warnings.
Blog
Laptop screen showing a VS Code editor with a dark theme extension page and a coffee mug nearby

Easily Switch AWS Profiles with Tab Completion

Tired of manually switching AWS profiles? This short bash function adds an aps command with tab completion for all your existing AWS config profiles. Just drop it in your ~/.bash_profile and go.
Blog
1

Chat With Your PDFs PART 1: An End-to-End LangChain Tutorial

Chat With Your PDFs PART 2: Frontend - An End-to-End LangChain Tutorial

Deploy an AI Coding Assistant in the Cloud with Hetzner, Ollama, and TailScale for Cursor

01
/
03
/Focused Lab

Watch the latest from Focused

Your expert in agents and integrations.

Get in touch
Focused

433 W Van Buren St

Suite 1100-C
Chicago, IL 60607

‍
‍work@focused.io
‍
(708) 303-8088

About
Leadership
Capabilities
Case Studies
Focused Lab
Careers
Contact
RSS
© 2026 Focused. All rights reserved.
Privacy Policy