<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>fn:join</title>
        <link>https://fnjoin.com/</link>
        <description>Recent content on fn:join</description>
        <managingEditor>contact@fnjoin.com</managingEditor>
        <webMaster>contact@fnjoin.com</webMaster>
        <lastBuildDate>Sun, 03 May 2026 11:58:27 GMT</lastBuildDate>
        <atom:link href="https://fnjoin.com/index.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title>Design Your MLOps Pipeline So an AI Assistant Can Run It</title>
            <link>https://fnjoin.com/post/2026-04-14-design-your-mlops-pipeline-so-an-ai-assistant-can-run-it/</link>
            <description>Most MLOps pipelines are built for humans to operate. Restructure yours around versioning, model cards, CLI tooling, and structured logging — and an AI assistant can drive the whole lifecycle.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2026-04-14-design-your-mlops-pipeline-so-an-ai-assistant-can-run-it/</guid>
        </item>
        <item>
            <title>The 45-Minute Standup (And the 5-Minute Fix)</title>
            <link>https://fnjoin.com/post/2026-01-20-the-45-minute-standup/</link>
            <description>Your standup became a planning meeting. Here's how to take it back.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2026-01-20-the-45-minute-standup/</guid>
        </item>
        <item>
            <title>AI Coding Tips: Stop Generating, Start Translating</title>
            <link>https://fnjoin.com/post/2026-01-05-everything-is-a-translation-task/</link>
            <description>Stop thinking of AI as a code generator. Start thinking of it as a translator. When you shift from "write me code"  to "translate this intent into working implementation," everything changes—your prompts get clearer, your results get better.
</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2026-01-05-everything-is-a-translation-task/</guid>
        </item>
        <item>
            <title>What tools help manage polyglot project dependencies?</title>
            <link>https://fnjoin.com/post/2026-01-03-what-tools-help-manage-polyglot-project-dependencies/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2026-01-03-what-tools-help-manage-polyglot-project-dependencies/</guid>
        </item>
        <item>
            <title>Why I Built a Calendar That Shows 365 Days at Once</title>
            <link>https://fnjoin.com/post/2026-01-01-calendar-matrix-full-year-planning/</link>
            <description>Welcome to 2026. You know that feeling when you're looking at your 2025 goals and realizing you're maybe 30% done with things you thought you'd finish? Yeah. That was me last week. I had this certification I meant to complete, a side project that's been "almost done" for months, and a trading strategy I never got around to backtesting. All sitting there, mocking me from my abandoned quarterly planning docs. Planning for achievements I want to make at work, planning trades I want to be able to make in the markets, planning articles I want to write, planning time with...</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2026-01-01-calendar-matrix-full-year-planning/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Structure Your Logs Strategically</title>
            <link>https://fnjoin.com/post/2025-12-30-structure-your-logs-strategically/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-30-structure-your-logs-strategically/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Generate Reusable Implementation Guides</title>
            <link>https://fnjoin.com/post/2025-12-29-generate-reusable-implementation-guides/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-29-generate-reusable-implementation-guides/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Keep Dependencies in Your Workspace</title>
            <link>https://fnjoin.com/post/2025-12-28-keep-dependencies-in-workspace/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-28-keep-dependencies-in-workspace/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Good build output is also worth a thousand prompts</title>
            <link>https://fnjoin.com/post/2025-12-27-good-build-output-is-also-worth-a-thousand-prompts/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-27-good-build-output-is-also-worth-a-thousand-prompts/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: AI Absorbed Every 'Works on My Machine' Bad Habit</title>
            <link>https://fnjoin.com/post/2025-12-26-ai-absorbed-every-works-on-my-machine-bad-habit/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Fri, 26 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-26-ai-absorbed-every-works-on-my-machine-bad-habit/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: A failing test is worth a thousand prompts</title>
            <link>https://fnjoin.com/post/2025-12-25-a-failing-test-is-worth-a-thousand-prompts/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-25-a-failing-test-is-worth-a-thousand-prompts/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: 7 types of things I put in my rule files.
</title>
            <link>https://fnjoin.com/post/2025-12-24-the-7-types-of-things-i-put-in-my-rule-files/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-24-the-7-types-of-things-i-put-in-my-rule-files/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Three Lenses That Keep AI Code Reviews From Killing You</title>
            <link>https://fnjoin.com/post/2025-12-23-three-lenses-that-keep-ai-code-reviews-from-killing-you/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-23-three-lenses-that-keep-ai-code-reviews-from-killing-you/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Why Your AI Coding Outputs Suck</title>
            <link>https://fnjoin.com/post/2025-12-22-invest-time-in-planning-mode/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-22-invest-time-in-planning-mode/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Code Your Own Scaffolding First</title>
            <link>https://fnjoin.com/post/2025-12-21-code-your-own-scaffolding-first/</link>
            <description>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.
