<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  
    
      <url>
        <loc>https://blog.frankel.ch/404.html</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/authors/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/books/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/feed.xml</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/focus/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/mentions/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/sitemap.xml</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/assets/css/syntax-highlighting.css</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/certification/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/scjp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sun/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sun-certified-java-programer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/display/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/library/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/table/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tabulated/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tag/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/taglib/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/claroline/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dokeos/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/elearning/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lms/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cx-055-083/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/scwcd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/web/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/download-day/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/firefox/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/junit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/testng/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/unit-test/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dbunit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/derby/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javadb/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/draft/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/html-5/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spec/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/w3c/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/download/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/eclispe/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ganymede/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/reflection/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/batch/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/shutdown-hook/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/open-source/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opensource/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/quality/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sonar/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jdbc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/free/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/guide/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ubuntu/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gears/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/greasemonkey/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javadoc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/offline/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/upgrade/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wordpress/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hibernate/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jpa/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/persistence/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jawr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jsp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/yslow/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/decoupling/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dependency/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dependency-injection/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/di/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/meta-inf/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/osgi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/service-locator/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/serviceloader/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/services/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tag-file/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tag-lib/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tagfile/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jaas/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/loginmodule/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/realm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/security/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tomcat/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/app-engine/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/free-hosting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/google/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/isolation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mock/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mockito/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mockrunner/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/test/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/factorybean/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/proxy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stub/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stubbing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/unit-testing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/inove/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mandigo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/theme/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/c/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jani/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-native-access/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jna/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/native/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/win32/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/windows/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-web-start/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jws/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/legacy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/publish/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/web-start/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/anti-pattern/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dto/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ejb/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/entity-bean/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/configuration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ehcache/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jmx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/logging/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mbean/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/use-case/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/error/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/facts/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mistake/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/misunderstanding/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/understanding/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/design/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/eda/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ego/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ego-driven-architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/binding/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bindings/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/custom/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/customization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/customize/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jaxb/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/maven-plugin/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/parent-class/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/serializable/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/xjc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/xml/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/association/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bidirectional/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/book/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/design-pattern/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gof/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/artifactory/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/development/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hudson/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/infrastructure/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/nexus/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opends/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/python/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/subversion/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/trac/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/eclemma/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/eclipse/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/emma/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ide/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/important/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/m2eclipse/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/maven/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/necessary/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/plugins/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/top/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bea/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/business/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ibm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/it/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jboss/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mysql/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/oracle/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/shark/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/springsource/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vmware/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/filter/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/valve/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/container/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ioc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/servlet/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jsf/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opensymphony/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sitemesh/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/template/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tiles/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/packt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/review/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/api/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/commons-logging/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/implementation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/log4j/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/slf4j/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/effective/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/boilerplate/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/code/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/decrease/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/generation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lombok/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/morbok/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/reduce/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/convert/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/database/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mapping/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/object/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/type/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/usertype/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ajax/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rest/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/authoring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/beans/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/handler/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/parser/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/schema/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/validation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/flex/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/flexmojos/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rich-client/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/typology/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/context-root/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/slash/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tweak/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/webapp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/middleware/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/convention/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/installation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/get/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/load/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/projectlocker/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cluster/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/session/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/terracotta/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jsr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/functional-test/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/selenium/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vaadin/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/p6spy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sql/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gmail/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dry/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/plugin/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cdi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/swing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bean/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dozer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jbehave/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/scala/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/event/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hades/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/roo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dropbox/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/windows-7/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/identity/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/openid/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/twitter/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/code-coverage/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloud/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloudfoundry/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/blackbelt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/repo1/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/manifest/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ssl/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/property/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jvm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/language/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/fest/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/weld/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/autowiring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/transaction/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/virtualization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/griffon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/groovy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/user-interface/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devoxx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jenkins/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devoxxfr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wtp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/specification/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ejb3/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/arquillian/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/integration-testing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cms/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devops/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/drupal/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/envers/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-data/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/css/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/inversion-of-control/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/method-injection/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-security/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jbpm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jax-ws/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/web-services/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/course/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/powermock/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/project-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/coursera/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/blog/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jekyll/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dao/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/arqullian/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-ee/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tomee/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/search/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/solr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javaconfig/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/angularjs/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/html5/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gwt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javascript/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/commerce/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hybris/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/solution/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bean-validation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/automation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/deployment/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mongodb/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/nosql/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/writing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-mvc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/3d/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/three-js/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ant/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/build/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gradle/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/duchess-swiss/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/soft-shake/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/verbosity/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jooq/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hack/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rich-domain-object/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javafx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/guava/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/optimization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/webjars/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wro4j/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/collections/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gui/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/agile/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mutation-testing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/objenesis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jeeconf/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/android/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/genymotion/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exception/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/context/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/owasp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jstl/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exception-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/good-practice/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/application-server/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/microservices/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-boot/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/recruiting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/graphite/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/metrics/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/performance/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/docker/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-8/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jesuischarlie/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/seo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/software-development/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bintray/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/software-engineering/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/versioning/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/polyglot/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kotlin/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bug/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sonarqube/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/geecon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-io/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/continuous-integration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/puppet/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dagger/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/thread/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloudfront/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/github/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hosting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/https/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/singleton/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloud-foundry/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pivotal/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/heroku/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/event-bus/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/event-driven-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opinion/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/object-oriented-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/semantics/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/clean-code/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/refactoring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/testing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/html/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/interview/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/algorithm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/git/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gitlab/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/provider/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/i18n/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/arithmetics/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/end-to-end-testing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/behavior-driven-development/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cucumber/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/technical-debt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/volga/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cargo-culting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/over-engineering/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/interface/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/typesafe/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/communication/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/extension-function/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/microservice/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-framework/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-cloud/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/http/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/monitoring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sleuth/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dsl/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/continous-integration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/travis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/codecov/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/post-processor/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/convention-over-configuration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/elk/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/logstash/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/elastic/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/debugging/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/parsing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/elasticsearch/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jest/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jolokia/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ruby/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/beat/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/go/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ops/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/final/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kibana/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/big-data/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/policy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jar/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/class/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/method/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/component-scan/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tooling/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/actuator/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/amazon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/front-end/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lambda/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/collector/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/service-loader/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-factories/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/future/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/coroutine/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/code-quality/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/war/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javaee/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/archive/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/antlr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data-visualization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/build-automation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/asciidoctor/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/trend-analysis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/xtend/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ceylon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hiring/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/software-design/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/annotations/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bytecode/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javap/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/maintenance/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-9/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/modules/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jigsaw/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/navigator/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/oop/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/conference/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stdlib/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jdk/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/functional-interfaces/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/randomness/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/blockchain/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ethereum/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/smart-contract/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/redirect/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/framework/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/truffle/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/authentication/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/programming-by-contract/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/casting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/deprecation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/removal/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lifecyle/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/version/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jenv/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/garbage-collector/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cleanup/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/algolia/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/software-architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/graalvm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/micrometer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/desktop/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cargo-cult/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/homebrew/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stack-overflow/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/functional/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/reactive/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/aot/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/intellij-idea/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/serialization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/clojure/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/functional-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/api-design/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/default-method/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/career/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exoscale/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/specifications/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/arrow/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/threading/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dispatch/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/defmulti/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/defmethod/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloneable/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dependent-types/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sequence/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stream/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/builder/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/state-machine/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/collection/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lazy-evaluation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/attach-api/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jconsole/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/concurrent-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/teaching/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jupyter/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spa/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/transformation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/reducer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/transducer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bitbucket/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/io/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/paradigm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/group-by/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/streams/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/state/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devtools/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jib/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tip/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/uml/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/deduplication/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/assertion/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/software-craftmanship/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/productivity/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gemfile/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/npm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dijkstra/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cherry-pick/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bash/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exercise/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/style/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/aop/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rdbms/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hazelcast/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mapreduce/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/query/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/industrialization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/onbuild/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/module/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tips/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/operator/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/attribute/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/request/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ci/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/programming-language/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/elixir/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/readable-code/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/plantuml/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloudflare/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/developer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/filters/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/minification/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stream-processing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data-streaming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jet/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sources/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sinks/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kubernetes/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/initialization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/controller/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/fabric8/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sidecar/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/graal-vm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/compilation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/substitution/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/remote/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/analytics/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/annotation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/annotation-processor/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/projects/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dependencies/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/workflow/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/risk-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/maturity-level/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/project-loom/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/parallelism/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/coroutines/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/system-architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/query-cache/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/license/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apache/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bsd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opendata/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/advice/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/date/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/time/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/timezone/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/iana/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/svg/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/github-actions/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/release-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/fixed-price/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/time-and-materials/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/build-or-buy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kotlin-scripting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/freemarker/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/github-action/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/json/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/yaml/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data-exchange/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/learning/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/modularization/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jpms/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/reactive-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/project-reactor/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/micronaut/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloud-native/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/quarkus/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/native-image/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/event-driven-architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/log4j2/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/swt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/assembly/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/shade/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tornadofx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jetpack-compose/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/open-web-start/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jpackage/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jlink/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/optional/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/microprofile/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/minikube/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kind/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/backpressure/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/delegate/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/overengineering/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rust/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exercises/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/practice/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/beginners/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/blockhound/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/webassembly/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wasm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/javascript-integration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/integration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ffi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jni/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/random/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/continuous-deployment/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kaniko/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/basics/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devrel/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/public-speaking/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/covid/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/continuous-improvement/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/comparison/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/maven-daemon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/surefire/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/buildkit/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/serverless/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/faas/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cache/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cache-providers/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cache-vendors/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/analysis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/extension/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apache-web-server/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/demo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/delegation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/resilience/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/failsafe/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/resilience4j/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/security-manager/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/log4shell/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pom/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kata/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/coding/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/system-logger/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/facade/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/abstraction/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/type-system/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/strong-typing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lifecycle-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/good-practices/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/learning-by-doing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lessons-learned/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/retrospective/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/language-design/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/error-handling/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/system-design/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/option/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/nullable-type/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/system-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/readme/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/google-cloud/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/context-receiver/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/bulgaria/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mac-os/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/install/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/programming-languages/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vscode/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hard-things/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/computer-science/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/api-gateway/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apache-apisix/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/service-discovery/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/function-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/procedural-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/asynchronous-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/non-blocking-programming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/networking/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/opentelemetry/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/jaeger/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/observability/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tracing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gateway-api/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/depepdency-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pip/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/exceptions/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lambdas/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apache-commons/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vavr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/engineering/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/solution-engineering/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/web-api/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rfc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/georouting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apisix/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/geoip/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/nginx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/postgresql/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/postgrest/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/no-code/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mvp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mastodon/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/web-apis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hateoas/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hal/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/http-api/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/solution-architecture/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/open-policy-agent/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/openid-connect/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/oauth/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/grpc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tls/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/scaleway/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloud-provider/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/developer-experience/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cfp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sessionize/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/papercall/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/eventil/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/content/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/canonical/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/debug/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/axum/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tokio/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dall-e/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data-location/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/data-residency/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apache-shardingsphere/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/health-check/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gitlab-pages/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wasi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-cloud-gateway/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sticky-session/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/session-affinity/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/spring-session/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/etcd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/keycloak/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/logs/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/loki/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/grafana/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/http-apis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/monkey-patching/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/aspectj/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/byte-buddy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/instrumentation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/java-agent/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lua/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/imgproxy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ipc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pyo3/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/languages/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/errors-handling/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/canary/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/china/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/2023/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/fonts/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/fix/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/coraza/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/error-management/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/migration/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/raspberry-pi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/self-hosted-runner/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/apisixnorthamericatour/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/conferences/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/idempotency/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ietf/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/object-orientation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/restful/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tauri/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/camunda/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/environment-variables/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/redis/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/routes/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/split-traffic/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/github-pages/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/renovate/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/watermark/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/images/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/url/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/rate-limiting/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/consumer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/consumer-groups/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/free-tier/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hashmap/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dict/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hash/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ssr/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vue-js/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/htmx/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/thymeleaf/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vue/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/alpine/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/duckdb/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/databases/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/langchain4j/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ollama/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/llm/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ai/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/home-assistant/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/philips-hue/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/crd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/vcluster/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hacs/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/2024/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ios/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/playwright/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/browser-automation/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/devpod/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/remote-development-environment/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloud-development-environment/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/flyway/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/gke/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wasmedge/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/sizing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/wait/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/mcp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/openai/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/infrastructure-as-code/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/iac/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/crossplane/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/cloudflare-tunnel/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/entity-state/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/temperature/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/netatmo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/technical-writing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lazy-static/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/lazylock/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/oncelock/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/openrewrite/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/network/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/local/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/avahi/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/ansible/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/streaming/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/entities/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/distributed-tracing/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/usa/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/kansas-city/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/github-workflow/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/constructor/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/design-patterns/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/dns/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/privacy/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/let-s-encrypt/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/synology/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/threadlocal/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/asciidoc/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/markdown/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/xsd/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/xerces/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/libraries/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/otp/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/2025/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/tailscale/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/macos/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/app/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/hugo/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/static-site-generator/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/timer/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/stopwatch/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/agent/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/skill/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/tag/pragmatism/</loc>
        
      </url>
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
      <url>
        <loc>https://blog.frankel.ch/redirects.json</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/me/</loc>
        
      </url>
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
      <url>
        <loc>https://blog.frankel.ch/authors/stefanofago/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/java-geek-weekly/</loc>
        
      </url>
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2024/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2023/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2022/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2021/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2020/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2019/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2018/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2017/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2016/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2015/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2014/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2013/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2012/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/speaking/2011/</loc>
        
      </url>
    
  
    
      <url>
        <loc>https://blog.frankel.ch/index.html</loc>
        
      </url>
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
    
  
  
  
    <url>
      <loc>https://blog.frankel.ch/tip-opentelemetry-projects/</loc>
      <lastmod>2026-03-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/software-architect-elevator/</loc>
      <lastmod>2026-03-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/writing-agent-skill/</loc>
      <lastmod>2026-03-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pi-hole-tailscale/</loc>
      <lastmod>2026-03-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ready-to-use-virtual-clusters/</loc>
      <lastmod>2026-03-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jvm-timing-options/</loc>
      <lastmod>2026-02-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/migrating-jekyll-hugo/</loc>
      <lastmod>2026-02-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rediscovering-java-serviceloader/</loc>
      <lastmod>2026-02-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-checked-exceptions-lambdas/</loc>
      <lastmod>2026-02-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jar-to-macos-app/</loc>
      <lastmod>2026-01-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/checked-exceptions-lambdas/</loc>
      <lastmod>2026-01-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cloudflare-zero-trust-tailscale/</loc>
      <lastmod>2026-01-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/2025-retrospective/</loc>
      <lastmod>2026-01-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/yow-2025/</loc>
      <lastmod>2025-12-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/yet-another-rust-ownership-tutorial/</loc>
      <lastmod>2025-12-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/second-cloudflare-tunnel/</loc>
      <lastmod>2025-11-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/first-real-rust-project/</loc>
      <lastmod>2025-11-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/wasting-time-without-10-libraries/</loc>
      <lastmod>2025-11-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/xml-schema-validation-1-1/</loc>
      <lastmod>2025-11-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/choosing-dependency/</loc>
      <lastmod>2025-11-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/asciidoc-over-markdown/</loc>
      <lastmod>2025-10-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/testing-untestable/</loc>
      <lastmod>2025-10-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dependencies-objects/</loc>
      <lastmod>2025-10-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/transactions-threadlocal-spring/</loc>
      <lastmod>2025-10-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/privacy-subdomains/2/</loc>
      <lastmod>2025-09-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/privacy-subdomains/1/</loc>
      <lastmod>2025-09-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dependency-version-resolution-rust-java/</loc>
      <lastmod>2025-09-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/elastic-java-sdk-design/</loc>
      <lastmod>2025-09-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/thoughts-object-creation/</loc>
      <lastmod>2025-08-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/github-workflows-tips-tricks/</loc>
      <lastmod>2025-08-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kcdc-2025/</loc>
      <lastmod>2025-08-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/opentelemetry-gotchas/</loc>
      <lastmod>2025-08-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/opentelemetry-tracing-jvm/</loc>
      <lastmod>2025-08-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/git-default-options/</loc>
      <lastmod>2025-07-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pattern-matching-different-languages/</loc>
      <lastmod>2025-07-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/8/</loc>
      <lastmod>2025-07-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/how-to-batch/</loc>
      <lastmod>2025-07-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/broadcast-devices-name-local-network/</loc>
      <lastmod>2025-06-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/openrewrite-recipes/3/</loc>
      <lastmod>2025-06-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/openrewrite-recipes/2/</loc>
      <lastmod>2025-06-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/openrewrite-recipes/1/</loc>
      <lastmod>2025-06-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lazy-initialized-vars-rust/</loc>
      <lastmod>2025-06-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/writing-for-developers/</loc>
      <lastmod>2025-05-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/7/</loc>
      <lastmod>2025-05-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/6/</loc>
      <lastmod>2025-05-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feet-wet-crossplane/</loc>
      <lastmod>2025-05-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/langchain4j-musings-six-months-after/</loc>
      <lastmod>2025-04-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/subtle-art-waiting/</loc>
      <lastmod>2025-04-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/high-cardinality-values-build-flags-rust/</loc>
      <lastmod>2025-04-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/even-more-opentelemetry-kubernetes/</loc>
      <lastmod>2025-04-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/mutation-testing-rust/</loc>
      <lastmod>2025-03-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-cleaner/</loc>
      <lastmod>2025-03-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/one-giant-kubernetes-cluster/</loc>
      <lastmod>2025-03-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-dependency-analyze/</loc>
      <lastmod>2025-03-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/webassembly-kubernetes/</loc>
      <lastmod>2025-03-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pr-testing-kubernetes/3/</loc>
      <lastmod>2025-02-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pr-testing-kubernetes/2/</loc>
      <lastmod>2025-02-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pr-testing-kubernetes/1/</loc>
      <lastmod>2025-02-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/remote-development-devpod/</loc>
      <lastmod>2025-02-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-inheritance/</loc>
      <lastmod>2025-01-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/first-steps-playwright/</loc>
      <lastmod>2025-01-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/5/</loc>
      <lastmod>2025-01-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/2024-retrospective/</loc>
      <lastmod>2025-01-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/4/</loc>
      <lastmod>2024-12-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cluster-wide-crds/</loc>
      <lastmod>2024-12-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/3/</loc>
      <lastmod>2024-12-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/2/</loc>
      <lastmod>2024-12-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/home-assistant/1/</loc>
      <lastmod>2024-11-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/prng-evolution/</loc>
      <lastmod>2024-11-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/langchain4j-musings/</loc>
      <lastmod>2024-11-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/duckdb-in-action/</loc>
      <lastmod>2024-11-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/digital-twins/</loc>
      <lastmod>2024-10-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/7/</loc>
      <lastmod>2024-10-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/6/</loc>
      <lastmod>2024-10-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/5/</loc>
      <lastmod>2024-10-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/4/</loc>
      <lastmod>2024-09-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/3/</loc>
      <lastmod>2024-09-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/2/</loc>
      <lastmod>2024-09-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ajax-ssr/1/</loc>
      <lastmod>2024-09-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dry-apisix-config/</loc>
      <lastmod>2024-09-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/when-write-apisix-plugin/</loc>
      <lastmod>2024-08-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-coroutines-otel-tracing/</loc>
      <lastmod>2024-08-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/default-map-value/</loc>
      <lastmod>2024-08-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/opentelemetry-tracing-spring-boot/</loc>
      <lastmod>2024-08-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/free-tier-api-apisix/</loc>
      <lastmod>2024-07-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/different-rate-limits-apisix/</loc>
      <lastmod>2024-07-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/advanced-url-rewrite-apisix/</loc>
      <lastmod>2024-07-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dynamic-watermarking/2/</loc>
      <lastmod>2024-07-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dynamic-watermarking/1/</loc>
      <lastmod>2024-06-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/renovate-for-everything/</loc>
      <lastmod>2024-06-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/refresher-github-pages/</loc>
      <lastmod>2024-06-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fixed-routes-apisix/</loc>
      <lastmod>2024-06-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/even-more-opentelemetry/</loc>
      <lastmod>2024-06-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/structured-env-vars-rust/</loc>
      <lastmod>2024-05-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/worfklow-stateless-stateful/</loc>
      <lastmod>2024-05-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/opinion-tauri/</loc>
      <lastmod>2024-05-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/vary-http-header/</loc>
      <lastmod>2024-05-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pass-parameters-apisix/</loc>
      <lastmod>2024-04-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/try-block-rust/</loc>
      <lastmod>2024-04-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dissolving-design-patterns/</loc>
      <lastmod>2024-04-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/implement-idempotency-key-apisix/</loc>
      <lastmod>2024-04-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fix-duplicate-api-requests/</loc>
      <lastmod>2024-03-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apisix-north-america-tour/</loc>
      <lastmod>2024-03-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pitfall-implicit-returns/</loc>
      <lastmod>2024-03-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/raspberry-pi-github-action/</loc>
      <lastmod>2024-03-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-scripting-to-python/</loc>
      <lastmod>2024-03-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/secure-api-practices-apisix/2/</loc>
      <lastmod>2024-02-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/secure-api-practices-apisix/1/</loc>
      <lastmod>2024-02-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/error-management-rust-libs/</loc>
      <lastmod>2024-02-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apisix-owasp-coraza-core-ruleset/</loc>
      <lastmod>2024-02-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/improve-otel-demo/</loc>
      <lastmod>2024-01-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fonts-embedded-svg/</loc>
      <lastmod>2024-01-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kicking-tires-docker-scout/</loc>
      <lastmod>2024-01-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/2023-retrospective/</loc>
      <lastmod>2024-01-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/five-apache-projects/</loc>
      <lastmod>2023-12-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apisix-plugins-priority-leaky-abstraction/</loc>
      <lastmod>2023-12-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/canary-releases-apisix/</loc>
      <lastmod>2023-12-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/chopping-monolith-smarter-way/</loc>
      <lastmod>2023-11-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/retrospective-error-management/</loc>
      <lastmod>2023-11-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/opentelemetry-collector/</loc>
      <lastmod>2023-11-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/api-versioning/</loc>
      <lastmod>2023-11-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-rust-from-python/</loc>
      <lastmod>2023-10-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/python-magic-methods/2/</loc>
      <lastmod>2023-10-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/python-magic-methods/1/</loc>
      <lastmod>2023-10-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rust-from-python/</loc>
      <lastmod>2023-10-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/resize-images-on-the-fly/</loc>
      <lastmod>2023-10-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rabbit-hole-apisix-plugin/</loc>
      <lastmod>2023-09-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/monkeypatching-java/</loc>
      <lastmod>2023-09-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/problem-details-http-apis/</loc>
      <lastmod>2023-09-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-blog-new-authors/</loc>
      <lastmod>2023-09-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/logs-loki/</loc>
      <lastmod>2023-08-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/introduction-tower/</loc>
      <lastmod>2023-08-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ops-friendly-apisix/</loc>
      <lastmod>2023-08-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/final-take-gradle/</loc>
      <lastmod>2023-08-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/authentication-api-gateway/</loc>
      <lastmod>2023-07-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apisix-without-etcd/</loc>
      <lastmod>2023-07-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/designing-apis-swagger-openapi/</loc>
      <lastmod>2023-07-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/reactive-database-access/</loc>
      <lastmod>2023-07-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sticky-sessions-apache-apisix/2/</loc>
      <lastmod>2023-07-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sticky-sessions-apache-apisix/1/</loc>
      <lastmod>2023-06-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-cloud-gateway-apache-apisix/</loc>
      <lastmod>2023-06-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/wasm-docker/</loc>
      <lastmod>2023-06-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/gitlab-pages-preview/</loc>
      <lastmod>2023-06-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/healthcheck-http-apis/</loc>
      <lastmod>2023-05-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/data-residency/2/</loc>
      <lastmod>2023-05-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/working-unfamiliar-codebase/</loc>
      <lastmod>2023-05-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/data-residency/1/</loc>
      <lastmod>2023-05-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/server-side-rendering-rust/</loc>
      <lastmod>2023-04-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/leverage-richness-http-status-codes/</loc>
      <lastmod>2023-04-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fearless-distroless/</loc>
      <lastmod>2023-04-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rel-canonical-content-writers/</loc>
      <lastmod>2023-04-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/firefox-extension/</loc>
      <lastmod>2023-04-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/evaluation-scaleway/</loc>
      <lastmod>2023-03-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/mtls-everywhere/</loc>
      <lastmod>2023-03-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/grpc-client-side/</loc>
      <lastmod>2023-03-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/authenticate-openid-connect/</loc>
      <lastmod>2023-03-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/security-policy-auditable/</loc>
      <lastmod>2023-02-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/right-feature-right-place/</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/null-safety-java-vs-kotlin/</loc>
      <lastmod>2023-02-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/secure-apisix-admin/</loc>
      <lastmod>2023-02-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/http-api-rust/</loc>
      <lastmod>2023-01-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/quest-for-rest/</loc>
      <lastmod>2023-01-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/api-design-patterns/</loc>
      <lastmod>2023-01-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/2022-retrospective/</loc>
      <lastmod>2023-01-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/immutable-mastodon-handle/</loc>
      <lastmod>2022-12-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/move-away-twitter/</loc>
      <lastmod>2022-12-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/web-caching/server/</loc>
      <lastmod>2022-12-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/web-caching/client/</loc>
      <lastmod>2022-11-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/poor-man-api/</loc>
      <lastmod>2022-11-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-modulith-modularity-maturity/</loc>
      <lastmod>2022-11-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/georouting-apisix/</loc>
      <lastmod>2022-11-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/structured-errors-http-apis/</loc>
      <lastmod>2022-10-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/discuss-problem-not-solution/</loc>
      <lastmod>2022-10-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exceptions-lambdas/</loc>
      <lastmod>2022-10-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/different-test-scopes-rust/</loc>
      <lastmod>2022-10-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rust-apisix/2/</loc>
      <lastmod>2022-10-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rust-apisix/1/</loc>
      <lastmod>2022-09-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kubernetes-extensibility/</loc>
      <lastmod>2022-09-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maze-python-dependency-management/</loc>
      <lastmod>2022-09-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kubernetes-gateway-api/</loc>
      <lastmod>2022-09-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/end-to-end-tracing-opentelemetry/</loc>
      <lastmod>2022-08-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/renovate-alternative-dependabot/</loc>
      <lastmod>2022-08-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/backend-for-frontend-demo/</loc>
      <lastmod>2022-08-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/basics-access-kubernetes-pods/</loc>
      <lastmod>2022-08-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-cosmetics-vs-intrinsics-programming/</loc>
      <lastmod>2022-07-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/backend-for-frontend/</loc>
      <lastmod>2022-07-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/own-service-discovery-client-apisix/</loc>
      <lastmod>2022-07-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/secure-webapps-api-gateway/</loc>
      <lastmod>2022-07-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-auditing-kubernetes-manifests/</loc>
      <lastmod>2022-07-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hard-things-computer-science/</loc>
      <lastmod>2022-06-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/take-vscode-spin/</loc>
      <lastmod>2022-06-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/miss-in-java-kotlin-developer/</loc>
      <lastmod>2022-06-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/running-jekyll-mac/</loc>
      <lastmod>2022-06-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jprime-2022/</loc>
      <lastmod>2022-05-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/chopping-monolith-demo/</loc>
      <lastmod>2022-05-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-context-receivers/</loc>
      <lastmod>2022-05-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/conditional-build-gitlab/</loc>
      <lastmod>2022-05-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/authenticate-google-cloud-github/</loc>
      <lastmod>2022-05-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/chopping-monolith/</loc>
      <lastmod>2022-04-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/beautify-github-repo/</loc>
      <lastmod>2022-04-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rust-action/</loc>
      <lastmod>2022-04-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/optional-nullable-type/</loc>
      <lastmod>2022-04-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apisix-api-gateway/</loc>
      <lastmod>2022-03-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/error-handling/</loc>
      <lastmod>2022-03-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lessons-learned-previous-projects/</loc>
      <lastmod>2022-03-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/alternatives-dto/</loc>
      <lastmod>2022-03-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/evolve-apis/</loc>
      <lastmod>2022-02-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/avoid-stringly-typed-kotlin/</loc>
      <lastmod>2022-02-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/system-logger/</loc>
      <lastmod>2022-02-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/10/</loc>
      <lastmod>2022-02-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-flatten-plugin/</loc>
      <lastmod>2022-01-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/treat-security-as-risk/</loc>
      <lastmod>2022-01-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/running-untrusted-code/</loc>
      <lastmod>2022-01-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/comparison-fault-tolerance-libraries/</loc>
      <lastmod>2022-01-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/beautify-third-party-api-kotlin/</loc>
      <lastmod>2021-12-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/native/quarkus/</loc>
      <lastmod>2021-12-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/multiple-spring-boot-apps-same-project/</loc>
      <lastmod>2021-12-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/port-management-local-kubernetes/</loc>
      <lastmod>2021-11-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/native/micronaut/</loc>
      <lastmod>2021-11-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/native/spring-boot/</loc>
      <lastmod>2021-11-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/extending-third-party-apis/</loc>
      <lastmod>2021-11-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/choose-cache/2/</loc>
      <lastmod>2021-10-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/choose-cache/1/</loc>
      <lastmod>2021-10-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-faas-impossible-union/</loc>
      <lastmod>2021-10-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/faster-maven-builds/2/</loc>
      <lastmod>2021-10-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/faster-maven-builds/1/</loc>
      <lastmod>2021-10-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/multiple-ways-configure-spring/</loc>
      <lastmod>2021-09-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/reassessing-testng-junit/</loc>
      <lastmod>2021-09-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/annotation-free-spring/</loc>
      <lastmod>2021-09-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/metrics/</loc>
      <lastmod>2021-09-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/online-public-speaking/</loc>
      <lastmod>2021-08-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/free-docker-registries/</loc>
      <lastmod>2021-08-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/data-files-commits-vs-pull-requests/</loc>
      <lastmod>2021-08-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/9/</loc>
      <lastmod>2021-08-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/gitlab-continuous-deployment-one-stop-shop/</loc>
      <lastmod>2021-08-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/8/</loc>
      <lastmod>2021-07-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/7/</loc>
      <lastmod>2021-07-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/6/</loc>
      <lastmod>2021-07-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/5/</loc>
      <lastmod>2021-07-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/4/</loc>
      <lastmod>2021-06-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/blockhound-how-it-works/</loc>
      <lastmod>2021-06-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/3/</loc>
      <lastmod>2021-06-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/2/</loc>
      <lastmod>2021-06-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/start-rust/1/</loc>
      <lastmod>2021-05-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hacking-third-party-api-jvm/</loc>
      <lastmod>2021-05-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/timely-computation-derived-values/</loc>
      <lastmod>2021-05-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/teeing-java-api/</loc>
      <lastmod>2021-05-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/real-world-stream-collector/</loc>
      <lastmod>2021-05-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/example-overengineering/</loc>
      <lastmod>2021-04-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-delegation/</loc>
      <lastmod>2021-04-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/custom-spring-data-repository/</loc>
      <lastmod>2021-04-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/changing-field-type-recent-jdks/</loc>
      <lastmod>2021-04-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/guide-lazyinitializationexception/</loc>
      <lastmod>2021-03-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kick-spring-native-tires/</loc>
      <lastmod>2021-03-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/backpressure-reactive-systems/</loc>
      <lastmod>2021-03-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/goodbye-minikube/</loc>
      <lastmod>2021-03-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/monitoring-across-frameworks/</loc>
      <lastmod>2021-02-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/optional-stream/</loc>
      <lastmod>2021-02-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/6/</loc>
      <lastmod>2021-02-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/5/</loc>
      <lastmod>2021-02-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/4/</loc>
      <lastmod>2021-01-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/3/</loc>
      <lastmod>2021-01-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/2/</loc>
      <lastmod>2021-01-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/creating-self-contained-executable-jars/</loc>
      <lastmod>2021-01-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/state-jvm-desktop-frameworks/1/</loc>
      <lastmod>2021-01-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/musings-dockerfile-jekyll/</loc>
      <lastmod>2020-12-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-log4j2-hack-spring-boot/</loc>
      <lastmod>2020-12-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hack-ease-usage-log4j2-spring-boot/</loc>
      <lastmod>2020-12-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/event-streams-in-action/</loc>
      <lastmod>2020-12-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/solving-substitution-graalvm-issue/</loc>
      <lastmod>2020-11-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/common-jdks/</loc>
      <lastmod>2020-11-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-to-quarkus/</loc>
      <lastmod>2020-11-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-to-micronaut/</loc>
      <lastmod>2020-11-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/reactor-to-coroutines/</loc>
      <lastmod>2020-11-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/update-state-java-modularization/</loc>
      <lastmod>2020-10-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dos-donts-conference-organizers/</loc>
      <lastmod>2020-10-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hitchhiker-guide-containerizing-java-apps/</loc>
      <lastmod>2020-10-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-learning-new-programming-language/</loc>
      <lastmod>2020-10-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/defense-xml/</loc>
      <lastmod>2020-09-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/customizing-github-profile/2/</loc>
      <lastmod>2020-09-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/customizing-github-profile/1/</loc>
      <lastmod>2020-09-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-house-building-software-development-projects/</loc>
      <lastmod>2020-09-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/github-actions-maven-releases/</loc>
      <lastmod>2020-08-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/handcrafting-own-svg/</loc>
      <lastmod>2020-08-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/date-time-gotchas/</loc>
      <lastmod>2020-08-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/advices-writing-blog-posts/</loc>
      <lastmod>2020-08-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/different-kinds-testing/</loc>
      <lastmod>2020-08-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sorting-bug/</loc>
      <lastmod>2020-07-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/challenges-open-data/</loc>
      <lastmod>2020-07-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-opensource-licenses-changes/</loc>
      <lastmod>2020-07-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/digging-hibernate-query-cache/</loc>
      <lastmod>2020-07-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/illusion-statelessness/</loc>
      <lastmod>2020-06-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/project-loom-reactive-coroutines/</loc>
      <lastmod>2020-06-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-risk-not-upgrading/</loc>
      <lastmod>2020-06-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-love-vaadin/</loc>
      <lastmod>2020-06-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/changing-coding-habits-stream-friendly/</loc>
      <lastmod>2020-05-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automating-conference-submission-workflow/3/</loc>
      <lastmod>2020-05-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automating-conference-submission-workflow/2/</loc>
      <lastmod>2020-05-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automating-conference-submission-workflow/1/</loc>
      <lastmod>2020-05-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/assessing-projects-sustainability-github/</loc>
      <lastmod>2020-05-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/introductory-guide-annotation-processor/</loc>
      <lastmod>2020-04-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/logging-additional-metadata/</loc>
      <lastmod>2020-04-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/teaching-remotely/</loc>
      <lastmod>2020-04-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/your-own-kubernetes-controller/3/</loc>
      <lastmod>2020-04-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/coping-incompatible-code-graalvm-compilation/</loc>
      <lastmod>2020-03-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/your-own-kubernetes-controller/2/</loc>
      <lastmod>2020-03-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/your-own-kubernetes-controller/1/</loc>
      <lastmod>2020-03-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/map-merge-compute/</loc>
      <lastmod>2020-03-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/versatility-kubernetes-initcontainer/</loc>
      <lastmod>2020-03-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/stream-processing/3/</loc>
      <lastmod>2020-02-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/stream-processing/2/</loc>
      <lastmod>2020-02-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/stream-processing/1/</loc>
      <lastmod>2020-02-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/minification-html-javaee-webapps/</loc>
      <lastmod>2020-02-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/tricky-servlet-mappings/</loc>
      <lastmod>2020-01-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/creative-use-filters/</loc>
      <lastmod>2020-01-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/inserting-new-commit-git-history/</loc>
      <lastmod>2020-01-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/developers-productivity/</loc>
      <lastmod>2019-12-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-blogging-stack-publishing-process/</loc>
      <lastmod>2019-12-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/even-more-readable-code-without-if-else/</loc>
      <lastmod>2019-12-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/six-interesting-features-programming-languages/</loc>
      <lastmod>2019-12-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/write-extension-functions-own-classes-kotlin/</loc>
      <lastmod>2019-12-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/no-such-thing-as-ci-cd/</loc>
      <lastmod>2019-11-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/composition-over-inheritance-applied-docker/</loc>
      <lastmod>2019-11-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/easier-attribute-management-javaee/</loc>
      <lastmod>2019-11-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-operators/</loc>
      <lastmod>2019-11-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/what-version-jekyll-site/</loc>
      <lastmod>2019-10-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/advices-junior-conference-speakers/</loc>
      <lastmod>2019-10-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/migrating-serviceloader-java-9-module-system/</loc>
      <lastmod>2019-10-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/onbuild-overlooked-docker-directive/</loc>
      <lastmod>2019-10-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-query-by-example/</loc>
      <lastmod>2019-09-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/20/</loc>
      <lastmod>2019-09-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/19/</loc>
      <lastmod>2019-09-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/18/</loc>
      <lastmod>2019-09-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/17/</loc>
      <lastmod>2019-09-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/16/</loc>
      <lastmod>2019-08-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/15/</loc>
      <lastmod>2019-08-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/14/</loc>
      <lastmod>2019-08-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/13/</loc>
      <lastmod>2019-08-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/12/</loc>
      <lastmod>2019-07-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/11/</loc>
      <lastmod>2019-07-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/10/</loc>
      <lastmod>2019-07-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/9/</loc>
      <lastmod>2019-07-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/8/</loc>
      <lastmod>2019-06-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/7/</loc>
      <lastmod>2019-06-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/6/</loc>
      <lastmod>2019-06-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/5/</loc>
      <lastmod>2019-06-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/4/</loc>
      <lastmod>2019-06-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/3/</loc>
      <lastmod>2019-05-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/2/</loc>
      <lastmod>2019-05-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exercises-programming-style/1/</loc>
      <lastmod>2019-05-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cherry-pick-automation-bash/</loc>
      <lastmod>2019-05-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/default-git-options/</loc>
      <lastmod>2019-04-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/imperative-functional-programming/4/</loc>
      <lastmod>2019-04-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/layering-docker-images-dependencies/</loc>
      <lastmod>2019-04-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/creating-git-shortcuts/</loc>
      <lastmod>2019-04-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/comparison-assertion-libraries/</loc>
      <lastmod>2019-03-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/deduplication-trick/</loc>
      <lastmod>2019-03-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/options-manage-derived-attributes-kotlin/</loc>
      <lastmod>2019-03-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-devtools-jib-intellij-idea/</loc>
      <lastmod>2019-03-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-streams-state/</loc>
      <lastmod>2019-03-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/imperative-functional-programming/3/</loc>
      <lastmod>2019-02-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/imperative-functional-programming/2/</loc>
      <lastmod>2019-02-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/imperative-functional-programming/1/</loc>
      <lastmod>2019-02-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/git-service-providers-comparison/</loc>
      <lastmod>2019-02-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sieve-eratosthenes/</loc>
      <lastmod>2019-01-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/openjdk-11-tools-trade/</loc>
      <lastmod>2019-01-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/7/</loc>
      <lastmod>2019-01-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hard-look-state-java-modularization/</loc>
      <lastmod>2019-01-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hacking-webpage-javascript/</loc>
      <lastmod>2018-12-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/teaching-java-jupyter-notebooks/</loc>
      <lastmod>2018-12-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/even-odd-coroutines/</loc>
      <lastmod>2018-12-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/limits-programming-interface/</loc>
      <lastmod>2018-12-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jvm-security/4/</loc>
      <lastmod>2018-12-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-collections-sequences/</loc>
      <lastmod>2018-11-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/6/</loc>
      <lastmod>2018-11-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/builder-pattern-finite-state-machine/</loc>
      <lastmod>2018-11-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/5/</loc>
      <lastmod>2018-11-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/listing-annotated-classes-javaee/</loc>
      <lastmod>2018-10-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/4/</loc>
      <lastmod>2018-10-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cloneable-java-design-gotcha/</loc>
      <lastmod>2018-10-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/3/</loc>
      <lastmod>2018-10-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/2/</loc>
      <lastmod>2018-09-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-clojure/1/</loc>
      <lastmod>2018-09-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/next-milestone-career/</loc>
      <lastmod>2018-09-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jvm-security/3/</loc>
      <lastmod>2018-09-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/default-methods-java-8/</loc>
      <lastmod>2018-09-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/basics-dependency-injection/</loc>
      <lastmod>2018-08-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/decoding-clojure-code/</loc>
      <lastmod>2018-08-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-serialization/</loc>
      <lastmod>2018-08-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-boot-integration-intellij-idea/</loc>
      <lastmod>2018-08-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/configuring-graal-native-aot-reflection/</loc>
      <lastmod>2018-07-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/refining-functional-spring/</loc>
      <lastmod>2018-07-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-boot-migrating-functional/</loc>
      <lastmod>2018-07-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-containers-frameworks/</loc>
      <lastmod>2018-07-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/elements-combination-kotlin-collections/</loc>
      <lastmod>2018-07-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/distributing-desktop-webapps/2/</loc>
      <lastmod>2018-06-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/distributing-desktop-webapps/1/</loc>
      <lastmod>2018-06-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/agile-cargo-cult/</loc>
      <lastmod>2018-06-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/webapps-desktop-integration/</loc>
      <lastmod>2018-06-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dont-git-push/</loc>
      <lastmod>2018-05-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/metrics-spring-boot-2/2/</loc>
      <lastmod>2018-05-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/metrics-spring-boot-2/1/</loc>
      <lastmod>2018-05-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/check-quality-kotlin-code/</loc>
      <lastmod>2018-05-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/first-impressions-graalvm/</loc>
      <lastmod>2018-04-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-boot-2-actuator-change-analysis/</loc>
      <lastmod>2018-04-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/multiple-modules-spring-boot-apps/</loc>
      <lastmod>2018-04-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/search-static-website/</loc>
      <lastmod>2018-04-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/git-cleanup/</loc>
      <lastmod>2018-04-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/open-source-has-won/</loc>
      <lastmod>2018-03-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-environment-management/</loc>
      <lastmod>2018-03-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feature-lifecycle-java/</loc>
      <lastmod>2018-03-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dynamic-casting-java/</loc>
      <lastmod>2018-03-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/programming-by-contract-jvm/</loc>
      <lastmod>2018-02-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/authentication-alternatives-javaee/</loc>
      <lastmod>2018-02-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-ethereum/5/</loc>
      <lastmod>2018-02-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-ethereum/4/</loc>
      <lastmod>2018-02-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-ethereum/3/</loc>
      <lastmod>2018-01-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/refining-redirect-semantics-servlet-api/</loc>
      <lastmod>2018-01-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/unit-test-vs-integration-test/</loc>
      <lastmod>2018-01-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-ethereum/2/</loc>
      <lastmod>2018-01-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-ethereum/1/</loc>
      <lastmod>2017-12-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-randomness-java/</loc>
      <lastmod>2017-12-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/design-gotchas-jdk-functional-interfaces/</loc>
      <lastmod>2017-12-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/using-kotlin-sap-hybris-platform/</loc>
      <lastmod>2017-12-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/make-life-easier-kotlin-stdlib/</loc>
      <lastmod>2017-12-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/making-most-out-conferences/</loc>
      <lastmod>2017-11-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/developer-shortage/</loc>
      <lastmod>2017-11-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/oop-compatible-enterprise-context/</loc>
      <lastmod>2017-11-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/multiple-usages-git-rebase-onto/</loc>
      <lastmod>2017-11-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/alternative-navigator-vaadin/</loc>
      <lastmod>2017-10-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/migrating-to-java-9/2/</loc>
      <lastmod>2017-10-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/migrating-to-java-9/1/</loc>
      <lastmod>2017-10-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/truly-immutable-builds/</loc>
      <lastmod>2017-10-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/bypassing-javascript-checks/</loc>
      <lastmod>2017-10-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lambdas-clean-code/</loc>
      <lastmod>2017-09-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/synthetic/</loc>
      <lastmod>2017-09-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/flavors-spring-application-context-configuration/</loc>
      <lastmod>2017-09-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exceptions/</loc>
      <lastmod>2017-09-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/you-not-compiler/</loc>
      <lastmod>2017-08-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rise-fall-jvm-languages/</loc>
      <lastmod>2017-08-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automating-generation-asciidoctor-output/</loc>
      <lastmod>2017-08-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/strategies-optimizing-docker-maven-image/</loc>
      <lastmod>2017-08-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dockerfile-maven-based-github-projects/</loc>
      <lastmod>2017-07-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-collections/</loc>
      <lastmod>2017-07-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/use-case-google-fusion-tables/</loc>
      <lastmod>2017-07-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-vs-kotlin/4/</loc>
      <lastmod>2017-07-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-publications-jekyll/</loc>
      <lastmod>2017-07-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sonarqube-plugin-kotlin/3/</loc>
      <lastmod>2017-06-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sonarqube-plugin-kotlin/2/</loc>
      <lastmod>2017-06-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sonarqube-plugin-kotlin/1/</loc>
      <lastmod>2017-06-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/it-depends/</loc>
      <lastmod>2017-06-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/what-archive-format-should-use-war-jar/</loc>
      <lastmod>2017-05-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-are-you-testing-software/</loc>
      <lastmod>2017-05-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/concurrency-java-futures-kotlin-coroutines/</loc>
      <lastmod>2017-05-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-service-loader-vs-spring-factories/</loc>
      <lastmod>2017-04-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fixing-own-spring-boot-starter-demo/</loc>
      <lastmod>2017-04-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/custom-collectors-java-8/</loc>
      <lastmod>2017-04-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kotlin-front-end-developers/</loc>
      <lastmod>2017-04-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/common-code-spring-mvc/</loc>
      <lastmod>2017-04-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cloud-offerings-free-tier/</loc>
      <lastmod>2017-03-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fully-configurable-mappings-spring-mvc/</loc>
      <lastmod>2017-03-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/coping-stringly-typed/</loc>
      <lastmod>2017-03-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/use-case-spring-component-scan/</loc>
      <lastmod>2017-03-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/use-case-for-local-class-declaration/</loc>
      <lastmod>2017-02-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/elasticsearch-api-cheatsheet/</loc>
      <lastmod>2017-02-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jvm-security/2/</loc>
      <lastmod>2017-02-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jvm-security/1/</loc>
      <lastmod>2017-02-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/compilation-java-code-on-the-fly/</loc>
      <lastmod>2017-01-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exploring-data-sets-with-kibana/</loc>
      <lastmod>2017-01-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/open-your-classes-and-methods-in-kotlin/</loc>
      <lastmod>2017-01-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-on-feeding-spring-boot-metrics-to-elasticsearch/</loc>
      <lastmod>2017-01-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/exploratory-infrastructure-projects/</loc>
      <lastmod>2017-01-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-beats-development-for-java-developers/</loc>
      <lastmod>2016-12-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-logstash-plugin-development-for-java-developers/</loc>
      <lastmod>2016-12-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feeding-spring-boot-metrics-to-elasticsearch/</loc>
      <lastmod>2016-12-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/structuring-data-with-logstash/</loc>
      <lastmod>2016-11-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/debugging-hints-for-logstash/</loc>
      <lastmod>2016-11-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/another-post-processor-for-spring-boot/</loc>
      <lastmod>2016-11-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/travis-ci-tutorial-for-java-projects/</loc>
      <lastmod>2016-11-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/easy-dsl-design-with-kotlin/</loc>
      <lastmod>2016-10-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/http-headers-management-with-spring/</loc>
      <lastmod>2016-10-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/extension-functions-for-more-consistent-apis/</loc>
      <lastmod>2016-10-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/making-sure-inter-teams-communication-doesnt-work/</loc>
      <lastmod>2016-10-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/typesafe-annotations/</loc>
      <lastmod>2016-10-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/should-tests-be-ordered-or-not/</loc>
      <lastmod>2016-09-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/are-you-guilty-of-overengineering/</loc>
      <lastmod>2016-09-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/adventures-in-seo-with-vaadin/</loc>
      <lastmod>2016-09-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/limits-of-technical-debt-analogy/</loc>
      <lastmod>2016-09-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-vs-kotlin/3/</loc>
      <lastmod>2016-08-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/starting-with-cucumber-for-end-to-end-testing/</loc>
      <lastmod>2016-08-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/performance-cost-of-reflection/</loc>
      <lastmod>2016-08-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dont-talk-about-refactoring-club/</loc>
      <lastmod>2016-07-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-vs-kotlin/2/</loc>
      <lastmod>2016-07-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-vs-kotlin/1/</loc>
      <lastmod>2016-07-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fixing-floating-point-arithmetics-with-kotlin/</loc>
      <lastmod>2016-07-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/comparing-lombok-and-kotlin/</loc>
      <lastmod>2016-06-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/faster-mutation-testing/</loc>
      <lastmod>2016-06-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/smart-logging-in-java8-kotlin/</loc>
      <lastmod>2016-06-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/encapsulation-dont-think-means-think-means/</loc>
      <lastmod>2016-05-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rolling-dice-kotlin/</loc>
      <lastmod>2016-05-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/software-labels-translation-not-easy/</loc>
      <lastmod>2016-05-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/immutable-data-structures-java/</loc>
      <lastmod>2016-05-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/gitlab-the-overlooked-git-solution-in-the-cloud/</loc>
      <lastmod>2016-04-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/code-improvement-kotlin/</loc>
      <lastmod>2016-04-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maze-walking-algorithm/</loc>
      <lastmod>2016-04-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/experimental-kotlin-mutation-testing/</loc>
      <lastmod>2016-04-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-customizing-vaadin-html-template/</loc>
      <lastmod>2016-03-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/customizing-vaadin-html-template/</loc>
      <lastmod>2016-03-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/feedback-jospehus-problem/</loc>
      <lastmod>2016-03-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/solving-the-josephus-problem-in-kotlin/</loc>
      <lastmod>2016-03-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sad-state-developer-interviews/</loc>
      <lastmod>2016-02-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/log-management-in-spring-boot/</loc>
      <lastmod>2016-02-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/designing-your-own-spring-boot-starter/2/</loc>
      <lastmod>2016-02-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/designing-your-own-spring-boot-starter/1/</loc>
      <lastmod>2016-02-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-you-shouldnt-trust-the-html-password-input/</loc>
      <lastmod>2016-01-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-security-manager/</loc>
      <lastmod>2016-01-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/playing-spring-boot-vaadin-kotlin/</loc>
      <lastmod>2016-01-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/8-years-blogging-retrospect/</loc>
      <lastmod>2016-01-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/refactoring-code-testability-example/</loc>
      <lastmod>2015-12-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-powermock-abuse/</loc>
      <lastmod>2015-12-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-danger-of-injectmocks/</loc>
      <lastmod>2015-12-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/initializing-your-mockito-mocks/</loc>
      <lastmod>2015-11-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/semantics-state-or-dependency-not-both/</loc>
      <lastmod>2015-11-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/forget-the-language-the-important-is-the-tooling/</loc>
      <lastmod>2015-11-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/using-a-framework-or-not/</loc>
      <lastmod>2015-10-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-case-for-event-bus/</loc>
      <lastmod>2015-10-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/going-the-microservices-way/3/</loc>
      <lastmod>2015-10-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/going-the-microservices-way/2/</loc>
      <lastmod>2015-10-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/going-the-microservices-way/1/</loc>
      <lastmod>2015-09-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/springone2gx-2015/</loc>
      <lastmod>2015-09-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/true-singletons-with-dagger-2/</loc>
      <lastmod>2015-09-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/running-your-domain-on-https-for-free/</loc>
      <lastmod>2015-08-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/creative-rx-usage-in-testing-setup/</loc>
      <lastmod>2015-08-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/compile-time-dependency-injection-tradeoffs-in-android/</loc>
      <lastmod>2015-08-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/more-devops-for-spring-boot/</loc>
      <lastmod>2015-07-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/fully-automated-android-build-pipeline/</loc>
      <lastmod>2015-07-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/improve-your-tests-with-mockitos-capture/</loc>
      <lastmod>2015-07-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-2015-european-conferences-tour/</loc>
      <lastmod>2015-05-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/quality-tools-humble-servants-or-tyrans/</loc>
      <lastmod>2015-05-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/connection-leaky-abstraction/</loc>
      <lastmod>2015-04-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/polyglot-everywhere/2/</loc>
      <lastmod>2015-04-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/polyglot-everywhere/1/</loc>
      <lastmod>2015-04-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/whats-the-version-of-my-deployed-application/</loc>
      <lastmod>2015-04-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/better-developer-to-developer-collaboration-with-bintray/</loc>
      <lastmod>2015-03-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/become-a-devops-with-spring-boot/</loc>
      <lastmod>2015-03-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/final-release-of-integration-testing-from-the-trenches/</loc>
      <lastmod>2015-03-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/work-company-not-lead-finance/</loc>
      <lastmod>2015-02-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/avoid-sequences-if-else/</loc>
      <lastmod>2015-02-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/show-blog-love/</loc>
      <lastmod>2015-02-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/developing-around-plantuml/</loc>
      <lastmod>2015-02-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/entropy-code/</loc>
      <lastmod>2015-01-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/improving-the-vaadin-4-spring-project-with-a-simpler-mvp/</loc>
      <lastmod>2015-01-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/je-suis-charlie/</loc>
      <lastmod>2015-01-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-profiles-or-maven-profiles/</loc>
      <lastmod>2015-01-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/optional-dependencies-in-spring/</loc>
      <lastmod>2014-12-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/avoid-conditional-logic-in-configuration/</loc>
      <lastmod>2014-12-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/from-vaadin-to-docker-a-novices-journey/</loc>
      <lastmod>2014-11-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/metrics-metrics-everywhere/</loc>
      <lastmod>2014-11-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dear-recruiters/</loc>
      <lastmod>2014-11-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/integration-testing-around-europe/</loc>
      <lastmod>2014-11-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-resources-scarcity-application-servers-and-micro-services/</loc>
      <lastmod>2014-10-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/you-shouldnt-follow-rules-blindly/</loc>
      <lastmod>2014-10-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/your-code-coverage-metric-is-not-meaningful/</loc>
      <lastmod>2014-10-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/throwing-a-nullpointerexception-or-not/</loc>
      <lastmod>2014-09-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/thank-you-mr-beck/</loc>
      <lastmod>2014-09-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/another-valid-openclosed-principle/</loc>
      <lastmod>2014-09-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-best-there-is-at-what-it-does/</loc>
      <lastmod>2014-09-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/using-exceptions-when-designing-an-api/</loc>
      <lastmod>2014-08-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/past-present-future/</loc>
      <lastmod>2014-08-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/sanitizing-webapp-outputs-as-an-an-afterthought/</loc>
      <lastmod>2014-08-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/session-fixation-and-how-to-fix-it/</loc>
      <lastmod>2014-08-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-configuration-modularization-for-integration-testing/</loc>
      <lastmod>2014-07-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/choosing-a-password-manager/</loc>
      <lastmod>2014-07-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/easier-spring-version-management/</loc>
      <lastmod>2014-07-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/first-release-of-integration-testing-from-the-trenches/</loc>
      <lastmod>2014-06-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/right-bean-at-the-right-place/</loc>
      <lastmod>2014-06-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/back-to-basics-encapsulating-collections/</loc>
      <lastmod>2014-06-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/a-single-simple-rule-for-easier-exception-hierarchy-design/</loc>
      <lastmod>2014-06-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-on-android-and-stuff-lessons-learned/</loc>
      <lastmod>2014-06-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-summary-of-jeeconf-2014/</loc>
      <lastmod>2014-05-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dead-simple-api-design-for-dice-rolling/</loc>
      <lastmod>2014-05-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/playing-with-constructors/</loc>
      <lastmod>2014-05-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-visitor-design-pattern/</loc>
      <lastmod>2014-04-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/introduction-to-mutation-testing/</loc>
      <lastmod>2014-04-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/can-we-put-an-end-to-this-estimate-game-of-fools/</loc>
      <lastmod>2014-04-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-recap-of-javaland/</loc>
      <lastmod>2014-03-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/vaadin-and-spring-integration-through-javaconfig/</loc>
      <lastmod>2014-03-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/teaser-for-cargo-culting-and-memes-in-javaland/</loc>
      <lastmod>2014-03-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/chaining-url-view-resolvers-in-spring-mvc/</loc>
      <lastmod>2014-02-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/reusing-front-end-components-in-web-applications/</loc>
      <lastmod>2014-02-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/doubly-geeky-stuff-angularjs-meets-marvel-comics/</loc>
      <lastmod>2014-02-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/extrinsic-vs-intrinsic-equality/</loc>
      <lastmod>2014-01-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/webjars-and-wro4j-integration/</loc>
      <lastmod>2014-01-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/guava-is-an-heavyweight-library-and-i-would-like-this-to-change/</loc>
      <lastmod>2014-01-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/solr-as-a-spring-data-module/</loc>
      <lastmod>2013-12-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spreading-some-javafx-love/</loc>
      <lastmod>2013-11-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/integrate-spring-javaconfig-with-legacy-configuration/</loc>
      <lastmod>2013-11-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-case-against-autowiring/</loc>
      <lastmod>2013-11-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-method-injection-with-java-configuration/</loc>
      <lastmod>2013-10-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/rich-domain-objects-and-spring-dependency-injection-are-compatible/</loc>
      <lastmod>2013-10-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/getcaller-hack/</loc>
      <lastmod>2013-10-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/a-dive-into-the-builder-pattern/</loc>
      <lastmod>2013-10-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-vaadin-7-is-out/</loc>
      <lastmod>2013-09-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/no-more-hibernate-really/</loc>
      <lastmod>2013-09-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/on-the-merits-of-verbosity-and-the-flaws-of-expressiveness/</loc>
      <lastmod>2013-09-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/happy-summer-holidays/</loc>
      <lastmod>2013-08-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-leprechauns-of-software-engineering/</loc>
      <lastmod>2013-07-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/stop-the-f-about-gradle/</loc>
      <lastmod>2013-07-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/you-should-check-angularjs/</loc>
      <lastmod>2013-07-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-between-different-environments/</loc>
      <lastmod>2013-07-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-3-2-sweetness/</loc>
      <lastmod>2013-06-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/writing-a-tech-book-why-and-how/</loc>
      <lastmod>2013-06-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/mongodb-course-thoughts-and-feedback/</loc>
      <lastmod>2013-06-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/there-is-no-such-thing-as-an-absolute-best-architecture/</loc>
      <lastmod>2013-06-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/modularity-in-spring-configuration/</loc>
      <lastmod>2013-06-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-next-gutenberg-moment-is-now/</loc>
      <lastmod>2013-05-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/deployit-deployment-automation-made-easy/</loc>
      <lastmod>2013-05-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/integration-tests-from-the-trenches/</loc>
      <lastmod>2013-04-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/design-by-contract-and-bean-validation/</loc>
      <lastmod>2013-04-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-middle-path-approach/</loc>
      <lastmod>2013-04-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/javascript-namespace-and-restricted-access/</loc>
      <lastmod>2013-04-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2013/3/</loc>
      <lastmod>2013-03-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2013/2/</loc>
      <lastmod>2013-03-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2013/1/</loc>
      <lastmod>2013-03-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/kiss-your-architecture/</loc>
      <lastmod>2013-03-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/consider-replacing-spring-xml-configuration-with-javaconfig/</loc>
      <lastmod>2013-03-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/solr-overview-from-a-beginners-point-of-view/</loc>
      <lastmod>2013-02-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-beans-overwriting-strategy/</loc>
      <lastmod>2013-02-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-case-for-spring-inner-beans/</loc>
      <lastmod>2013-02-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/changing-default-spring-bean-scope/</loc>
      <lastmod>2013-02-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dry-your-spring-beans-configuration-file/</loc>
      <lastmod>2013-01-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-power-of-naming/</loc>
      <lastmod>2013-01-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/pet-catalog-for-javaee-6-reengineered/</loc>
      <lastmod>2013-01-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/do-we-really-need-the-dao/</loc>
      <lastmod>2012-12-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/short-term-benefits-in-the-information-service-business/</loc>
      <lastmod>2012-12-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-cost-and-value-of-knowledge/</loc>
      <lastmod>2012-12-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/drupal-7-to-jekyll-an-epic-journey/</loc>
      <lastmod>2012-11-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-2012/5/</loc>
      <lastmod>2012-11-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-2012/4/</loc>
      <lastmod>2012-11-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-2012/3/</loc>
      <lastmod>2012-11-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-2012/2/</loc>
      <lastmod>2012-11-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-2012/1/</loc>
      <lastmod>2012-11-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scala-cheatsheet-part-1-collections/</loc>
      <lastmod>2012-11-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-view-on-courseras-scala-courses/</loc>
      <lastmod>2012-11-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-problem-lies-not-in-the-technology/</loc>
      <lastmod>2012-10-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/powermock-features-and-use-cases/</loc>
      <lastmod>2012-10-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/use-local-resources-when-validating-xml/</loc>
      <lastmod>2012-09-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-i-enrolled-in-an-online-scala-course/</loc>
      <lastmod>2012-09-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/web-services-jax-ws-vs-spring/</loc>
      <lastmod>2012-09-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lessons-learned-from-integrating-jbpm-4-with-spring/</loc>
      <lastmod>2012-09-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/xml-validation-with-importedincluded-schemas/</loc>
      <lastmod>2012-09-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/re-use-your-test-classes-across-different-projects/</loc>
      <lastmod>2012-08-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-data-spring-security-and-envers-integration/</loc>
      <lastmod>2012-08-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/method-injection-with-spring/</loc>
      <lastmod>2012-07-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/transaction-management-ejb3-vs-spring/</loc>
      <lastmod>2012-07-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/empower-your-css-in-your-maven-build/</loc>
      <lastmod>2012-07-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/easier-jpa-with-spring-data-jpa/</loc>
      <lastmod>2012-07-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/how-to-test-code-that-uses-envers/</loc>
      <lastmod>2012-06-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/vagrant-your-drupal/</loc>
      <lastmod>2012-06-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ways-of-comparing-date-objects-in-java/</loc>
      <lastmod>2012-06-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/database-unit-testing-with-dbunit-spring-and-testng/</loc>
      <lastmod>2012-06-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/arquillian-on-legacy-servers/</loc>
      <lastmod>2012-05-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ejb3-facade-over-spring-services/</loc>
      <lastmod>2012-05-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/quick-evaluation-of-twitter-bootstrap/</loc>
      <lastmod>2012-05-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/specification-by-example-review/</loc>
      <lastmod>2012-05-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-eclipse-wtp-doesnt-publish-libraries-when-using-m2e/</loc>
      <lastmod>2012-04-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/food-for-my-thoughts-after-a-week-at-conferences/</loc>
      <lastmod>2012-04-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2012/3/</loc>
      <lastmod>2012-04-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2012/2/</loc>
      <lastmod>2012-04-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jenkins-users-conference-paris/</loc>
      <lastmod>2012-04-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/devoxx-fr-2012/1/</loc>
      <lastmod>2012-04-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-profiles-or-not-profiles/</loc>
      <lastmod>2012-04-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dependency-injection-on-gui-components/</loc>
      <lastmod>2012-04-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/trying-griffon-and-loving-it/</loc>
      <lastmod>2012-04-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dangers-of-implicitness/</loc>
      <lastmod>2012-03-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/i-made-the-step-forward-into-virtualization/</loc>
      <lastmod>2012-03-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/html5-still-a-non-event/</loc>
      <lastmod>2012-03-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/a-spring-hard-fact-about-transaction-management/</loc>
      <lastmod>2012-03-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/osgi-in-action/</loc>
      <lastmod>2012-02-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/trust-stores-and-java-versions/</loc>
      <lastmod>2012-02-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/announcing-more-vaadin/</loc>
      <lastmod>2012-02-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cdi-worse-than-spring-for-autowiring/</loc>
      <lastmod>2012-02-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/adapters-in-jaxb/</loc>
      <lastmod>2012-01-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/shoud-you-change-your-design-for-testing-purposes/</loc>
      <lastmod>2012-01-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/strategies-to-improve-your-knowledge/</loc>
      <lastmod>2012-01-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/properly-closing-swing-windows/</loc>
      <lastmod>2012-01-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-unmanaged-beans-in-cdi/</loc>
      <lastmod>2012-01-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-scala-complexity-and-aardvarks/</loc>
      <lastmod>2011-12-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-vaadin-contest-winners/</loc>
      <lastmod>2011-11-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/win-free-copies-of-learning-vaadin-book/</loc>
      <lastmod>2011-11-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apache-maven-3-cookbook/</loc>
      <lastmod>2011-11-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/configuring-maven-to-use-slf4j/</loc>
      <lastmod>2011-11-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-vaadin-is-out/</loc>
      <lastmod>2011-10-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/simplest-push/</loc>
      <lastmod>2011-10-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-doesnt-suck-your-pom-does/</loc>
      <lastmod>2011-10-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/free-ebook-apache-maven-3-cookbook/</loc>
      <lastmod>2011-10-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/testng-fest-et-cdi/</loc>
      <lastmod>2011-10-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/migrating-from-m2eclipse-to-m2e/</loc>
      <lastmod>2011-09-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/better-maven-integration-leads-to-unforeseen-consequences-bugs/</loc>
      <lastmod>2011-09-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/skinny-war-done-right/</loc>
      <lastmod>2011-09-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/enough-spam/</loc>
      <lastmod>2011-08-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/do-we-need-other-languages-on-the-jvm/</loc>
      <lastmod>2011-07-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/property-editors/</loc>
      <lastmod>2011-07-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/give-back-to-the-community-please/</loc>
      <lastmod>2011-07-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ssl-your-tomcat-7/</loc>
      <lastmod>2011-07-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/get-the-handle-on-the-manifest-mf-in-a-webapp/</loc>
      <lastmod>2011-06-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-repositories-in-anger/</loc>
      <lastmod>2011-06-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/7/</loc>
      <lastmod>2011-06-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/new-declarative-security-features-in-servlet-3-0/</loc>
      <lastmod>2011-05-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/vaadin-courses-on-javablackbelt/</loc>
      <lastmod>2011-05-16</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/new-filter-api-in-vaadin-6-6/</loc>
      <lastmod>2011-05-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/first-try-with-cloudfoundry/</loc>
      <lastmod>2011-04-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/100-code-coverage/</loc>
      <lastmod>2011-04-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cons-of-custom-assertion-matchers/</loc>
      <lastmod>2011-04-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-twitter-integration/</loc>
      <lastmod>2011-03-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/learning-vaadin/</loc>
      <lastmod>2011-03-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/identity-federation-and-openid/</loc>
      <lastmod>2011-03-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cost-of-correcting-rule-breaks/</loc>
      <lastmod>2011-03-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dropbox-and-other-backup-products-overview/</loc>
      <lastmod>2011-02-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/both-sides-of-the-story/</loc>
      <lastmod>2011-02-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/symbolic-links-for-windows/</loc>
      <lastmod>2011-02-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/second-try-with-vaadin-and-scala/</loc>
      <lastmod>2011-01-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/mixing-vaadin-and-scala/</loc>
      <lastmod>2011-01-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/playing-with-spring-roo-and-vaadin/</loc>
      <lastmod>2011-01-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hades-your-next-persistence-angel/</loc>
      <lastmod>2011-01-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/tread-carefully-with-entities-equality/</loc>
      <lastmod>2011-01-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/critical-analysis-of-frameworks-comparison/</loc>
      <lastmod>2010-12-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/stay-up-to-date-and-think-in-contexts/</loc>
      <lastmod>2010-11-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/why-cdi-wont-replace-spring/</loc>
      <lastmod>2010-11-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/a-java-language-quirk/</loc>
      <lastmod>2010-11-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-opensessioninview-antipattern/</loc>
      <lastmod>2010-11-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/server-client-push-with-vaadin/</loc>
      <lastmod>2010-10-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/softshake-2010/</loc>
      <lastmod>2010-10-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-first-scala-servlet/</loc>
      <lastmod>2010-10-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/6/</loc>
      <lastmod>2010-10-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-hunt-for-architectural-solutions/</loc>
      <lastmod>2010-09-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automate-your-integration-tests/</loc>
      <lastmod>2010-09-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/automated-beans-conversion/</loc>
      <lastmod>2010-09-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/unselect-all-toggle-buttons-of-a-group/</loc>
      <lastmod>2010-08-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-pom-versions/</loc>
      <lastmod>2010-07-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/further-into-cdi/</loc>
      <lastmod>2010-07-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/safely-give-away-your-demo-applications/</loc>
      <lastmod>2010-07-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/flamingo-tutorial/</loc>
      <lastmod>2010-06-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/next-book-review-spring-security-3/</loc>
      <lastmod>2010-06-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lessons-learned-from-cdi-in-swing/</loc>
      <lastmod>2010-06-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/tomcat-6-developers-guide/</loc>
      <lastmod>2010-06-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cdi-an-overview/2/</loc>
      <lastmod>2010-05-31</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/cdi-an-overview/1/</loc>
      <lastmod>2010-05-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/decrease-your-pages-load-time-2/</loc>
      <lastmod>2010-05-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-power-of-proxies-in-java/</loc>
      <lastmod>2010-05-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/chicken-and-egg-problem-with-spring-and-vaadin/</loc>
      <lastmod>2010-05-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/frankel-ch-goes-mobile/</loc>
      <lastmod>2010-04-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dry-and-skinny-war/</loc>
      <lastmod>2010-04-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/gmail-html-signature/</loc>
      <lastmod>2010-04-18</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/debugging-hibernate-generated-sql/</loc>
      <lastmod>2010-04-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/vaadin-spring-integration/</loc>
      <lastmod>2010-04-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/let-others-work-for-you-with-selenium/</loc>
      <lastmod>2010-03-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/bean-validation-and-jsr-303/</loc>
      <lastmod>2010-03-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/managing-web-sessions/</loc>
      <lastmod>2010-03-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-persistence-with-hibernate/</loc>
      <lastmod>2010-03-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/5/</loc>
      <lastmod>2010-03-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/clustering-tomcat/</loc>
      <lastmod>2010-02-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/free-online-svn-repositories/</loc>
      <lastmod>2010-02-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/4/</loc>
      <lastmod>2010-02-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/seamless-installation-convention-over-configuration/</loc>
      <lastmod>2010-02-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/securing-middleware-products/</loc>
      <lastmod>2010-02-09</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/maven-the-complete-reference/</loc>
      <lastmod>2010-02-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/context-root-tweaking/</loc>
      <lastmod>2010-02-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/typology-of-rich-client-technologies/</loc>
      <lastmod>2010-01-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/my-first-try-at-flex/</loc>
      <lastmod>2010-01-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/discover-spring-authoring/</loc>
      <lastmod>2009-12-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/html-ui-over-a-rest-backend/</loc>
      <lastmod>2009-12-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/3/</loc>
      <lastmod>2009-12-13</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lombok-reduces-your-boilerplate-code/</loc>
      <lastmod>2009-12-06</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/apache-maven-2-effective-implementations/</loc>
      <lastmod>2009-12-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/thoughts-on-java-logging-and-slf4j/</loc>
      <lastmod>2009-11-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/packt-book-reviews/</loc>
      <lastmod>2009-11-05</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/simple-templating-solution-with-sitemesh/</loc>
      <lastmod>2009-10-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/spring-can-inject-servlets-too/</loc>
      <lastmod>2009-09-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/tomcats-valve-an-alternative-to-filter/</loc>
      <lastmod>2009-09-11</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/shark-shark-in-the-it-business/</loc>
      <lastmod>2009-08-12</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/top-eclipse-plugins-i-wouldnt-go-without/</loc>
      <lastmod>2009-08-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/development-infrastructure-a-personal-experience/</loc>
      <lastmod>2009-08-02</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/patterns-book-trinity/</loc>
      <lastmod>2009-07-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/2/</loc>
      <lastmod>2009-06-27</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/customize-your-jaxb-bindings/</loc>
      <lastmod>2009-06-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ego-driven-architecture/</loc>
      <lastmod>2009-06-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/hibernate-hard-facts/1/</loc>
      <lastmod>2009-06-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jmx-use-cases/</loc>
      <lastmod>2009-06-07</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/dto-in-anger/</loc>
      <lastmod>2009-05-30</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/web-start-your-legacy-applications/</loc>
      <lastmod>2009-05-24</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/jna-meets-jni/</loc>
      <lastmod>2009-05-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/theme-change/</loc>
      <lastmod>2009-05-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/mockito-spy-method-and-spring/</loc>
      <lastmod>2009-05-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/two-different-mocking-approaches/</loc>
      <lastmod>2009-04-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/google-appengine-limitations/</loc>
      <lastmod>2009-04-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/free-java-hosting/</loc>
      <lastmod>2009-04-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/custom-loginmodule-in-tomcat/</loc>
      <lastmod>2009-04-03</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/do-not-use-taglibs-use-tagfiles/</loc>
      <lastmod>2009-03-22</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/simplest-java-decoupling-without-3rd-party-frameworks/</loc>
      <lastmod>2009-03-20</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/decrease-your-pages-load-time/</loc>
      <lastmod>2009-03-17</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/framework-agnostic-jpa/</loc>
      <lastmod>2009-03-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/wordpress-271-upgrade/</loc>
      <lastmod>2009-03-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/against-french-hadopi/</loc>
      <lastmod>2009-03-04</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/easy-offline-javadoc/</loc>
      <lastmod>2009-02-28</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ubuntu-pocket-guide-for-free/</loc>
      <lastmod>2009-02-19</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/age-of-spring/</loc>
      <lastmod>2009-01-14</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/manage-the-quality-of-your-projects-with-sonar/</loc>
      <lastmod>2009-01-10</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/gracefully-stop-your-batches/</loc>
      <lastmod>2008-12-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/java-the-power-of-reflection/</loc>
      <lastmod>2008-08-15</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ganymede-is-out/</loc>
      <lastmod>2008-06-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/html-5-a-non-event/</loc>
      <lastmod>2008-06-21</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/speeding-up-your-dbunit-tests-with-javadb/</loc>
      <lastmod>2008-06-08</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/the-unit-test-war-junit-vs-testng/</loc>
      <lastmod>2008-06-01</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/firefox-3-dowload-day/</loc>
      <lastmod>2008-05-29</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/ooops-i-dit-it-again/</loc>
      <lastmod>2008-05-26</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/lm/</loc>
      <lastmod>2008-05-25</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/displaytag/</loc>
      <lastmod>2008-05-23</lastmod>
    </url>
  
    <url>
      <loc>https://blog.frankel.ch/scjp/</loc>
      <lastmod>2008-04-07</lastmod>
    </url>
  
  
    
      
        
          <url>
            <loc>https://blog.frankel.ch/books/integration-testing-trenches/</loc>
            <lastmod>2026-04-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/books/learning-vaadin-7/</loc>
            <lastmod>2026-04-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/books/learning-vaadin/</loc>
            <lastmod>2026-04-01</lastmod>
          </url>
        
      
    
  
    
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/exercises-programming-style/</loc>
            <lastmod>2019-09-22</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/going-the-microservices-way/</loc>
            <lastmod>2015-10-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/hibernate-hard-facts/</loc>
            <lastmod>2011-06-05</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/home-assistant/</loc>
            <lastmod>2025-07-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/jvm-security/</loc>
            <lastmod>2018-12-02</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/learning-clojure/</loc>
            <lastmod>2019-01-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/migrating-functional/</loc>
            <lastmod>2019-04-21</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/scala-vs-kotlin/</loc>
            <lastmod>2017-07-09</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/start-rust/</loc>
            <lastmod>2022-02-06</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/starting-ethereum/</loc>
            <lastmod>2018-02-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/state-jvm-desktop-frameworks/</loc>
            <lastmod>2021-02-14</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/focus/stream-processing/</loc>
            <lastmod>2020-02-23</lastmod>
          </url>
        
      
    
  
    
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/1/</loc>
            <lastmod>2023-10-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/2/</loc>
            <lastmod>2023-10-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/3/</loc>
            <lastmod>2023-10-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/4/</loc>
            <lastmod>2023-11-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/5/</loc>
            <lastmod>2023-11-08</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/6/</loc>
            <lastmod>2023-11-15</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/7/</loc>
            <lastmod>2023-11-22</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/8/</loc>
            <lastmod>2023-11-29</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/9/</loc>
            <lastmod>2023-12-06</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/10/</loc>
            <lastmod>2023-12-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/11/</loc>
            <lastmod>2023-12-20</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/12/</loc>
            <lastmod>2023-12-27</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/13/</loc>
            <lastmod>2024-01-03</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/14/</loc>
            <lastmod>2024-01-10</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/15/</loc>
            <lastmod>2024-01-17</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/16/</loc>
            <lastmod>2024-01-24</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/17/</loc>
            <lastmod>2024-01-31</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/18/</loc>
            <lastmod>2024-02-07</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/19/</loc>
            <lastmod>2024-02-14</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/20/</loc>
            <lastmod>2024-02-21</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/21/</loc>
            <lastmod>2024-02-28</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/22/</loc>
            <lastmod>2024-03-06</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/23/</loc>
            <lastmod>2024-03-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/24/</loc>
            <lastmod>2024-03-20</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/25/</loc>
            <lastmod>2024-03-27</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/26/</loc>
            <lastmod>2024-04-03</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/27/</loc>
            <lastmod>2024-04-10</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/28/</loc>
            <lastmod>2024-04-17</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/29/</loc>
            <lastmod>2024-04-24</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/30/</loc>
            <lastmod>2024-05-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/31/</loc>
            <lastmod>2024-05-08</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/32/</loc>
            <lastmod>2024-05-15</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/33/</loc>
            <lastmod>2024-05-22</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/34/</loc>
            <lastmod>2024-05-29</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/35/</loc>
            <lastmod>2024-06-05</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/36/</loc>
            <lastmod>2024-06-12</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/37/</loc>
            <lastmod>2024-06-19</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/38/</loc>
            <lastmod>2024-06-26</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/39/</loc>
            <lastmod>2024-07-03</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/40/</loc>
            <lastmod>2024-07-10</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/41/</loc>
            <lastmod>2024-07-17</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/42/</loc>
            <lastmod>2024-07-24</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/43/</loc>
            <lastmod>2024-07-31</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/44/</loc>
            <lastmod>2024-08-07</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/45/</loc>
            <lastmod>2024-08-14</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/46/</loc>
            <lastmod>2024-08-21</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/47/</loc>
            <lastmod>2024-08-28</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/48/</loc>
            <lastmod>2024-09-04</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/49/</loc>
            <lastmod>2024-09-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/50/</loc>
            <lastmod>2024-09-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/51/</loc>
            <lastmod>2024-09-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/52/</loc>
            <lastmod>2024-10-02</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/53/</loc>
            <lastmod>2024-10-09</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/54/</loc>
            <lastmod>2024-10-16</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/55/</loc>
            <lastmod>2024-10-23</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/56/</loc>
            <lastmod>2024-10-30</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/57/</loc>
            <lastmod>2024-11-06</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/58/</loc>
            <lastmod>2024-11-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/59/</loc>
            <lastmod>2024-11-20</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/60/</loc>
            <lastmod>2024-11-27</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/61/</loc>
            <lastmod>2024-12-04</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/62/</loc>
            <lastmod>2024-12-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/63/</loc>
            <lastmod>2024-12-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/64/</loc>
            <lastmod>2024-12-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/65/</loc>
            <lastmod>2025-01-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/66/</loc>
            <lastmod>2025-01-08</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/67/</loc>
            <lastmod>2025-01-15</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/68/</loc>
            <lastmod>2025-01-22</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/69/</loc>
            <lastmod>2025-01-29</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/70/</loc>
            <lastmod>2025-02-05</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/71/</loc>
            <lastmod>2025-02-12</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/72/</loc>
            <lastmod>2025-02-19</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/73/</loc>
            <lastmod>2025-02-26</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/74/</loc>
            <lastmod>2025-03-05</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/75/</loc>
            <lastmod>2025-03-12</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/76/</loc>
            <lastmod>2025-03-19</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/77/</loc>
            <lastmod>2025-03-26</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/78/</loc>
            <lastmod>2025-04-02</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/79/</loc>
            <lastmod>2025-04-09</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/80/</loc>
            <lastmod>2025-04-16</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/81/</loc>
            <lastmod>2025-04-23</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/82/</loc>
            <lastmod>2025-04-30</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/83/</loc>
            <lastmod>2025-05-07</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/84/</loc>
            <lastmod>2025-05-14</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/85/</loc>
            <lastmod>2025-05-21</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/86/</loc>
            <lastmod>2025-05-28</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/87/</loc>
            <lastmod>2025-06-04</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/88/</loc>
            <lastmod>2025-06-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/89/</loc>
            <lastmod>2025-06-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/90/</loc>
            <lastmod>2025-06-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/91/</loc>
            <lastmod>2025-07-02</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/92/</loc>
            <lastmod>2025-07-09</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/93/</loc>
            <lastmod>2025-07-16</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/94/</loc>
            <lastmod>2025-07-23</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/95/</loc>
            <lastmod>2025-07-30</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/96/</loc>
            <lastmod>2025-08-06</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/97/</loc>
            <lastmod>2025-08-13</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/98/</loc>
            <lastmod>2025-08-20</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/99/</loc>
            <lastmod>2025-08-27</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/100/</loc>
            <lastmod>2025-09-03</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/101/</loc>
            <lastmod>2025-09-10</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/102/</loc>
            <lastmod>2025-09-17</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/103/</loc>
            <lastmod>2025-09-24</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/104/</loc>
            <lastmod>2025-10-01</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/105/</loc>
            <lastmod>2025-10-08</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/106/</loc>
            <lastmod>2025-10-15</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/107/</loc>
            <lastmod>2025-10-22</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/108/</loc>
            <lastmod>2025-10-29</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/109/</loc>
            <lastmod>2025-11-05</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/110/</loc>
            <lastmod>2025-11-12</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/111/</loc>
            <lastmod>2025-11-19</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/112/</loc>
            <lastmod>2025-11-26</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/113/</loc>
            <lastmod>2025-12-03</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/114/</loc>
            <lastmod>2025-12-10</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/115/</loc>
            <lastmod>2025-12-17</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/116/</loc>
            <lastmod>2025-12-24</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/117/</loc>
            <lastmod>2025-12-31</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/118/</loc>
            <lastmod>2026-01-07</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/119/</loc>
            <lastmod>2026-01-14</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/120/</loc>
            <lastmod>2026-01-21</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/121/</loc>
            <lastmod>2026-01-28</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/122/</loc>
            <lastmod>2026-02-04</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/123/</loc>
            <lastmod>2026-02-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/124/</loc>
            <lastmod>2026-02-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/125/</loc>
            <lastmod>2026-02-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/126/</loc>
            <lastmod>2026-03-04</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/127/</loc>
            <lastmod>2026-03-11</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/128/</loc>
            <lastmod>2026-03-18</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/129/</loc>
            <lastmod>2026-03-25</lastmod>
          </url>
        
      
        
          <url>
            <loc>https://blog.frankel.ch/java-geek-weekly/130/</loc>
            <lastmod>2026-04-01</lastmod>
          </url>
        
      
    
  
    
  
</urlset>
