<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Gabriel Márquez — Writing</title><description>Senior Java/Spring and integrations consultant with 12+ years of experience helping US fintech and healthtech teams build and modernize payment, banking, and healthcare systems.</description><link>https://gaabmarquez.com</link><language>en</language><item><title>Three Accounts, One Laptop</title><link>https://gaabmarquez.com/blog/three-accounts-one-laptop</link><guid isPermaLink="true">https://gaabmarquez.com/blog/three-accounts-one-laptop</guid><description>Three GitHub identities on one machine, kept apart by four independent mechanisms — none of which is a global switch you can forget to flip.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>Git</category><category>SSH</category><category>Developer Tooling</category><category>Bash</category><author>me@gaabmarquez.com</author></item><item><title>Desktop Notifications for Claude Code</title><link>https://gaabmarquez.com/blog/desktop-notifications-for-claude-code</link><guid isPermaLink="true">https://gaabmarquez.com/blog/desktop-notifications-for-claude-code</guid><description>Never miss when Claude Code finishes a task — set up desktop notifications with sound alerts in under a minute.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>Claude Code</category><category>Productivity</category><category>Linux</category><category>macOS</category><author>me@gaabmarquez.com</author></item><item><title>Cleaning Up Your Git History After AI-Assisted Development</title><link>https://gaabmarquez.com/blog/cleaning-up-after-ai-assisted-development</link><guid isPermaLink="true">https://gaabmarquez.com/blog/cleaning-up-after-ai-assisted-development</guid><description>AI coding agents work in rapid iteration loops that produce dozens of micro-commits. Here&apos;s how to clean up your git history before merging.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><category>Git</category><category>AI</category><category>Claude Code</category><category>Cursor</category><author>me@gaabmarquez.com</author></item><item><title>Git Reset --soft: The Simplest Way to Squash Commits</title><link>https://gaabmarquez.com/blog/git-reset-soft-squash-commits</link><guid isPermaLink="true">https://gaabmarquez.com/blog/git-reset-soft-squash-commits</guid><description>Learn how git reset --soft lets you squash multiple commits into one clean commit without interactive rebase, editors, or merge conflicts.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate><category>Git</category><category>Version Control</category><category>Workflow</category><category>Developer Tools</category><author>me@gaabmarquez.com</author></item><item><title>Automate Git Clone for Multiple GitHub Accounts with a simple shell wrapper</title><link>https://gaabmarquez.com/blog/automate-git-clone-multiple-github-accounts</link><guid isPermaLink="true">https://gaabmarquez.com/blog/automate-git-clone-multiple-github-accounts</guid><description>A simple zsh function that automatically rewrites remote URLs and sets the correct SSH key and git identity when cloning repos from different GitHub accounts.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate><category>Git</category><category>SSH</category><category>Zsh</category><category>Shell Scripting</category><author>me@gaabmarquez.com</author></item><item><title>AI and Code Generation Tools: Promise and Pitfalls</title><link>https://gaabmarquez.com/blog/ai-code-generation-future</link><guid isPermaLink="true">https://gaabmarquez.com/blog/ai-code-generation-future</guid><description>Exploring the strengths, weaknesses, and future of AI code generation tools.</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>AI Code Generation</category><category>ChatGPT</category><category>Claude</category><category>Software Development</category><author>me@gaabmarquez.com</author></item><item><title>Speeding Up Java Applications with Caffeine: A Comprehensive Guide</title><link>https://gaabmarquez.com/blog/java-caching-with-caffeine</link><guid isPermaLink="true">https://gaabmarquez.com/blog/java-caching-with-caffeine</guid><description>A comprehensive guide to using Caffeine cache for high-performance caching in Java applications.</description><pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate><category>Java Caching</category><category>Caffeine Cache</category><category>Performance Optimization</category><category>Spring Boot</category><author>me@gaabmarquez.com</author></item><item><title>Asynchronous Methods in Spring Boot Using @Async</title><link>https://gaabmarquez.com/blog/async-methods-spring-boot</link><guid isPermaLink="true">https://gaabmarquez.com/blog/async-methods-spring-boot</guid><description>Learn how to use Spring Boot&apos;s @Async annotation for non-blocking method execution.</description><pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate><category>Spring Boot</category><category>Java</category><category>Async</category><category>Threading</category><author>me@gaabmarquez.com</author></item><item><title>Aspect-Oriented Programming in Java: A Real-World Example with Conditional Cron Jobs</title><link>https://gaabmarquez.com/blog/aspect-oriented-programming-java-conditional-cron-jobs</link><guid isPermaLink="true">https://gaabmarquez.com/blog/aspect-oriented-programming-java-conditional-cron-jobs</guid><description>Use AOP to conditionally run cron jobs based on a maintenance mode flag in Spring Boot.</description><pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate><category>Aspect-Oriented Programming</category><category>Spring AOP</category><category>Java Annotations</category><category>Cron Jobs</category><author>me@gaabmarquez.com</author></item><item><title>Demystifying Aspect-Oriented Programming (AOP) in Java: A Practical Introduction</title><link>https://gaabmarquez.com/blog/aspect-oriented-programming-java</link><guid isPermaLink="true">https://gaabmarquez.com/blog/aspect-oriented-programming-java</guid><description>An introduction to AOP in Java with a practical example of automatic cache invalidation.</description><pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate><category>Aspect-Oriented Programming</category><category>Spring AOP</category><category>Java Annotations</category><category>Caching</category><author>me@gaabmarquez.com</author></item><item><title>Parsing Logs with Regex in VS Code: The Ultimate Guide</title><link>https://gaabmarquez.com/blog/parsing-logs-with-regex-in-vs-code</link><guid isPermaLink="true">https://gaabmarquez.com/blog/parsing-logs-with-regex-in-vs-code</guid><description>Learn how to use regex in VS Code to efficiently parse, filter, and reformat logs.</description><pubDate>Sat, 11 Jan 2025 00:00:00 GMT</pubDate><category>Log Parsing</category><category>Regex</category><category>Regular Expressions</category><category>Debugging</category><author>me@gaabmarquez.com</author></item><item><title>How Online Courses Changed My Life Forever: $15 That Made Me Thousands</title><link>https://gaabmarquez.com/blog/how-online-courses-changed-my-life-forever</link><guid isPermaLink="true">https://gaabmarquez.com/blog/how-online-courses-changed-my-life-forever</guid><description>How a $15 online course investment led to doubling my income and transforming my career.</description><pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate><category>Career</category><category>Learning</category><category>Online Courses</category><category>Personal Growth</category><author>me@gaabmarquez.com</author></item><item><title>How to Setup Your Mac for Software Development (Java and React)</title><link>https://gaabmarquez.com/blog/how-to-setup-your-mac-for-software-development</link><guid isPermaLink="true">https://gaabmarquez.com/blog/how-to-setup-your-mac-for-software-development</guid><description>Step-by-step guide to setting up your Mac for Java and React development.</description><pubDate>Sun, 05 Jan 2025 00:00:00 GMT</pubDate><category>Java</category><category>React</category><category>Mac</category><category>NVM</category><author>me@gaabmarquez.com</author></item><item><title>Mastering Multiple SSH Keys</title><link>https://gaabmarquez.com/blog/mastering-multiple-ssh-keys</link><guid isPermaLink="true">https://gaabmarquez.com/blog/mastering-multiple-ssh-keys</guid><description>A practical guide to managing multiple SSH keys for different projects and clients.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate><category>SSH Management</category><category>Git</category><category>Version Control</category><category>Software Development</category><author>me@gaabmarquez.com</author></item><item><title>What is a Jumpbox, and How to Use it in AWS?</title><link>https://gaabmarquez.com/blog/what-is-a-jumpbox</link><guid isPermaLink="true">https://gaabmarquez.com/blog/what-is-a-jumpbox</guid><description>Learn what a jumpbox is and how to use one in AWS to back up RDS databases to S3.</description><pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate><category>AWS Services</category><category>AWS Security</category><category>Database Backup</category><category>S3</category><author>me@gaabmarquez.com</author></item><item><title>Running MySQL in Docker Like a Pro</title><link>https://gaabmarquez.com/blog/running-mysql-in-docker</link><guid isPermaLink="true">https://gaabmarquez.com/blog/running-mysql-in-docker</guid><description>A complete guide to setting up, managing, and automating MySQL in Docker containers.</description><pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate><category>Docker Containers</category><category>MySQL Backup and Restore</category><category>Automation and Tutorials</category><category>Tutorials</category><author>me@gaabmarquez.com</author></item><item><title>Why this blog?</title><link>https://gaabmarquez.com/blog/why-this-blog</link><guid isPermaLink="true">https://gaabmarquez.com/blog/why-this-blog</guid><description>The story behind starting this blog after years of hesitation.</description><pubDate>Mon, 09 Dec 2024 00:00:00 GMT</pubDate><author>me@gaabmarquez.com</author></item></channel></rss>