<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://tomasvotruba.com</loc>
    </url>
    <url>
        <loc>https://tomasvotruba.com/tools</loc>
    </url>
    <url>
        <loc>https://tomasvotruba.com/books</loc>
    </url>
    <url>
        <loc>https://tomasvotruba.com/type-coverage</loc>
    </url>
    <url>
        <loc>https://tomasvotruba.com/phpstan-rules-beyond-core</loc>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/is-php-a-rusty-language</loc>
        <lastmod>2026-10-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-I-use-agents-to-extract-hidden-feedback-from-github-and-improved-rector</loc>
        <lastmod>2026-07-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/7-tips-to-improve-your-ecs-config</loc>
        <lastmod>2026-06-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/ecs-13-2-lighter-smarter-more-fun-for-large-legacy-projects</loc>
        <lastmod>2026-06-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/find-the-one-phpstan-rule-you-need-beyond-the-core</loc>
        <lastmod>2026-05-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/introducing-ctor-prefer-constructor-over-always-called-setters</loc>
        <lastmod>2026-05-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-3</loc>
        <lastmod>2026-05-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-books-2025</loc>
        <lastmod>2026-01-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/the-patch-for-laravel-container</loc>
        <lastmod>2025-05-06</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-we-maintain-dozens-of-symfony-workflows-with-peace</loc>
        <lastmod>2025-04-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/upgrading-sensio-security-annotation-the-full-story</loc>
        <lastmod>2025-04-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/create-weird-fun-phpstan-rules</loc>
        <lastmod>2025-03-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/why-ast-beats-gpt</loc>
        <lastmod>2025-03-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/custom-phpstan-rules-to-improve-every-symfony-project</loc>
        <lastmod>2025-03-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/cost-effective-container-smoke-tests-every-symfony-project-must-have</loc>
        <lastmod>2025-01-22</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-books-i-enjoyed-reading-in-2024</loc>
        <lastmod>2025-01-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-2</loc>
        <lastmod>2025-01-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/symfony-required-avoid-the-temptation-and-use-it-right</loc>
        <lastmod>2025-01-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/unused-definitions-with-behat-static-analysis</loc>
        <lastmod>2025-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/why-final-classes-make-rector-and-phpstan-more-powerful</loc>
        <lastmod>2025-01-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/off-the-beaten-path-to-upgrade-symfony-28-to-72</loc>
        <lastmod>2024-12-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-flip-doctrine-odm-repositories-to-services</loc>
        <lastmod>2024-11-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/alice-nelmio-hautelook-faker-and-how-to-upgrade-doctrine-fixtures-part-1</loc>
        <lastmod>2024-11-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-ways-to-extract-value-from-overmocked-tests</loc>
        <lastmod>2024-11-05</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-upgrade-deprecated-phpunit-with-consecutive</loc>
        <lastmod>2024-10-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/php-is-the-best-choice-for-long-term-business</loc>
        <lastmod>2024-08-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/scope-and-downgrade-your-php-tool-for-everyone-to-use</loc>
        <lastmod>2024-07-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/awesome-php-packages-from-japan</loc>
        <lastmod>2024-06-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2-tricks-to-get-your-symfony-configs-lines-to-minimum</loc>
        <lastmod>2024-06-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-reload-code-highlighter-on-livewire-3-component-update</loc>
        <lastmod>2024-06-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-add-visbility-to-338-class-constants-in-25-seconds</loc>
        <lastmod>2024-05-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/cool-features-of-swiss-knife</loc>
        <lastmod>2024-05-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/get-quick-error-count-for-each-phpstan-level</loc>
        <lastmod>2024-05-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-adding-type-declarations-makes-your-code-dangerous</loc>
        <lastmod>2024-05-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/master-the-change</loc>
        <lastmod>2024-04-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/finalize-classes-automated-and-safe</loc>
        <lastmod>2024-03-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/rector-book-2024-release-with-brand-new-chapter</loc>
        <lastmod>2024-02-05</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/3-signs-your-project-is-becoming-legacy-mock-rottening</loc>
        <lastmod>2024-02-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/get-json-output-for-phpunit-10</loc>
        <lastmod>2024-01-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/zen-config-in-ecs</loc>
        <lastmod>2024-01-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-books-i-enyjoed-reading-in-2023</loc>
        <lastmod>2023-12-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/3-signs-your-project-is-becoming-legacy-arrays-creep</loc>
        <lastmod>2023-12-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/3-signs-your-project-is-becoming-legacy-and-how-to-avoid-them</loc>
        <lastmod>2023-11-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-autowire-multiple-instances-of-same-type-in-symfony-laravel</loc>
        <lastmod>2023-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-make-your-tool-commands-list-easy-to-read</loc>
        <lastmod>2023-10-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/from-symfony-to-laravel-5-steps-to-prepare-your-symfony-project-for-migration</loc>
        <lastmod>2023-09-06</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/from-symfony-to-laravel-can-laravel-even-compiler-pass</loc>
        <lastmod>2023-08-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-take-advantage-of-3rd-party-dependency-container</loc>
        <lastmod>2023-08-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/easy-and-quick-way-to-measure-lines-of-code-in-php</loc>
        <lastmod>2023-08-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/removing-service-from-laravel-container-is-not-that-easy</loc>
        <lastmod>2023-08-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-remove-transitional-dependencies-you-dont-need</loc>
        <lastmod>2023-08-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/unleash-the-power-of-simplicity-php-cli-app-with-minimal-dependencies</loc>
        <lastmod>2023-07-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/experiment-how-i-replaced-symfony-di-with-laravel-container-in-ecs</loc>
        <lastmod>2023-07-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-avoid-maintaining-classes-you-dont-use</loc>
        <lastmod>2023-07-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/two-kinds-of-legacy-code-upgrade</loc>
        <lastmod>2023-07-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/moving-from-disqus-to-twitter-to-make-knowhow-sharing-easier</loc>
        <lastmod>2023-04-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/what-i-prefer-about-laravel-dependency-injection-over-symfony</loc>
        <lastmod>2023-03-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/introducing-bladestan-phpstan-analysis-of-blade-templates</loc>
        <lastmod>2023-03-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/to-route-or-to-action-thats-the-question</loc>
        <lastmod>2023-03-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/introducing-punchcard-object-configs-for-laravel</loc>
        <lastmod>2023-03-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/why-I-migrated-this-website-from-symfony-to-laravel</loc>
        <lastmod>2023-02-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-can-we-generate-unit-tests-part-3-how-to-ask-davinci-and-codex-to-get-the-right-answer</loc>
        <lastmod>2023-02-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/run-config-transformer-in-ci-everyday-to-keep-yaml-away</loc>
        <lastmod>2023-02-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/lets-share-fails-and-tricks-with-gpt</loc>
        <lastmod>2023-01-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/good-bye-monorepo</loc>
        <lastmod>2023-01-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-can-we-generate-unit-tests-part-2-building-scoring-script</loc>
        <lastmod>2023-01-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-can-we-generate-unit-tests-part-1-testability-score</loc>
        <lastmod>2023-01-04</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-release-php-81-and-72-package-in-the-same-repository</loc>
        <lastmod>2022-12-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-measure-your-type-coverage</loc>
        <lastmod>2022-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-develop-sole-package-in-php81-and-downgrade-to-php72</loc>
        <lastmod>2022-07-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/8-news-in-config-transformer-that-converts-symfony-yml-to-php</loc>
        <lastmod>2022-07-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/can-phpstan-find-dead-public-methods</loc>
        <lastmod>2022-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/twig-smoke-rendering-fortune-favors-the-bold</loc>
        <lastmod>2022-06-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/twig-smoke-rendering-journey-of-fails</loc>
        <lastmod>2022-06-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/twig-smoke-rendering-why-do-we-even-need-it</loc>
        <lastmod>2022-06-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/five-pitfalls-of-upgrade-to-native-php-enums-and-how-to-avoid-them</loc>
        <lastmod>2022-06-06</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-make-configs-like-rector-config-or-ecs-config-for-your-symfony-project</loc>
        <lastmod>2022-05-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/new-in-ecs-simpler-config</loc>
        <lastmod>2022-05-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-test-symfony-routes-to-make-huge-refactorings-safe</loc>
        <lastmod>2022-05-02</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-remove-dead-mock-calls-from-phpunit-tests</loc>
        <lastmod>2022-04-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-constant-lists-that-give-context-to-your-integers-and-strings</loc>
        <lastmod>2022-03-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-create-symfony-kernel-for-tests-with-different-configs</loc>
        <lastmod>2022-02-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/get-rid-of-mixed-callables-with-phpstan</loc>
        <lastmod>2022-01-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/not-all-mixed-types-are-equally-useless</loc>
        <lastmod>2026-05-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-run-naked-unit-tests-in-a-new-legacy-project</loc>
        <lastmod>2021-11-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/decomposing-symfony-kernel-what-does-minimal-symfony-bundle-do</loc>
        <lastmod>2021-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/when-symfony-http-kernel-is-too-big-hammer-to-use</loc>
        <lastmod>2021-10-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/5-commands-from-easy-ci-that-makes-your-ci-stronger</loc>
        <lastmod>2021-10-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/introducing-up-to-16-times-faster-easy-coding-standard</loc>
        <lastmod>2021-10-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/7-steps-to-start-with-parallel-run-in-php-cli-app</loc>
        <lastmod>2021-10-04</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/hidden-productivity-costs-of-parallel-run</loc>
        <lastmod>2021-09-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/parallel-in-php-for-dummies-cooking-a-family-dinner</loc>
        <lastmod>2021-09-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-5-how-do-we-know-types-of-template-variables</loc>
        <lastmod>2021-09-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-4-how-to-run-phpstan-rules-on-temporary-php-file</loc>
        <lastmod>2021-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-3-how-to-turn-twig-helper-functions-to-origin-object</loc>
        <lastmod>2021-08-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-2-how-to-turn-messy-twig-php-to-something-useful</loc>
        <lastmod>2021-08-23</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-1-how-to-compile-twig-to-php</loc>
        <lastmod>2021-08-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/stamp-static-analysis-of-templates</loc>
        <lastmod>2021-08-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-easily-protected-your-code-base-from-commented-php-code</loc>
        <lastmod>2021-08-02</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-i-made-huge-mistake-with-interpretation-of-laravel-downloads</loc>
        <lastmod>2021-07-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/a-week-in-a-life-of-employed-open-source-developer</loc>
        <lastmod>2021-07-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-scope-your-php-tool-in-10-steps</loc>
        <lastmod>2021-07-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/why-do-we-scope-php-tools</loc>
        <lastmod>2021-07-05</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-replace-single-node-with-two-nodes-in-abstract-syntax-tree</loc>
        <lastmod>2021-06-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-make-upgrade-safe-with-bridge-testing</loc>
        <lastmod>2021-06-21</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/doctrine-annotations-and-attributes-living-together-in-peace</loc>
        <lastmod>2021-06-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/why-should-we-talk-about-our-mitakes-in-php-community</loc>
        <lastmod>2021-06-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-i-redesigned-my-website-the-way-i-refactor-legacy-projects</loc>
        <lastmod>2021-06-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-refactor-custom-doctrine-annotations-to-attributes</loc>
        <lastmod>2021-05-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-exception-to-the-convention-does-more-harm-than-good</loc>
        <lastmod>2021-05-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/rector-the-power-of-automated-refactoring-book-released</loc>
        <lastmod>2021-06-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/write-github-actions-for-gitlab-too</loc>
        <lastmod>2021-05-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/phpstan-generics-for-dummies-with-two-parents</loc>
        <lastmod>2021-05-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/dependency-juggling-code-smell</loc>
        <lastmod>2021-04-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-can-we-use-github-actions-in-gitlab</loc>
        <lastmod>2021-04-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2ways-to-write-big-numbers-more-readable</loc>
        <lastmod>2021-04-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/monorepo-split-github-action-20-with-gitlab-split-is-out</loc>
        <lastmod>2021-04-05</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/how-to-traverse-phpdoc-and-modify-it</loc>
        <lastmod>2021-03-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/never-forget-symfony-config-options-again</loc>
        <lastmod>2021-03-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/its-not-null-null-its-enum</loc>
        <lastmod>2021-02-22</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2021/02/11/tree-coding-vs-bush-coding</loc>
        <lastmod>2021-02-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/12/28/why-coding-standards-should-not-be-part-of-ci</loc>
        <lastmod>2020-12-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/12/21/5-new-combos-opened-by-symfony-52-and-php-80</loc>
        <lastmod>2020-12-21</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/12/14/new-in-symplify-9-more-than-110-phpstan-rules</loc>
        <lastmod>2020-12-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/11/30/new-in-symplify-9-documentation-generator-for-php-cs-fixer-code-sniffer-phpstan-rector-rules</loc>
        <lastmod>2020-11-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/11/16/how-to-make-dynamic-matrix-in-github-actions</loc>
        <lastmod>2020-11-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/10/19/how-to-split-test-monorepo-with-composer-2</loc>
        <lastmod>2020-10-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/10/12/how-we-stopped-merging-pull-requests</loc>
        <lastmod>2021-02-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/09/28/how-to-add-colors-to-continuous-integration-output</loc>
        <lastmod>2020-09-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/09/21/symfony-autobind-parameter-is-dead-long-live-constant-parameters</loc>
        <lastmod>2020-09-21</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/09/14/how-to-apply-coding-standard-on-php-snippets-in-markdown-files</loc>
        <lastmod>2020-09-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/08/31/how-static-methods-kills-you-like-corona</loc>
        <lastmod>2020-08-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/08/24/what-if-we-remove-strings-from-symfony-extension-configuratoin</loc>
        <lastmod>2020-08-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/08/17/how-to-get-rid-of-magic-static-and-chaos-from-latte-filters</loc>
        <lastmod>2020-09-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/08/03/how-give-away-1500-eur--in-1-tweet-and-help-25-people-learn-something-new</loc>
        <lastmod>2020-08-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/27/how-to-switch-from-yaml-xml-configs-to-php-today-with-migrify</loc>
        <lastmod>2024-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/20/how-to-update-hundreds-of-test-fixtures-with-single-phpunit-run</loc>
        <lastmod>2020-07-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/16/10-cool-features-you-get-after-switching-from-yaml-to-php-configs</loc>
        <lastmod>2020-07-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/13/the-most-effetive-test-i-found-in-7-years-of-testing</loc>
        <lastmod>2020-07-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/06/cleaning-lady-notes-from-class-mess-to-psr4-step-by-step-with-confidence</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/07/02/how-to-patch-package-in-vendor-yet-allow-its-updates</loc>
        <lastmod>2020-07-02</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/06/29/how-will-programming-look-like-in-2025</loc>
        <lastmod>2020-06-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/06/22/why-class-constants-should-be-typed</loc>
        <lastmod>2020-06-22</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/06/08/drop-robot-loader-and-let-composer-deal-with-autoloading</loc>
        <lastmod>2020-06-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/05/25/the-bulletproof-event-naming-for-symfony-event-dispatcher</loc>
        <lastmod>2020-05-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/05/18/the-future-of-pehapkari-meetups-and-trainings-you</loc>
        <lastmod>2020-05-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/05/04/how-to-upgrade-to-symplify-8-from-sniffs-to-phpstan-rules</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/04/20/how-to-hydrate-arrays-to-objects-via-constructor</loc>
        <lastmod>2020-04-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/04/13/how-to-migrate-spaghetti-to-304-symfony-5-controllers-over-weekend</loc>
        <lastmod>2020-04-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/03/23/doctrine-entity-typed-properties-with-php74</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/03/09/art-of-letting-go</loc>
        <lastmod>2020-03-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/03/02/we-do-not-need-senior-developers-we-need-senior-code-bases</loc>
        <lastmod>2020-03-02</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/02/10/how-to-test-monorepo-after-split-before-actual-split</loc>
        <lastmod>2020-02-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/02/03/how-to-run-rector-and-phpstan-on-huge-project-in-3-seconds-with-phpstorm</loc>
        <lastmod>2020-02-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/01/27/switch-travis-to-github-actions-to-reduce-stress</loc>
        <lastmod>2020-01-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/01/13/why-is-first-instant-feedback-crucial-to-developers</loc>
        <lastmod>2020-01-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2020/01/06/migrate-gedmo-to-knplabs</loc>
        <lastmod>2022-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/12/30/doctrine-behaviors-2-0-reloaded</loc>
        <lastmod>2019-12-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/12/23/5-things-i-improve-when-i-get-to-new-repository</loc>
        <lastmod>2019-12-23</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/12/16/8-steps-you-can-make-before-huge-upgrade-to-make-it-faster-cheaper-and-more-stable</loc>
        <lastmod>2019-12-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/12/09/how-to-get-rid-of-technical-debt-or-what-we-would-have-done-differently-2-years-ago</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/11/25/the-single-best-skill-to-master-command-line</loc>
        <lastmod>2019-11-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/11/18/how-to-delegate-code-reviews-to-ci</loc>
        <lastmod>2020-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/11/11/from-0-doc-types-to-full-type-declaration-with-dynamic-analysis</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/11/04/still-on-phpunit-4-come-to-phpunit-8-together-in-a-day</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/08/26/how-we-migrated-54-357-lines-of-code-nette-to-symfony-in-2-people-under-80-hours</loc>
        <lastmod>2020-06-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/07/29/how-we-completed-thousands-of-missing-var-annotations-in-a-day</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/07/22/how-to-convert-listeners-to-subscribers-and-reduce-your-configs</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/07/15/why-use-one-time-migration-scripts</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/07/08/7-tips-to-write-flawless-issue-report-on-github</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/07/01/5-workflow-tips-every-php-developer-should-know</loc>
        <lastmod>2019-07-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/06/24/do-you-use-php-codesniffer-and-php-cs-fixer-phpstorm-plugin-you-are-slow-and-expensive</loc>
        <lastmod>2019-06-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/05/16/don-t-ever-use-listeners</loc>
        <lastmod>2019-05-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/05/02/alias-as-a-code-smell</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/29/rector-european-tour-in-may-june-2019</loc>
        <lastmod>2019-04-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/25/don-t-give-up-your-php-code-for-compiler-passes-so-easily</loc>
        <lastmod>2019-04-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/18/symfony-4-2-is-used-2-times-more-than-symfony-3-4</loc>
        <lastmod>2019-04-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/15/pattern-refactoring</loc>
        <lastmod>2019-04-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/08/what-you-lose-by-switching-to-symfony</loc>
        <lastmod>2019-04-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/04/how-to-upgrade-twig-from-underscored-to-namespaces</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/04/01/removing-static-there-and-back-again</loc>
        <lastmod>2019-04-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/28/how-to-mock-final-classes-in-phpunit</loc>
        <lastmod>2019-03-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/25/how-to-instantly-migrate-nette-tester-to-phpunit</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/21/how-to-instantly-migrate-phpspec-to-phpunit</loc>
        <lastmod>2023-09-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/18/how-to-detect-dead-php-code-in-code-review-in-7-snippets</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/11/why-we-migrated-from-nette-to-symfony-in-3-weeks-part-3</loc>
        <lastmod>2019-03-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/07/why-we-migrated-from-nette-to-symfony-in-3-weeks-part-2</loc>
        <lastmod>2019-03-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/03/04/how-to-turn-laravel-from-static-to-dependency-injection-in-one-day</loc>
        <lastmod>2025-06-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/02/28/how-to-upgrade-symfony-2-8-to-3-4</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/02/25/5-tips-to-effective-work-with-github-repository</loc>
        <lastmod>2019-02-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/02/21/how-we-migrated-from-nette-to-symfony-in-3-weeks-part-1</loc>
        <lastmod>2019-02-21</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/02/14/why-config-coding-sucks</loc>
        <lastmod>2019-02-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/02/04/new-in-rector-asterisk-type-match</loc>
        <lastmod>2021-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/01/28/2-files-that-your-symfony-application-misses</loc>
        <lastmod>2019-01-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/01/24/how-to-kill-parents</loc>
        <lastmod>2019-01-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2019/01/17/how-writing-posts-helps-you-to-become-better-programmer</loc>
        <lastmod>2019-01-17</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/31/your-most-favorite-posts-in-2018</loc>
        <lastmod>2018-12-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/27/how-to-convert-all-your-symfony-service-configs-to-autodiscovery</loc>
        <lastmod>2018-12-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/24/thank-you</loc>
        <lastmod>2018-12-24</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/17/function-create-function-is-deprecated-in-php-72-how-to-migrate</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/13/kirill-smelov-s-phpstorm-tips-in-9-gifs</loc>
        <lastmod>2018-12-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/10/rocket-science-behind-migration-of-docblock-types-to-php-typehints</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/06/dont-learn-to-code</loc>
        <lastmod>2018-12-06</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/12/03/it-bloggers-deprecate-your-posts-to-stop-spreading-legacy</loc>
        <lastmod>2018-12-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/26/14-tips-to-write-php-code-that-is-hard-to-maintain-and-upgrade</loc>
        <lastmod>2018-11-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/22/how-to-test-monorepo-in-3-layers</loc>
        <lastmod>2021-02-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/19/when-you-should-use-monorepo-and-when-local-packages</loc>
        <lastmod>2018-11-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/15/how-to-get-php-74-typed-properties-to-your-code-in-few-seconds</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/12/will-autowired-arrays-finally-deprecate-tags-in-symfony-and-nette</loc>
        <lastmod>2021-02-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/11/08/fatal-error-uncaught-error-operator-not-supported-for-strings-in</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/10/25/why-ast-fixes-your-coding-standard-better-than-tokens</loc>
        <lastmod>2018-10-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/10/22/brief-history-of-tools-watching-and-changing-your-php-code</loc>
        <lastmod>2020-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/10/18/how-i-almost-missed-my-talk-in-php-asia-conference</loc>
        <lastmod>2018-10-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/10/15/what-is-your-third-door-book-review</loc>
        <lastmod>2018-10-15</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/10/11/hi-my-name-is-tom-conctat-vs-in-sprintf-vs-in-string-variables</loc>
        <lastmod>2018-10-11</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/27/open-source-behind-the-scenes-finding-the-rector-vision</loc>
        <lastmod>2018-09-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/24/new-in-symplify-5-3-news-in-easy-coding-standard-to-smoother-your-experience</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/17/7-tips-to-write-exceptions-everyone-will-love</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/13/your-brain-is-your-garden</loc>
        <lastmod>2018-09-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/10/5-advices-i-would-love-to-get-before-starting-to-maintain-open-source</loc>
        <lastmod>2018-09-10</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/09/03/4-ways-to-add-global-option-or-argument-to-symfony-console-application</loc>
        <lastmod>2018-09-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/30/ways-i-fucked-up-open-source-code-mock-everything-and-test-units</loc>
        <lastmod>2018-08-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/27/why-and-how-to-avoid-the-memory-lock</loc>
        <lastmod>2018-08-27</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/23/9-features-of-symfony-plugin-you-should-not-miss-in-gifs</loc>
        <lastmod>2018-08-23</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/16/whats-new-in-php-73-in-30-seconds-in-diffs</loc>
        <lastmod>2018-08-16</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/13/hidden-gems-of-php-packages-symfony-finder-and-spl-file-info</loc>
        <lastmod>2018-08-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/06/stylish-and-standard-console-output-with-symfony-style</loc>
        <lastmod>2018-08-06</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/08/02/5-gotchas-of-the-bin-file-in-php-cli-applications</loc>
        <lastmod>2018-08-02</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/07/30/hidden-gems-of-php-packages-nette-utils</loc>
        <lastmod>2018-07-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/07/23/5-signs-should-never-have-a-talk-abroad</loc>
        <lastmod>2018-07-23</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/07/12/20-notes-from-peace-is-every-step-book</loc>
        <lastmod>2018-07-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/07/09/6-reasons-why-doctrine-is-alive-and-kicking</loc>
        <lastmod>2018-07-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/07/05/how-to-convert-latte-templates-to-twig-in-27-regular-expressions</loc>
        <lastmod>2019-03-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/28/dont-read-books</loc>
        <lastmod>2018-06-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/18/14-surprising-tip-from-selling-is-human-to-influence-others</loc>
        <lastmod>2018-06-18</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/14/collector-pattern-for-dummies</loc>
        <lastmod>2018-06-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/11/how-to-turn-mocks-from-nightmare-to-solid-kiss-tests</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/07/how-to-migrate-from-php-cs-fixer-to-easy-coding-standard</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/06/04/how-to-migrate-from-php-code-sniffer-to-easy-coding-standard</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/31/symfony-vs-laravel-vs-nette-which-php-framework-you-should-choose</loc>
        <lastmod>2018-05-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/28/build-your-first-symfony-console-application-with-dependency-injection-under-4-files</loc>
        <lastmod>2018-05-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/17/how-to-test-private-services-in-symfony</loc>
        <lastmod>2019-04-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/14/how-to-load-config-with-services-in-symfony-console</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/07/why-you-should-combine-symfony-console-and-dependency-injection</loc>
        <lastmod>2018-05-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/05/03/how-do-you-treat-your-own-first-ai</loc>
        <lastmod>2018-05-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/04/30/programming-climbing-a-huge-mountain</loc>
        <lastmod>2018-04-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/04/26/how-i-got-into-static-trap-and-made-fool-of-myself</loc>
        <lastmod>2018-04-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/04/19/4-tips-to-get-emotions-to-your-blogging-about-programming</loc>
        <lastmod>2018-04-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/04/12/the-best-5-of-256-bloghacks-book</loc>
        <lastmod>2018-04-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/04/09/try-psr-12-on-your-code-today</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/29/new-in-coding-standard-4-long-line-breaks-automated-and-3-legacy-prevention-fixers</loc>
        <lastmod>2020-08-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/22/how-teaching-suicides-itself-by-killing-the-passion</loc>
        <lastmod>2018-03-22</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/19/how-to-criticize-like-a-senior-programmer</loc>
        <lastmod>2018-03-19</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/12/neon-vs-yaml-and-how-to-migrate-between-them</loc>
        <lastmod>2018-12-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/08/why-is-collector-pattern-so-awesome</loc>
        <lastmod>2018-03-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/03/05/rector-part-3-why-instant-upgrades</loc>
        <lastmod>2018-03-05</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/02/26/rector-part-2-maturity-of-php-ecocystem-and-founding-fathers</loc>
        <lastmod>2018-02-26</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/02/19/rector-part-1-what-and-how</loc>
        <lastmod>2020-11-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/02/12/sleep-shorter-to-get-62-percent-smarter</loc>
        <lastmod>2018-02-12</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/01/29/how-to-deal-with-haters-in-comments-and-github</loc>
        <lastmod>2018-01-29</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2018/01/08/clean-and-decoupled-controllers-commands-and-event-subscribers-once-and-for-all-with-delegator-pattern</loc>
        <lastmod>2018-01-08</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/12/25/composer-local-packages-for-dummies</loc>
        <lastmod>2017-12-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/12/04/life30-what-will-you-do-when-ai-takes-over-the-world</loc>
        <lastmod>2017-12-04</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/11/20/how-to-write-interesting-job-offers-for-programmers</loc>
        <lastmod>2017-11-20</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/11/13/7-tips-you-should-know-before-going-to-university</loc>
        <lastmod>2017-11-13</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/11/06/how-to-change-php-code-with-abstract-syntax-tree</loc>
        <lastmod>2022-10-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/10/30/what-can-you-learn-from-menstruation-and-symfony-releases</loc>
        <lastmod>2017-10-30</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/10/23/imbox-zero</loc>
        <lastmod>2017-10-23</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/10/16/how-to-use-repository-with-doctrine-as-service-in-symfony</loc>
        <lastmod>2021-02-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/10/09/how-to-get-the-most-valuable-feedback-you-can-get</loc>
        <lastmod>2017-10-09</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/09/25/3-non-it-books-that-help-you-to-become-better-programmer</loc>
        <lastmod>2017-09-25</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/07/31/how-php-coding-standard-tools-actually-work</loc>
        <lastmod>2017-07-31</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/07/24/how-to-write-custom-fixer-for-php-cs-fixer-24</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/07/17/how-to-write-custom-sniff-for-code-sniffer-3</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/07/03/how-to-deprecate-php-package-without-leaving-anyone-behind</loc>
        <lastmod>2017-07-03</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/06/01/thank-you-david</loc>
        <lastmod>2017-06-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/05/07/how-to-refactor-to-new-dependency-injection-features-in-symfony-3-3</loc>
        <lastmod>2017-05-07</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/05/03/combine-power-of-php-code-sniffer-and-php-cs-fixer-in-3-lines</loc>
        <lastmod>2023-01-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/04/14/3-symfony-and-laravel-patterns-that-make-code-easy-to-extends-without-modification</loc>
        <lastmod>2017-04-14</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/02/12/drop-all-service-tags-in-your-nette-and-symfony-applications</loc>
        <lastmod>2017-05-01</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/01/28/why-I-switched-scrutinizer-for-phpstan-and-you-should-too</loc>
        <lastmod>2017-01-28</lastmod>
    </url>
    <url>
        <loc>https://tomasvotruba.com/blog/2017/01/15/7-rad-ktere-bych-si-dal-pred-odchodem-na-vysokou-skolu</loc>
        <lastmod>2017-01-15</lastmod>
    </url>
</urlset>
