Join Function

fn::join

noun

  1. Takes a sequence of ideas and combines them, joined by a separator.
Cover Image for What tools help manage polyglot project dependencies?

What tools help manage polyglot project dependencies?

1,009 words · 6 min read

I consulted 200+ references researching build systems so you don't have to. Here's the definitive feature matrix comparing 8 tools across 15 dimensions—plus the AI-powered research process that made it possible.

Archie Cowan
By Archie Cowan
Senior Prototype Developer for AWS global and strategic customers, former ITHAKA/JSTOR Chief Architect. Generative AI builder. Aspiring to do everything.

More ...

AI Coding Tool Tips: Structure Your Logs Strategically

Turn your log firehose into queryable intelligence. Learn how structured logging with user IDs, session IDs, and request IDs transforms debugging from hours of regex hunting into SQL queries that trace any bug from user click to database error.

1,928 words · 10 min read
(Image credit, created using AI in the style of [xkcd](https://xkcd.com/))

AI Coding Tool Tips: Generate Reusable Implementation Guides

Transform clever one-off solutions into reusable knowledge. Learn how to have AI document your best implementations as internal guides, creating a library of patterns you can reference and replicate across any project.

791 words · 4 min read
A developer discovers the power of documenting solutions with AI assistance, preventing the all-too-common "I know I solved this before" frustration.
(Image credit, created using AI) Yes, I see the errors in the dialog but "documentation singularity" says it all.

AI Coding Tool Tips: Keep Dependencies in Your Workspace

Stop watching your AI struggle with new APIs. Learn why making library source code available in your workspace beats MCP servers, and how direct file access gives AI the context it needs to integrate unfamiliar dependencies quickly.

529 words · 3 min read
Developer choosing between complex MCP setup and simple file copying approach.
(Image credit, created using AI in the style of [xkcd](https://xkcd.com/))

AI Coding Tool Tips: Good build output is also worth a thousand prompts

Turn your build system into your most reliable code reviewer. Learn how smart builds catch AI mistakes that compile but break in production, and why dependency-aware tools like Nx speed up your AI coding iterations dramatically.

937 words · 5 min read
AI development is almost like selecting which washing machine cycle you want.
(Image credit, created using AI in the style of [xkcd](https://xkcd.com/))

AI Coding Tool Tips: AI Absorbed Every 'Works on My Machine' Bad Habit

Discover why AI inherits our worst "dev complete" habits and declares victory at 80% done. Learn how to use lightweight integration tests to give AI a real definition of done and catch missing pieces before you waste time debugging.

439 words · 3 min read
When AI says "done" but the integration is missing—end-to-end tests catch what unit tests miss.

AI Coding Tool Tips: A failing test is worth a thousand prompts

Learn why failing tests eliminate ambiguity, how they catch meaning instead of just bugs, and the simple prompt that turns your test suite into an AI coding superpower.

307 words · 2 min read
LLMs understand you better when you show them what's broken instead of explaining perfect.
(Image credit, created using AI in the style of [xkcd](https://xkcd.com/))

AI Coding Tool Tips: 7 types of things I put in my rule files.

Like Leonard Shelby from Memento, AI assistants forget everything between conversations. Learn the seven types of external memory—rule files—that transform your AI from confused newcomer to knowledgeable teammate who remembers your preferences and patterns.

895 words · 5 min read
Leonard Shelby's external memory system from Memento - Polaroids with notes and tattoos containing crucial information to function despite memory loss. (image credit: generated with AI). I find it remarkable how Shelby's self manipulation is a lot like updating an LLM's memory system in between conversations. Yikes.

AI Coding Tool Tips: Three Lenses That Keep AI Code Reviews From Killing You

Master the art of reviewing thousands of lines of AI-generated code without falling asleep. Learn three focused lenses—engineering culture, cross-cutting concerns, and idioms—that help you stay alert and catch dangerous code before it ships.

1,358 words · 7 min read
If Liam Neeson's Bryan Mills character was your code reviewer
(Image credit: Generated using AI in the style of [xkcd](https://www.xkcd.com)). 
Not a recommended review technique, lol.

AI Coding Tool Tips: Why Your AI Coding Outputs Suck

Discover why jumping straight into "build me X" leads to 2,000 lines of wrong code. Learn the three levels of AI planning that transform vague prompts into precise builds, and why the fastest developers invest time upfront in planning mode.

1,246 words · 7 min read
Measure zero times, cut zero times – carpenter who has achieved enlightenment and realized the wood is fine where it is. 
(Image credit: [xkcd](https://xkcd.com/3149/)).
_Isn't this entirely true about software too?_

AI Coding Tool Tips: Code Your Own Scaffolding First

Stop arguing with chatbots about TypeScript vs JavaScript. Learn how to scaffold projects before AI writes application code, turning your workspace structure into the perfect prompt that eliminates guesswork and gets you building features faster.

816 words · 5 min read
The scaffolding metaphor works on so many levels. 
(Image credit, created using AI in the style of [xkcd](https://xkcd.com/))

AI Coding Tool Tips: Use Git Well

Learn why git becomes your lifeline when AI writes most of your code. Discover the team-scale practices that keep you aligned with code you didn't write yourself, and how branching gives you multiple states to experiment with when AI gets creative.

880 words · 5 min read
The umbrella is git diff. It's not enough, but it's what we've got. 
(Image credit: created using AI in the style of [xkcd](https://xkcd.com/))

10 reasons I don't write

Perfectionism disguised as "needing the right tools" kills writing before it starts. Learn why waiting for margin notes, automated numbering, and perfect markdown features is just procrastination in disguise, and I used coding to overcome it.

840 words · 5 min read
two super saiyans whos energy is projected toward each other with a shallow depth of field, intense faces

Polyglot monorepo build and maintenance automation

Stop copying code between folders and manually managing package builds. Learn how Projen, PDK, and Nx create reusable code packages with automated dependency tracking, letting you import instead of copy-paste while keeping build artifacts current with zero manual effort.

3,626 words · 19 min read
An image of a hacker in front of many screens. The part of the movie where they solve an impossibly difficult problem in just a few seconds.

CDK Template to Launch an EC2 Instance with an Encrypted Root Volume

Set up remote development with VS Code's SSH plugin and automatic port forwarding. Learn how to use AWS CDK to create and delete EC2 development environments with encrypted storage, perfect for bandwidth-heavy development work.

1,464 words · 8 min read

Kubernetes Controller Pattern Example with Java and MySQL

Build a Kubernetes controller that automatically creates MySQL databases with StatefulSets, Services, and Secrets. Learn how controllers subscribe to API events and manage resource lifecycles, making database provisioning as simple as applying a custom resource.

1,931 words · 10 min read

10x Faster Spring Boot Startup Times

Achieve 10x faster startup and 5x less memory usage with Spring Native compilation. Learn how to compile Spring Boot apps to native executables that start in milliseconds instead of seconds, perfect for serverless and container environments.

1,340 words · 7 min read

k9s - My Favorite Kubernetes Tool

Replace endless kubectl commands with a terminal UI that makes Kubernetes management intuitive. Learn how k9s turns complex cluster operations into simple keyboard shortcuts, from viewing logs to navigating resources with ease.

509 words · 3 min read

Kubernetes with Java - Handling Events

Move beyond polling to real-time Kubernetes event handling in Java. Learn how to subscribe to API events for deployments and other resources, enabling notifications and automation that respond instantly to cluster changes.

1,665 words · 9 min read

Config Updates Without Redeployment for Spring and Kubernetes

Update application configuration without restarting pods using Spring PropertySources and Kubernetes ConfigMaps. Learn how to build apps that reload configuration on-demand, enabling live updates in production environments.

1,302 words · 7 min read

Accelerate Your Deployment Velocity with Feature flags

Deploy hundreds of changes per week without exposing incomplete work to users. Learn how feature flags let you separate deployment from release, enabling continuous delivery while keeping work-in-progress safely hidden behind toggles.

2,451 words · 13 min read

Kubernetes with Java - Creating Images

Create production-ready container images for Spring Boot apps using Dockerfiles or Cloud Native Buildpacks. Learn essential OCI image attributes: proper layering, non-root users, graceful shutdown, and security.

908 words · 5 min read

You Can Match How Many Deployments Amazon Does in a Day

Amazon does 136,000 deployments per day with 50,000 engineers—that's just 2-3 changes per engineer per week. Learn why your team can achieve similar velocity by making small iterative changes and automating 5-10 deployment steps per change.

888 words · 5 min read

Kubernetes with Java - Running in the Cluster

Deploy Spring Boot apps that access Kubernetes APIs from inside the cluster using proper RBAC configuration. Learn how to package apps into OCI images, configure ServiceAccounts with minimal permissions, and deploy with Kubernetes resources.

1,363 words · 7 min read

Kubernetes with Java - Asynchronous APIs

Stop overwhelming the Kubernetes API with frequent requests by switching to asynchronous event subscriptions. Learn when to use synchronous vs asynchronous APIs, how to implement watches with SharedIndexInformer, and cache data locally for better performance.

806 words · 5 min read

Kubernetes with Java - Introduction

Build Spring Boot applications that interact with Kubernetes APIs to extract deployment metadata and create custom views. Learn how to initialize the K8s API client and transform cluster data into team and application listings.

1,331 words · 7 min read