<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Mehdi Mehdikhani</title><description>Personal blog of Mehdi Mehdikhani, a software engineer based in Milan, Italy.</description><link>https://mehdik.dev/</link><item><title>Why Jenkins Works Well for Industrial Robotics Projects</title><link>https://mehdik.dev/posts/jenkins-industrial-robotics/</link><guid isPermaLink="true">https://mehdik.dev/posts/jenkins-industrial-robotics/</guid><description>Using Jenkins for CI/CD in industrial environments - why it fits better than cloud solutions for robotics development.</description><pubDate>Fri, 10 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Software Engineering in the Era of AI Agents</title><link>https://mehdik.dev/posts/software-engineering-ai-time/</link><guid isPermaLink="true">https://mehdik.dev/posts/software-engineering-ai-time/</guid><description>Why clarity and focus matter more than ever when AI can write the code for us.</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate></item><item><title>How AI is Actually Changing Software Development</title><link>https://mehdik.dev/posts/ai-changing-software-development/</link><guid isPermaLink="true">https://mehdik.dev/posts/ai-changing-software-development/</guid><description>Real patterns from teams using AI for code reviews, test generation, and development workflows.</description><pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate></item><item><title>std::move in C++</title><link>https://mehdik.dev/posts/cpp/cpp-move-semantics/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-move-semantics/</guid><description>std::move and move semantics - what it actually does and why it is important for performance.</description><pubDate>Sat, 07 Aug 2021 00:00:00 GMT</pubDate></item><item><title>Lambda Functions for Code Decoupling in C++</title><link>https://mehdik.dev/posts/cpp/cpp-lambda-decoupling/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-lambda-decoupling/</guid><description>Use lambda functions to decouple code and make it more flexible</description><pubDate>Sat, 02 Apr 2022 00:00:00 GMT</pubDate></item><item><title>The auto Keyword</title><link>https://mehdik.dev/posts/cpp/cpp-auto-keyword/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-auto-keyword/</guid><description>auto keyword - type deduction that makes C++ code cleaner and more maintainable.</description><pubDate>Sat, 02 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Initializer Lists</title><link>https://mehdik.dev/posts/cpp/cpp-initializer-lists/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-initializer-lists/</guid><description>std::initializer_list - uniform initialization and how it makes constructors more flexible.</description><pubDate>Sun, 19 Sep 2021 00:00:00 GMT</pubDate></item><item><title>The final Specifier</title><link>https://mehdik.dev/posts/cpp/cpp-final-specifier/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-final-specifier/</guid><description>final specifier - preventing inheritance and virtual function overriding for better design.</description><pubDate>Sat, 30 Oct 2021 00:00:00 GMT</pubDate></item><item><title>decltype in C++</title><link>https://mehdik.dev/posts/cpp/cpp-decltype/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-decltype/</guid><description>decltype - getting the type of expressions at compile time for perfect type deduction.</description><pubDate>Sun, 05 Dec 2021 00:00:00 GMT</pubDate></item><item><title>C++ Attributes</title><link>https://mehdik.dev/posts/cpp/cpp-attributes/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-attributes/</guid><description>C++11 attributes - standardized way to provide compiler hints and annotations.</description><pubDate>Sun, 23 Jan 2022 00:00:00 GMT</pubDate></item><item><title>constexpr</title><link>https://mehdik.dev/posts/cpp/cpp-constexpr/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-constexpr/</guid><description>constexpr - compile-time computation that makes code faster and safer.</description><pubDate>Sun, 13 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Deleted Functions</title><link>https://mehdik.dev/posts/cpp/cpp-deleted-functions/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-deleted-functions/</guid><description>Deleted functions - explicitly preventing function usage for better error messages.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Inline Namespaces in C++</title><link>https://mehdik.dev/posts/cpp/cpp-inline-namespaces/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-inline-namespaces/</guid><description>inline namespace - versioning and API evolution without breaking existing code.</description><pubDate>Sat, 13 Nov 2021 00:00:00 GMT</pubDate></item><item><title>noexcept</title><link>https://mehdik.dev/posts/cpp/cpp-noexcept/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-noexcept/</guid><description>noexcept - exception specifications that help with optimization and API contracts.</description><pubDate>Mon, 18 Apr 2022 00:00:00 GMT</pubDate></item><item><title>Understanding std::forward</title><link>https://mehdik.dev/posts/cpp/cpp-perfect-forwarding/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-perfect-forwarding/</guid><description>std::forward and perfect forwarding - how it preserves value categories in templates.</description><pubDate>Sat, 14 Aug 2021 00:00:00 GMT</pubDate></item><item><title>static_assert</title><link>https://mehdik.dev/posts/cpp/cpp-static-assertions/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-static-assertions/</guid><description>static_assert - compile-time checks that catch errors before runtime.</description><pubDate>Sat, 04 Sep 2021 00:00:00 GMT</pubDate></item><item><title>Raw String Literals</title><link>https://mehdik.dev/posts/cpp/cpp-raw-string-literals/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-raw-string-literals/</guid><description>Raw string literals - writing strings without escaping hell for regex, JSON, and multi-line text.</description><pubDate>Thu, 05 May 2022 00:00:00 GMT</pubDate></item><item><title>Smart Pointers</title><link>https://mehdik.dev/posts/cpp/cpp-smart-pointers/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-smart-pointers/</guid><description>Smart pointers - automatic memory management that prevents leaks and makes code safer.</description><pubDate>Sat, 25 Jun 2022 00:00:00 GMT</pubDate></item><item><title>C++ std::array</title><link>https://mehdik.dev/posts/cpp/cpp-std-array/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-array/</guid><description>std::array - a better alternative to C-style arrays with STL benefits.</description><pubDate>Sun, 22 Aug 2021 00:00:00 GMT</pubDate></item><item><title>nullptr in C++</title><link>https://mehdik.dev/posts/cpp/cpp-nullptr/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-nullptr/</guid><description>nullptr - a type-safe replacement for NULL that prevents common pointer bugs.</description><pubDate>Sat, 16 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Time Handling with std::chrono</title><link>https://mehdik.dev/posts/cpp/cpp-std-chrono/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-chrono/</guid><description>std::chrono - type-safe time handling that replaces error-prone time calculations.</description><pubDate>Thu, 15 Sep 2022 00:00:00 GMT</pubDate></item><item><title>std::ref and Reference Wrappers</title><link>https://mehdik.dev/posts/cpp/cpp-std-ref/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-ref/</guid><description>std::ref - creating reference wrappers for algorithms and function objects.</description><pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate></item><item><title>std::thread</title><link>https://mehdik.dev/posts/cpp/cpp-std-thread/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-thread/</guid><description>std::thread - portable threading that finally brings concurrency to standard C++.</description><pubDate>Sun, 22 May 2022 00:00:00 GMT</pubDate></item><item><title>Trailing Return Types</title><link>https://mehdik.dev/posts/cpp/cpp-trailing-return-types/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-trailing-return-types/</guid><description>Trailing return types - alternative function syntax that makes complex return types easier to read.</description><pubDate>Sun, 03 Apr 2022 00:00:00 GMT</pubDate></item><item><title>std::tie for Multiple Assignments</title><link>https://mehdik.dev/posts/cpp/cpp-std-tie/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-tie/</guid><description>std::tie - unpacking tuples and creating references for multiple variable assignments.</description><pubDate>Wed, 08 Mar 2023 00:00:00 GMT</pubDate></item><item><title>String Conversion with std::to_string</title><link>https://mehdik.dev/posts/cpp/cpp-std-to-string/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-std-to-string/</guid><description>std::to_string - simple numeric to string conversion that replaces sprintf and stringstream.</description><pubDate>Wed, 08 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Unordered Containers - Hash Tables in C++</title><link>https://mehdik.dev/posts/cpp/cpp-unordered-containers/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-unordered-containers/</guid><description>unordered_map and unordered_set - fast hash-based containers for better performance.</description><pubDate>Sat, 22 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Tuples and Structured Data in C++</title><link>https://mehdik.dev/posts/cpp/cpp-tuples/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-tuples/</guid><description>std::tuple - grouping different types together for function returns and structured data.</description><pubDate>Sun, 18 Dec 2022 00:00:00 GMT</pubDate></item><item><title>C++ Type Aliases</title><link>https://mehdik.dev/posts/cpp/cpp-type-aliases/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-type-aliases/</guid><description>using declarations - a cleaner way to create type aliases than typedef.</description><pubDate>Sat, 18 Dec 2021 00:00:00 GMT</pubDate></item><item><title>Strongly Typed Enums</title><link>https://mehdik.dev/posts/cpp/cpp-strongly-typed-enums/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-strongly-typed-enums/</guid><description>enum class - type-safe enums that prevent common bugs and naming conflicts.</description><pubDate>Sat, 08 Jan 2022 00:00:00 GMT</pubDate></item><item><title>Variadic Templates</title><link>https://mehdik.dev/posts/cpp/cpp-variadic-templates/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-variadic-templates/</guid><description>Variadic templates - writing functions and classes that accept any number of arguments.</description><pubDate>Sat, 27 Nov 2021 00:00:00 GMT</pubDate></item><item><title>User-Defined Literals</title><link>https://mehdik.dev/posts/cpp/cpp-user-defined-literals/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/cpp-user-defined-literals/</guid><description>User-defined literals - creating custom suffixes for more expressive and safer code.</description><pubDate>Sat, 26 Feb 2022 00:00:00 GMT</pubDate></item><item><title>Dependency Injection In C++ with Hypodermic</title><link>https://mehdik.dev/posts/cpp/hypodermic-01/</link><guid isPermaLink="true">https://mehdik.dev/posts/cpp/hypodermic-01/</guid><description>Setting up dependency injection in C++ applications using the Hypodermic IoC container.</description><pubDate>Sun, 03 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Ownership and Borrowing in Rust</title><link>https://mehdik.dev/posts/rust/rust-ownership-borrowing/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-ownership-borrowing/</guid><description>Understanding Rust ownership system - how it prevents memory bugs without a garbage collector.</description><pubDate>Sat, 18 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Closures and Functional Programming in Rust</title><link>https://mehdik.dev/posts/rust/rust-closures/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-closures/</guid><description>Rust closures - capturing environment and writing functional-style code with performance guarantees.</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Understanding Lifetimes and References</title><link>https://mehdik.dev/posts/rust/rust-lifetimes/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-lifetimes/</guid><description>Rust lifetimes - ensuring references are valid and preventing dangling pointers at compile time.</description><pubDate>Tue, 21 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Error Handling with Result and Option</title><link>https://mehdik.dev/posts/rust/rust-error-handling/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-error-handling/</guid><description>Rust error handling - using Result and Option types to make errors explicit and recoverable.</description><pubDate>Fri, 14 Jul 2023 00:00:00 GMT</pubDate></item><item><title>Pattern Matching and Match Expressions</title><link>https://mehdik.dev/posts/rust/rust-pattern-matching/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-pattern-matching/</guid><description>Rust pattern matching - destructuring data and handling all cases with match expressions.</description><pubDate>Fri, 28 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Traits and Generic Programming</title><link>https://mehdik.dev/posts/rust/rust-traits/</link><guid isPermaLink="true">https://mehdik.dev/posts/rust/rust-traits/</guid><description>Rust traits - defining shared behavior and writing generic code that works across different types.</description><pubDate>Fri, 08 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Supply Chain Attacks in Robotic Software</title><link>https://mehdik.dev/posts/security/supply-chain-attacks-robotics/</link><guid isPermaLink="true">https://mehdik.dev/posts/security/supply-chain-attacks-robotics/</guid><description>Real risks from third-party dependencies in industrial robotics and practical ways to protect your systems.</description><pubDate>Sun, 26 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Caching Strategies and Trade-offs</title><link>https://mehdik.dev/posts/system-design/caching-strategies/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/caching-strategies/</guid><description>Different caching patterns - cache-aside, write-through, write-back and when to use each one.</description><pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Understanding CAP Theorem</title><link>https://mehdik.dev/posts/system-design/cap-theorem/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/cap-theorem/</guid><description>Consistency, Availability, and Partition tolerance - why you can only pick two in distributed systems.</description><pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Database Scaling Patterns</title><link>https://mehdik.dev/posts/system-design/database-scaling/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/database-scaling/</guid><description>Understanding vertical vs horizontal scaling, replication, sharding and their trade-offs.</description><pubDate>Sun, 08 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Load Balancing in Robot Fleet Systems</title><link>https://mehdik.dev/posts/system-design/load-balancing/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/load-balancing/</guid><description>Distributing computational load across robot services using request/response and pub/sub communication patterns.</description><pubDate>Sun, 22 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Request/Response vs Publisher/Subscriber</title><link>https://mehdik.dev/posts/system-design/microservice-comm-01/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/microservice-comm-01/</guid><description>Quick guide to choose between these communication patterns in distributed systems.</description><pubDate>Mon, 21 Apr 2025 00:00:00 GMT</pubDate></item><item><title>AI Agents and Complex Microservices</title><link>https://mehdik.dev/posts/system-design/monolith-vs-microservices-ai-age/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/monolith-vs-microservices-ai-age/</guid><description>Why microservices are overused, what Basecamp proved by staying simple, and how AI agents make the complexity problem even worse.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>SOLID Principles in Practice</title><link>https://mehdik.dev/posts/system-design/solid-principles-practice/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/solid-principles-practice/</guid><description>Applying SOLID design principles in real code.</description><pubDate>Sun, 22 Dec 2024 00:00:00 GMT</pubDate></item><item><title>System Design Fundamentals That Actually Matter</title><link>https://mehdik.dev/posts/system-design/system-design-fundamentals/</link><guid isPermaLink="true">https://mehdik.dev/posts/system-design/system-design-fundamentals/</guid><description>Core principles for building systems that work in real world - from small services to large distributed architectures.</description><pubDate>Sun, 14 Sep 2025 00:00:00 GMT</pubDate></item></channel></rss>