</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 21 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-21-code-your-own-scaffolding-first/</guid>
        </item>
        <item>
            <title>AI Coding Tool Tips: Use Git Well</title>
            <link>https://fnjoin.com/post/2025-12-20-use-git-well/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2025-12-20-use-git-well/</guid>
        </item>
        <item>
            <title>10 reasons I don't write</title>
            <link>https://fnjoin.com/post/2024-05-12-the-reasons-i-dont-write/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 12 May 2024 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2024-05-12-the-reasons-i-dont-write/</guid>
        </item>
        <item>
            <title>Polyglot monorepo build and maintenance automation</title>
            <link>https://fnjoin.com/post/2024-03-04-projen-pdk-nx/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 03 Mar 2024 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2024-03-04-projen-pdk-nx/</guid>
        </item>
        <item>
            <title>CDK Template to Launch an EC2 Instance with an Encrypted Root Volume</title>
            <link>https://fnjoin.com/post/2022-12-10-cdk-ec2-encrypted-root-disk-dev/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 10 Dec 2022 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2022-12-10-cdk-ec2-encrypted-root-disk-dev/</guid>
        </item>
        <item>
            <title>Kubernetes Controller Pattern Example with Java and MySQL</title>
            <link>https://fnjoin.com/post/2022-11-08-k8s-controller-java/</link>
            <description>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.
</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2022-11-08-k8s-controller-java/</guid>
        </item>
        <item>
            <title>10x Faster Spring Boot Startup Times</title>
            <link>https://fnjoin.com/post/2022-03-20-fast-java-startup/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 20 Mar 2022 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2022-03-20-fast-java-startup/</guid>
        </item>
        <item>
            <title>k9s - My Favorite Kubernetes Tool</title>
            <link>https://fnjoin.com/post/2022-02-07-fav-k8s-cli-tool/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Mon, 07 Feb 2022 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2022-02-07-fav-k8s-cli-tool/</guid>
        </item>
        <item>
            <title>Kubernetes with Java - Handling Events</title>
            <link>https://fnjoin.com/post/2022-01-03-k8s-event-handling/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Mon, 03 Jan 2022 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2022-01-03-k8s-event-handling/</guid>
        </item>
        <item>
            <title>Config Updates Without Redeployment for Spring and Kubernetes</title>
            <link>https://fnjoin.com/post/2021-12-18-live-config-updates-spring-configmaps/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 18 Dec 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-12-18-live-config-updates-spring-configmaps/</guid>
        </item>
        <item>
            <title>Accelerate Your Deployment Velocity with Feature flags</title>
            <link>https://fnjoin.com/post/2021-12-04-accelerate-with-feature-flags/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 04 Dec 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-12-04-accelerate-with-feature-flags/</guid>
        </item>
        <item>
            <title>Kubernetes with Java - Creating Images</title>
            <link>https://fnjoin.com/post/2021-11-28-creating-images/</link>
            <description>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.
</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 28 Nov 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-11-28-creating-images/</guid>
        </item>
        <item>
            <title>You Can Match How Many Deployments Amazon Does in a Day</title>
            <link>https://fnjoin.com/post/2021-11-28-how-many-deployments-amazon-does-in-a-day/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sun, 28 Nov 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-11-28-how-many-deployments-amazon-does-in-a-day/</guid>
        </item>
        <item>
            <title>Kubernetes with Java - Running in the Cluster</title>
            <link>https://fnjoin.com/post/2021-09-11-running-in-cluster/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Sat, 11 Sep 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-09-11-running-in-cluster/</guid>
        </item>
        <item>
            <title>Kubernetes with Java - Asynchronous APIs</title>
            <link>https://fnjoin.com/post/2021-09-08-show-deployments-async/</link>
            <description>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.</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Wed, 08 Sep 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-09-08-show-deployments-async/</guid>
        </item>
        <item>
            <title>Kubernetes with Java - Introduction</title>
            <link>https://fnjoin.com/post/2021-08-27-show-deployments/</link>
            <description>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.
</description>
            <author>contact@fnjoin.com</author>
            <pubDate>Fri, 27 Aug 2021 00:00:00 GMT</pubDate>
            <guid>https://fnjoin.com/post/2021-08-27-show-deployments/</guid>
        </item>
    </channel>
</rss>