# thats.nono > A blog that's gonna put your software engineering skills to the test. thats.nono is the personal tech blog of Yoonsoo Park, focused on software engineering, AWS, AI/LLM tooling, and developer productivity. Each post is also available as raw Markdown by appending `.md` to the URL is NOT enabled here; the canonical HTML URLs below are the primary source. ## Pages - [About](https://www.yopa.page/about.html): About the author - [Articles](https://www.yopa.page/articles.html): Curated articles index - [Dimly](https://www.yopa.page/dimly/): AI-powered newsletter reader. Turn noise into signal. ## Blog Posts - [Adding llms.txt to a Hugo Blog with Output Formats](https://www.yopa.page/blog/2026-05-27-adding-llms-txt-to-hugo.html): How to add an /llms.txt endpoint to a Hugo static site using a custom Output Format, so LLMs can ingest your blog without crawling 180 HTML pages — and an honest take on whether it actually works. - [Deploy Your Own AI Agent to AWS — Hermes on ECS Fargate with Slack Integration](https://www.yopa.page/blog/2026-05-23-deploy-hermes-ai-agent-aws-ecs-fargate-slack.html): A complete guide to deploying NousResearch's Hermes Agent on AWS ECS Fargate with Slack integration, persistent memory on EFS, and a knowledge base on S3. Includes CDK infrastructure, Docker image, troubleshooting from real deployment experience, and cost breakdown. - [AWS Strands vs LangGraph on Bedrock AgentCore: Lessons from Building an Agentic Platform](https://www.yopa.page/blog/2026-02-28-strands-vs-langgraph.html): Comparing AWS Strands and LangGraph for agentic workflows on Amazon Bedrock AgentCore through hands-on PoC experience. Covers cold start gotchas, a three-tier tool architecture pattern, async tool limitations, and honest trade-offs from building a multi-tool agent on a financial SaaS platform. - [Why You Should Switch to uv for Python Projects](https://www.yopa.page/blog/2026-02-14-why-you-should-switch-to-uv.html): A comprehensive guide to 'uv', the ultra-fast Python package manager that is replacing pip, poetry, and pyenv. - [Python __init__.py Explained: Mastering Package Structure and Imports](https://www.yopa.page/blog/2026-02-09-demystifying-init-py.html): Why that empty file is the secret to clean, professional Python libraries. - [Why Do Python Experts Use the @property Decorator?](https://www.yopa.page/blog/2026-02-09-why-do-python-experts-use-the-property-decorator.html): A deep dive into the @property decorator in Python, exploring its benefits for dynamic attributes and read-only protection. - [Building an Agent Factory with AWS AgentCore](https://www.yopa.page/blog/2025-12-20-building-agent-factory-with-agentcore.html): A deep dive into the architecture and infrastructure of Agent Factory, a system for building and deploying AI agents on AWS. - [Securing Agentic AI for Financial Institutions (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-17-securing-agentic-ai-for-financial-institutions.html): A security architecture guide for banking and finance. Covers Zero Trust, AWS SigV4, and PrivateLink for multi-agent systems. - [Building Responsible AI with Amazon Bedrock (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-16-building-responsible-ai-with-amazon-bedrock.html): How to use Amazon Bedrock Guardrails and Automated Reasoning to enforce strict business policies on your AI agents. - [AgentCore Overview (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-15-partner-insights-agentcore-overview.html): A comprehensive overview of the AgentCore ecosystem: Runtime, Identity, Gateway, Memory, and Observability. - [Real-Time Voice Agents with AWS Nova Sonic (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-14-real-time-voice-agents-with-aws-nova-sonic.html): How to build ultra-low latency, interruptible voice agents using Amazon Nova Sonic and WebSocket streams. - [Implementing Multi-Tenancy with AgentCore (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-13-implementing-multi-tenancy-with-agentcore.html): A security guide for building SaaS applications with AgentCore. Covers Tenant Context, Gateway Interceptors, and IAM Policies. - [Designing Robust Multi-Agent Systems (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-12-designing-robust-multi-agent-systems.html): A technical guide to architectural patterns for multi-agent systems: Hierarchical, Swarm, DAG, and ReWOO. - [Architecture Patterns for Strands and MCP (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-11-architecture-patterns-for-strands-and-mcp.html): A definitive guide to the Strands framework, Model Context Protocol (MCP), and Agent-to-Agent (A2A) communication. - [Agent Factory - Scaling AI Employee Creation (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-10-agent-factory-scaling-ai-employee-creation.html): How to use the AWS Agent Factory and Strands SDK to automate the creation of production-grade AI agents. - [Deep Dive into AgentCore Memory Architecture (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-09-deep-dive-into-agentcore-memory-architecture.html): A comprehensive technical deep dive into AWS Bedrock AgentCore Memory. Explains Context Orchestration, Memory Hooks, and how to solve AI adoption's 'Party Amnesia' problem. - [Building Long-Running Agents with AgentCore (AWS re:Invent 2025)](https://www.yopa.page/blog/2025-12-08-building-long-running-agents-with-agentcore.html): A technical guide to building persistent, long-running AI agents using AWS Bedrock AgentCore. Includes architecture diagrams and configuration steps. - [Deploy n8n on AWS Step by Step](https://www.yopa.page/blog/2025-08-20-scaling-n8n-on-aws-serverless-architecture.html): A technical guide to deploying n8n on AWS using CDK, Fargate, and Aurora Serverless. - [Kiro IDE - The Smart Coding Tool That Plans Before It Builds](https://www.yopa.page/blog/2025-07-22-kiro-ide-the-smart-coding-tool-that-plans-before-it-builds.html): Kiro IDE is Amazon's new AI coding assistant. It helps you plan your project before writing any code, instead of just generating code quickly. This makes it different from other AI coding tools. - [AWS Vector Databases for RAG Applications - Your Complete Architectural Decision Guide](https://www.yopa.page/blog/2025-05-25-aws-vector-databases-rag-applications-complete-architectural-decision-guide.html): A comprehensive guide to choosing and implementing AWS native vector database services for RAG applications, covering OpenSearch, RDS PostgreSQL, Neptune Analytics, Bedrock Knowledge Bases, and Kendra with real-world decision frameworks. - [AI Agents vs. Agentic AI - Understanding the Key Differences That Matter in 2025](https://www.yopa.page/blog/2025-05-21-ai-agents-vs-agentic-ai-understanding-key-differences-2025.html): Discover the critical distinctions between AI agents and agentic AI systems, their architectural differences, real-world applications, and why understanding these concepts is essential for making smart AI investment decisions in 2025. - [Setting Up SSO Between AWS Cognito and Salesforce - A Beginner's Guide](https://www.yopa.page/blog/2025-04-11-setting-up-sso-between-aws-cognito-and-salesforce-a-beginners-guide.html): Learn how to implement Single Sign-On between AWS Cognito and Salesforce for a seamless user experience with complete step-by-step instructions. - [Ruby on Rails Tutorial - Essential Syntax and Methods Guide for Beginners](https://www.yopa.page/blog/2025-01-31-getting-started-with-ruby-on-rails-syntax-and-built-in-methods.html): A beginner-friendly guide exploring Ruby's syntax and built-in methods for common data structures, with insightful comparisons to Python. - [Unlocking Meeting Insights with Amazon Transcribe](https://www.yopa.page/blog/2025-01-24-unlocking-meeting-insights-with-amazon-transcribe.html): Learn how to use Amazon Transcribe and a Python CLI app to extract meeting transcripts, enabling seamless collaboration and brainstorming with GenAI tools. - [Troubleshooting AWS Amplify Authentication - Solving the Mystery of Login Errors](https://www.yopa.page/blog/2024-12-30-troubleshooting-aws-amplify-authentication.html): A detailed guide to resolving common AWS Amplify authentication issues in React Native applications, with practical solutions and code examples. - [Understanding Terraform Commands Through Real-World Examples](https://www.yopa.page/blog/2024-12-24-terraform-init-vs-plan-vs-apply---a-complete-guide-with-examples.html): A practical guide to understanding when and why to use different Terraform commands, illustrated through real-world infrastructure management scenarios. - [Understanding Common DNS and Email Authentication Terms](https://www.yopa.page/blog/2024-11-25-understanding-dns-email-authentication-terms.html): A comprehensive guide to understanding common DNS records and email authentication terms like DKIM, CNAME, MX, and more. - [Boost Your Productivity with VS Code Multi-root Workspaces - Complete Guide 2024](https://www.yopa.page/blog/2024-11-05-boost-your-productivity-with-vs-code-multi-root-workspaces.html): Learn how to efficiently manage multiple project folders in Visual Studio Code using multi-root workspaces. Discover setup tips, best practices, and advanced configurations for improved development workflow. - [Understanding Git Ignore Patterns - .gitignore vs .git/info/exclude](https://www.yopa.page/blog/2024-11-01-understanding-git-ignore-patterns-gitignore-vs-git-info-exclude.html): Learn when to use .git/info/exclude instead of .gitignore for managing ignored files in Git, with practical examples and use cases - [Master Git - Understanding Branches, Remotes, and HEAD for Better Collaboration](https://www.yopa.page/blog/2024-10-15-master-git-understanding-branches-remotes-and-head-for-better-collaboration.html): Demystify key Git concepts like local vs. remote branches, fetching, pulling, pushing, and the HEAD pointer to improve your version control skills and team collaboration. - [Mastering Git Diff for Efficient Pull Request Analysis - A Developer's Guide](https://www.yopa.page/blog/2024-09-30-mastering-git-diff-for-efficient-pull-request-analysis-a-developers-guide.html): Learn how to streamline your pull request analysis using advanced Git diff techniques. This guide covers basic and advanced methods to focus on relevant code changes and improve your review process. - [Essential VS Code Shortcuts for Efficient Coding](https://www.yopa.page/blog/2024-09-21-essential-vs-code-shortcuts-for-efficient-coding.html): Boost your productivity with these essential VS Code shortcuts that every developer should know. - [Transform Your Python Scripts into Global Command-Line Tools](https://www.yopa.page/blog/2024-09-14-transform-python-scripts-into-global-command-line-tools.html): Learn how to make your Python scripts accessible from anywhere on your system, enhancing convenience and productivity. - [Resolving 'No Default Dev Hub' Error When Creating Salesforce Scratch Orgs](https://www.yopa.page/blog/2024-07-16-resolving-no-default-dev-hub-error-when-creating-salesforce-scratch-orgs.html): Learn how to fix the 'No Default Dev Hub' error when creating Salesforce scratch orgs using Salesforce CLI, with step-by-step solutions and explanations. - [Mastering Python Package Management - A Guide to Updating and Verifying Your Packages](https://www.yopa.page/blog/2024-08-22-mastering-python-package-management-guide-updating-verifying-packages.html): Learn how to keep your Python packages up-to-date and verify their versions for secure and efficient development. - [How to Ignore Files Locally in Git Without Modifying .gitignore](https://www.yopa.page/blog/2024-08-18-how-to-ignore-files-locally-in-git-without-modifying-gitignore.html): Learn how to use .git/info/exclude to ignore files locally in Git without affecting the shared .gitignore file - [Mastering Generative AI for Efficient Software Development](https://www.yopa.page/blog/2024-08-12-mastering-generative-ai-for-efficient-software-development.html): Unlock the full potential of generative AI in your software development process. Learn how to effectively integrate AI at every stage, from project management and architectural design to coding, using role-based prompting. - [Efficient GitHub Cloning in AWS Lambda - Sparse Checkout to the Rescue](https://www.yopa.page/blog/2024-07-31-efficient-github-cloning-in-aws-lambda-sparse-checkout-to-the-rescue.html): Learn how to efficiently clone large GitHub repositories in AWS Lambda functions using sparse checkout. Discover a solution that reduces data transfer and storage requirements while allowing you to work with specific tags. - [Why `forEach` Cannot Handle Async - A Real-Life Example and Solutions](https://www.yopa.page/blog/2024-06-22-why-foreach-cannot-handle-async-a-real-life-example-and-solutions.html): Explore why `forEach` is not suitable for handling asynchronous operations and discover how to use `for...of` loops or `map` with `Promise.all` for effective async handling in JavaScript. - [Automating Salesforce Package Deployment with AWS Code Services - A Comprehensive Guide](https://www.yopa.page/blog/2024-06-15-automating-salesforce-package-deployment-with-aws-code-services-a-comprehensive-guide.html): An in-depth look at AWS Code services (CodePipeline, CodeBuild, CodeDeploy, etc.) using a Salesforce package deployment example. - [Understanding Record Types and RecordTypeId in Salesforce for Beginners](https://www.yopa.page/blog/2024-06-04-understanding-record-types-and-recordtypeid-in-salesforce-for-beginners.html): A beginner's guide to using Record Types and RecordTypeId in Salesforce, including detailed real-life examples. - [Understanding Salesforce APIs - Metadata, Tooling, and Bulk](https://www.yopa.page/blog/2024-05-05-understanding-salesforce-apis-metadata-tooling-and-bulk.html): Explore the differences between Salesforce's Metadata API, Tooling API, and Bulk API, including use cases and real-life scenarios to determine the best API for various development needs. - [Leveraging NPX and NVM for Efficient Backend Development](https://www.yopa.page/blog/2024-04-30-leveraging-npx-and-nvm-for-efficient-backend-development.html): Explore how combining NPX and NVM can streamline backend development processes, featuring real-life scenarios and examples. - [How to Debug Salesforce Flows with Asynchronous Apex Methods](https://www.yopa.page/blog/2024-04-28-how-to-debug-salesforce-flows-with-asynchronous-apex-methods.html): Learn the steps to set up, trigger, and analyze debug logs for Salesforce flows that invoke asynchronous Apex methods, including real-world examples. - [How to Fork a Repository, Make Changes, and Update a Submodule in Your Main Project](https://www.yopa.page/blog/2024-04-20-how-to-fork-a-repository-make-changes-and-update-a-submodule-in-your-main-project.html): Learn how to fork a GitHub repository, make custom changes, and update a submodule in your main project to incorporate these modifications. - [Understanding 'Origin' in GitHub](https://www.yopa.page/blog/2024-04-05-understanding-origin-in-github.html): Exploring the concept of 'origin' in GitHub, its significance, and how it impacts your workflow. - [Setting Up a Shortcut for GitHub Copilot in VS Code](https://www.yopa.page/blog/2024-03-25-setting-up-a-shortcut-for-github-copilot-in-vs-code.html): Learn how to configure a keyboard shortcut in VS Code to quickly access the GitHub Copilot chat panel. - [Mastering Node.js- In-Depth Guide to package.json and package-lock.json](https://www.yopa.page/blog/2024-03-20-mastering-node.js-in-depth-guide-to-package.json-and-package-lock.json.html): An in-depth exploration of package.json and package-lock.json files in Node.js projects, their significance, best practices, and a real-life example to illustrate their importance. - [Testing Dependencies in Node.js Projects - A Focus on Package.json](https://www.yopa.page/blog/2024-03-19-testing-dependencies-in-node.js-projects-a-focus-on-package.json.html): Explore strategies for testing and debugging Node.js project dependencies, focusing on managing internal libraries and their interaction with main projects. - [Understanding Metadata API vs Tooling API in Salesforce Development](https://www.yopa.page/blog/2024-03-18-understanding-metadata-api-vs-tooling-api-in-salesforce-development.html): This article elucidates the differences between Metadata API and Tooling API in Salesforce, highlighting their unique applications with real-life examples. - [Mastering SF CLI - In-Depth Guide to sf project convert source and mdapi Commands](https://www.yopa.page/blog/2024-03-17-mastering-sf-cli-in-depth-guide-to-sf-project-convert-source-and-mdapi-commands.html): Delve into the nuances of Salesforce CLI's latest commands, 'sf project convert source' and 'sf project convert mdapi', uncovering their roles, distinctions, and impact on contemporary Salesforce development practices. - [How to Fix Divergent Branch Problems in Git - A Step-by-Step Guide.](https://www.yopa.page/blog/2024-03-12-how-to-fix-divergent-branch-problems-in-git.html): An in-depth guide to understanding and resolving the 'divergent branches' issue in Git, focusing on different reconciliation strategies. - [Managing Multiple Versions with Pyenv, venv, and Pipenv](https://www.yopa.page/blog/2024-03-11-transitioning-from-venv-to-pipenv-a-comprehensive-guide-with-examples.html): Learn to manage multiple Python versions with Pyenv and create isolated project environments using both venv and Pipenv, understanding their distinct roles in Python development. - [Mastering Update-Notifier in Node.js with TypeScript](https://www.yopa.page/blog/2024-02-26-mastering-update-notifier-in-node.js-with-typescript.html): Explore how to integrate and leverage the update-notifier package in your TypeScript-based Node.js applications, including advanced usage and detailed examples. - [Enhance CLI with Listr - The Node.js Task Manager](https://www.yopa.page/blog/2024-02-19-enhance-cli-with-listr-a-node-js-task-manager.html): Ditch boring command-line updates! Transform your scripts with Listr's interactive and stylish task lists. - [Mastering Salesforce CLI with Grep - A Guide to Finding Commands Efficiently](https://www.yopa.page/blog/2024-02-11-mastering-salesforce-cli-with-grep-a-guide-to-finding-commands-efficiently.html): Learn how to use the grep command to efficiently find specific commands in the Salesforce CLI, complete with examples and detailed explanations. - [Mastering Jest with TypeScript - A Comprehensive Guide](https://www.yopa.page/blog/2024-02-10-mastering-jest-with-typescript-a-comprehensive-guide.html): An insightful guide into using Jest with TypeScript, covering setup, matchers, and best practices with detailed examples. - [Understanding Salesforce Packaging - A Comprehensive Comparison of 1GP vs 2GP](https://www.yopa.page/blog/2024-02-05-understanding-salesforce-packaging-a-comprehensive-comparison-of-1gp-vs-2gp.html): Dive deep into the core distinctions between Salesforce's 1st Generation Packaging (1GP) and 2nd Generation Packaging (2GP), offering a clear guide for developers and businesses navigating these essential Salesforce development tools. - [Mastering Git Diff - A Comprehensive Guide with Advanced Examples](https://www.yopa.page/blog/2024-01-27-mastering-git-diff-a-comprehensive-guide-with-advanced-examples.html): Dive deeper into the advanced functionalities of 'git diff' with detailed examples. - [How to Check if Google Analytics is Working](https://www.yopa.page/blog/2024-01-25-how-to-check-if-google-analytics-is-working.html): Ensure your Google Analytics is accurately tracking your site's traffic. Learn to identify and fix duplicate tracking codes with Google Tag Assistant. - [Understanding Git Revert vs. Manual Reversion - Best Practices for Code Rollbacks](https://www.yopa.page/blog/2024-01-24-understanding-git-revert-vs-manual-reversion-best-practices-for-code-rollbacks.html): Dive into the nuances of reverting changes in Git, comparing the automated 'git revert' with the manual checkout and commit approach. Learn the best practices for maintaining a clean, understandable project history. - [Navigating the 'CNAMEAlreadyExists' Error in AWS CloudFront](https://www.yopa.page/blog/2024-01-23-navigating-the-cnamealreadyexists-error-in-aws-cloudfront.html): A guide to understanding and resolving the 'CNAMEAlreadyExists' error in AWS CloudFront, ensuring a smooth deployment of your web resources. - [Harnessing the Power of Watchtower for Docker -- Automated Updates Made Simple](https://www.yopa.page/blog/2024-01-22-harnessing-the-power-of-watchtower-for-docker-automated-updates-made-simple.html): Explore the benefits of using Watchtower for your Docker containers, understand its advantages, and learn how to utilize cron scheduling for automated updates. - [Understanding and Managing Narcissistic Behaviors in Everyday Life](https://www.yopa.page/blog/2024-01-21-understanding-and-managing-narcissistic-behaviors-in-everyday-life.html): Exploring the intricacies of narcissistic behaviors and providing strategies for effectively dealing with narcissists in personal and professional settings. - [Mastering Environment Variables in Shell Scripts -- The Power of .env, set -a, and set +a](https://www.yopa.page/blog/2024-01-20-mastering-environment-variables-in-shell-scripts-the-power-of-.env-set-a-and-set-a.html): Explore the nuanced yet powerful techniques of managing environment variables in shell scripts using .env files along with the set -a and set +a commands for a cleaner, more secure, and highly maintainable scripting environment. - [Mastering ChatGPT for Efficient Software Development](https://www.yopa.page/blog/2024-01-19-mastering-chatgpt-for-efficient-software-development.html): Unlock the full potential of ChatGPT in your software development process. Learn how to effectively integrate AI at every stage, from project management and architectural design to coding. - [Run Java Applications on macOS without Global JRE Installation](https://www.yopa.page/blog/2024-01-17-run-java-applications-on-macos-without-global-jre-installation-a-guide.html): Explore ways to run Java applications on macOS without the need for global JRE installation, focusing on Docker, portable JRE, and bundled JRE methods. - [Mastering the Art of Effective Writing in the Information Era](https://www.yopa.page/blog/2024-01-15-mastering-the-art-of-effective-writing-in-the-information-era.html): Exploring the insights from 'Writing for Busy Readers' by Todd Rogers and Jessica Lasky-Fink, this blog delves into the principles of effective writing, crucial for communication in today's information-saturated world. - [Freeing Up Ports 80 and 443 on Synology NAS for Reverse Proxy Usage](https://www.yopa.page/blog/2024-01-14-freeing-up-ports-80-and-443-on-synology-nas-for-reverse-proxy-usage.html): Learn how to reconfigure Nginx on Synology NAS to free up ports 80 and 443 for reverse proxy usage with a simple Bash script. - [Unboxing Leadership - Insights from "Leadership & Self-Deception"](https://www.yopa.page/blog/2024-01-13-unboxing-leadership-insights-from-leadership--self-deception.html): Analyzing 'Leadership & Self-Deception' by The Arbinger Institute, this blog delves into its profound teachings on leadership, self-perception, and their impact on personal and professional relationships. - [Managing Multiple Versions with Pyenv and Virtual Environments](https://www.yopa.page/blog/2024-01-01-managing-multiple-versions-with-pyenv-and-virtual-environments.html): Dive into the essentials of Python development by learning how to manage multiple Python versions with Pyenv and create isolated project environments using virtual environments. - [How to Uninstall Salesforce CLI from a Specific Node.js Version on macOS](https://www.yopa.page/blog/2023-12-01-how-to-uninstall-salesforce-cli-from-a-specific-node.js-version-on-macos.html): a systematic approach to troubleshoot to Uninstall Salesforce CLI from a Specific Node.js Version on macOS - [Mastering Domain-Driven Design - Best Practices and Pitfalls](https://www.yopa.page/blog/2023-11-30-mastering-domain-driven-design-best-practices-and-pitfalls.html): Learn the do's and don'ts of Domain-Driven Design to enhance your software development projects. - [Deep Dive into Domain-Driven Design - Simplifying Complex Projects](https://www.yopa.page/blog/2023-11-29-deep-dive-into-domain-driven-design-simplifying-complex-projects.html): Unravel the complexities of Domain-Driven Design and learn how it makes software development more collaborative and user-focused. - [Solving SSH Connection Issues on macOS - A Guide to Fixing 'Unprotected Private Key File' Error](https://www.yopa.page/blog/2023-11-28-solving-ssh-connection-issues-on-macos-a-guide-to-fixing-unprotected-private-key-file-error.html): Learn how to resolve the 'Unprotected Private Key File' error on macOS when connecting to an EC2 instance via SSH. - [How to Rename a Git Branch Using the CLI](https://www.yopa.page/blog/2023-10-30-how-to-rename-a-git-branch-using-the-cli.html): This blog post walks you through the process of renaming a local and remote Git branch using the command-line interface. - [How to Remove Inaccessible Scratch Orgs from Your Local SFDX Configuration](https://www.yopa.page/blog/2023-09-12-how-to-remove-inaccessible-scratch-orgs-from-your-local-sfdx-configuration.html): Learn how to remove inaccessible or problematic scratch orgs from your local Salesforce DX configuration. - [Keeping Your Python Packages Up-to-date - A Comprehensive Guide](https://www.yopa.page/blog/2023-09-08-keeping-your-python-packages-up-to-date-a-comprehensive-guide.html): In this article, we explore various methods to keep your Python packages up-to-date, from manual updates to automated dependency management services. - [Understanding the sfdx force:source:convert Command in Salesforce DX](https://www.yopa.page/blog/2023-09-09-understanding-the-sfdx-force-source-convert-command-in-salesforce-dx.html): A comprehensive guide to the sfdx force:source:convert command in Salesforce DX, explaining its purpose, usage, and key features. - [Initializing a Python Project in Visual Studio Code](https://www.yopa.page/blog/2023-08-31-initializing-a-python-project-in-visual-studio-code.html): This article guides you through the process of initializing a Python project in Visual Studio Code, installing dependencies, and setting up a GitHub repository. ## Optional - [RSS Feed](https://www.yopa.page/index.xml) - [Tags](https://www.yopa.page/tags/) - [Categories](https://www.yopa.page/categories/)