<!DOCTYPE html>
<html lang="en"><head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta property="twitter:site" content="@hendrikEbbers" /><meta property="og:image" content="https://guigarage.com/assets/featuredImages/default.png" /><!-- Begin Jekyll SEO tag v2.8.0 -->
<title>GuiGarage | The GuiGarage blog</title>
<meta name="generator" content="Jekyll v3.9.3" />
<meta property="og:title" content="GuiGarage" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="The GuiGarage blog" />
<meta property="og:description" content="The GuiGarage blog" />
<link rel="canonical" href="https://guigarage.com/" />
<meta property="og:url" content="https://guigarage.com/" />
<meta property="og:site_name" content="GuiGarage" />
<meta property="og:type" content="website" />
<link rel="next" href="https://guigarage.com/page2/" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="GuiGarage" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","description":"The GuiGarage blog","headline":"GuiGarage","name":"GuiGarage","url":"https://guigarage.com/"}</script>
<!-- End Jekyll SEO tag -->
<link rel="stylesheet" href="/assets/css/styles.css">
  <link rel="manifest" href="/manifest.json"><link type="application/atom+xml" rel="alternate" href="https://guigarage.com/feed.xml" title="GuiGarage" /><!--<script data-ad-client="ca-pub-4518225764272465" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>-->



<!-- Matomo -->
<script>
  console.log("Guigarage is in prod mode. matomo will be active");
  var _paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://guigarage.matomo.cloud/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src='//cdn.matomo.cloud/guigarage.matomo.cloud/matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img src="https://guigarage.matomo.cloud/matomo.php?idsite=1&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->

<!-- CSS for cookie banner https://www.osano.com/cookieconsent/download/ -->
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css" />
</head>
<body><nav class="navbar" aria-label="main navigation">
  <div class="container">
    <div class="navbar-brand">
      <a class="navbar-item page-title" href="/">GuiGarage</a>
      <a role="button" class="navbar-burger" data-target="main-menu" aria-label="menu" aria-expanded="false">
        <span aria-hidden="true"></span>
        <span aria-hidden="true"></span>
        <span aria-hidden="true"></span>
      </a>
    </div>
    <div class="navbar-menu" id="main-menu">
      <div class="navbar-start">
        
          <a class="navbar-item is-active" href="/">Home</a>
        
      
        
        
                  <a class="navbar-item" href="/about/">About</a>
                </div>
      <div class="navbar-end">
        <div class="navbar-item">
          <span class="icon is-medium"><a class="navbar-item" title="GitHub" href="https://github.com/guigarage/guigarage.github.io"><i class="fab fa-lg fa-github"></i></a></span>
          <span class="icon is-medium"><a class="navbar-item" title="Twitter" href="https://twitter.com/hendrikEbbers"><i class="fab fa-lg fa-twitter"></i></a></span>
          <span class="icon is-medium"><a class="navbar-item" title="Newsletter" href="/pages/newsletter"><i class="fas fa-lg fa-paper-plane"></i></a></span>
          <span class="icon is-medium"><a class="navbar-item" title="Become a Patreon" href="https://www.patreon.com/guigarage"><i class="fab fa-lg fa-patreon"></i></a></span>
          <span class="icon is-medium"><a class="navbar-item" title="YouTube" href="https://www.youtube.com/playlist?list=PL9r_sTu6nhXSFYknILieFl2YbFBrJIWRW"><i class="fab fa-lg fa-youtube"></i></a></span>
        </div>
      </div>
    </div>
  </div>
</nav>
<script>
  document.addEventListener('DOMContentLoaded', function () {

    // Get all "navbar-burger" elements
    var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
    
    // Check if there are any navbar burgers
    if ($navbarBurgers.length > 0) {
    
      // Add a click event on each of them
      $navbarBurgers.forEach(function ($el) {
        $el.addEventListener('click', function () {
    
          // Get the target from the "data-target" attribute
          var target = $el.dataset.target;
          var $target = document.getElementById(target);
    
          // Toggle the class on both the "navbar-burger" and the "navbar-menu"
          $el.classList.toggle('is-active');
          $target.classList.toggle('is-active');
    
        });
      });
    }
  });
</script>
      <div class="page-image" style="background-image: url('/assets/pageHeaders/sample.png')">
  <div class="header-image-overlay">
    <div class="section">
      <div class="container">
        <div class="header-text-wrapper">
          <div class="header-text">
            Welcome to the Guigarage
          </div>
        </div>>
      </div>
    </div>
  </div>
</div>
<!--
<div class="section highlight-section is-hidden-mobile">
  <div class="columns is-variable is-2">
      <div class="column is-one-quarter">
        <a href="
          /2020/02/21/adopt-tests.html
        ">
    <div class="highlight-container">
        <img class="highlight-image" src="/assets/highlightImages/adopt.png">
        <div class="highlight-overlay">How AdoptOpenJDK tests JVMs</div>
    </div>
</a>
</div>
      <div class="column is-one-quarter">
        <a href="
          /javafx-training-tutorials/
        ">
    <div class="highlight-container">
        <img class="highlight-image" src="/assets/highlightImages/highlight-4.png">
        <div class="highlight-overlay">Leraning JavaFX</div>
    </div>
</a>
</div>
      <div class="column is-one-quarter"><a href="">
    <div class="highlight-container">
        <img class="highlight-image" src="/assets/highlightImages/highlight-8.png">
        <div class="highlight-overlay">TypeScript VS Java</div>
    </div>
</a>
</div>
      <div class="column is-one-quarter"><a href="">
    <div class="highlight-container">
        <img class="highlight-image" src="/assets/highlightImages/highlight-12.png">
        <div class="highlight-overlay">JavaFX support in different JDKs</div>
    </div>
</a>
</div>
  </div>
</div>
-->
<div class="section">
  <div class="container">
    <div class="post-list-section">
      <div class="columns is-variable is-2">
        <div class="column is-three-quarters"><article>
  <div class="image-text-holder">
    <a href="/2020/07/14/adopt-roadshow.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/duke-mask.png"></a>
    <a class="excerpt-link" href="/2020/07/14/adopt-roadshow.html">
      <div class="excerpt-content">
        <div class="post-date">July 14, 2020</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2020/07/14/adopt-roadshow.html">AdoptOpenJDK Virtual Roadshow</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2020/07/14/adopt-roadshow.html">AdoptOpenJDK is doing a virtual roadshow of the Java User Groups. We plan to reach as many groups as possible but we will also live stream the event on YouTube.</a></div>
      </div>
    </a>
  </div>
</article><article>
  <div class="image-text-holder">
    <a href="/2020/03/13/cyberland_en.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/cyberland-2.png"></a>
    <a class="excerpt-link" href="/2020/03/13/cyberland_en.html">
      <div class="excerpt-content">
        <div class="post-date">March 13, 2020</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2020/03/13/cyberland_en.html">About Cyberland</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2020/03/13/cyberland_en.html">Based on the given circumstances (COVID-19) the JavaLand conferences has been canceled. This was the only solution that made sense for the organizers. We can understand that a lot of visitors and speakers are sad about this news. Based on this the German JUG community is organzing a 100% remote conference called Cyberland</a></div>
      </div>
    </a>
  </div>
</article><article>
  <div class="image-text-holder">
    <a href="/2020/03/12/cyberland.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/duke-love.png"></a>
    <a class="excerpt-link" href="/2020/03/12/cyberland.html">
      <div class="excerpt-content">
        <div class="post-date">March 12, 2020</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2020/03/12/cyberland.html">About Cyberland [German]</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2020/03/12/cyberland.html">Based on the given circumstances (COVID-19) the JavaLand conferences has been canceled. This was the only solution that made sense for the organizers. We can understand that a lot of visitors and speakers are sad about this news. Based on this the German JUG community is organzing a 100% remote conference called Cyberland</a></div>
      </div>
    </a>
  </div>
</article><article>
  <div class="image-text-holder">
    <a href="/2020/02/21/adopt-tests.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/adopt-2.png"></a>
    <a class="excerpt-link" href="/2020/02/21/adopt-tests.html">
      <div class="excerpt-content">
        <div class="post-date">February 21, 2020</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2020/02/21/adopt-tests.html">How AdoptOpenJDK provides enterprise ready OpenJDK builds</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2020/02/21/adopt-tests.html">With the new licence of the Oracle JDK a lot of companies need to switch to a new JDK vendor. With AdoptOpenJDK we have a community based alternative that provides free LTS JDK builds. In this post I will have a deeper look at the infrastructure of the AdoptOpenJDK and how each build is tested to offer production ready quality.</a></div>
      </div>
    </a>
  </div>
</article><article>
  <div class="image-text-holder">
    <a href="/2020/02/15/back-to-the-future.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/back-to-java.png"></a>
    <a class="excerpt-link" href="/2020/02/15/back-to-the-future.html">
      <div class="excerpt-content">
        <div class="post-date">February 15, 2020</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2020/02/15/back-to-the-future.html">Back to the future - with Java</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2020/02/15/back-to-the-future.html">Each year several Java applications might show wrong date information for the days around New Year's Eve. This post gives an overview about the problem and describes how you can easily avoid such bugs</a></div>
      </div>
    </a>
  </div>
</article><article>
  <div class="image-text-holder">
    <a href="/2019/12/10/webstart-advent.html"><img class="featured-image" alt="featured image" src="/assets/featuredImages/webstart.png"></a>
    <a class="excerpt-link" href="/2019/12/10/webstart-advent.html">
      <div class="excerpt-content">
        <div class="post-date">December 10, 2019</div>
        <h3 class="has-text-primary excerpt-content-title"><a href="/2019/12/10/webstart-advent.html">How open source saved WebStart</a></h3>
        <div class="excerpt-content-description"><a class="post-excerpt-text" href="/2019/12/10/webstart-advent.html">Everyone who has developed Java desktop applications within the last 15 years used WebStart or at least heard about it. This post gives an overview how the technology evolves as an open source project after Oracle announced its removal from the Oracle JDK.</a></div>
      </div>
    </a>
  </div>
</article>

  
  

  

  

  

  <div class="pagination-wrapper">
    <div class="pagination">
      
        <span class="pagination-arrow pagination-step">
          <span class="icon">
            <i class="fas fa-angle-left"></i>
          </span>
        </span>
      

      

      
        
          <span class="active">1</span>
        
      
        
          <a href="/page2/">2</a>
        
      
        
          <a href="/page3/">3</a>
        
      
        
          <a href="/page4/">4</a>
        
      
        
          <a href="/page5/">5</a>
        
      

      
        <span class="pagination-more">&middot;&middot;&middot;</span>
        <a class="pagination-last" href="/page27/">27</a>
      

      
        <a rel="next" class="pagination-step pagination-arrow" href="/page2/">
          <span class="icon">
            <i class="fas fa-angle-right"></i>
          </span>
        </a>
      
    </div>
  </div>
</div>
        <div class="column is-hidden-mobile"><div class="columns sidebar"><div class="column is-full">
    <div class="newsletter-box">
        <span class="newsletter-header">Subscribe to my newsletter</span>
        <div id="mc_embed_signup" class="newsletter-content">
            <form action="https://guigarage.us4.list-manage.com/subscribe/post?u=7eb4cd61ed09b0d527f015e21&amp;id=6c968c32d2" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" novalidate>
                <div class="field">
                    <div class="control has-icons-left">
                        <input type="email" value="" name="EMAIL" placeholder="Email address" class="input required email" id="mce-EMAIL">
                        <span class="icon is-small is-left">
                            <i class="fas fa-envelope"></i>
                        </span>
                        </div>
                </div>
                <div class="field">
                    <div class="control small-control">
                        <label class="checkbox">
                            <input type="checkbox" id="gdpr_47908" name="gdpr[47908]" value="Y" class="checkbox av-checkbox">
                            Yes, I would like to receive the Guigarage newsletter by email
                        </label>
                        <p id="email-required-field" class="help is-info">Required field</p>
                    </div>
                </div>
                <div class="field is-grouped is-grouped-right button-field" >
                    <div class="control">
                        <input disabled type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button is-primary is-outlined">
                    </div>
                </div>
                <script>
                    var checkbox = document.getElementById('gdpr_47908');
                    var button = document.getElementById('mc-embedded-subscribe');
                    var mailRequiredField = document.getElementById('email-required-field');
                    checkbox.addEventListener('change', function() {
                        if(checkbox.checked) {
                            button.removeAttribute('disabled');
                            mailRequiredField.style.visibility = 'hidden';
                        } else {
                            button.setAttribute('disabled', 'true');
                            mailRequiredField.style.visibility = 'visible';
                        }
                    });
                </script>
            </form>
        </div>
    </div>
</div></div>
<div class="columns is-gapless">
    <div class="column is-full">
        <a href="/javafx-book/"><img alt="Mastering JavaFX 8 book" src="/assets/general/menu-book.png"></a>
    </div>
</div>
<div class="columns is-gapless">
    <div class="column is-full">
        <a href="/2015/10/javafx-8-refcard/"><img alt="JavaFX 8 RefCard" src="/assets/general/refcard-menu.png"></a>
    </div>
</div>
<div class="columns is-gapless">
    <div class="column is-half">
        <a href="/about/"><img alt="Java Champion" src="/assets/general/jc-duke.png"></a>
    </div>
    <div class="column">
        <a href="/about/"><img alt="JavaOne RockStar" src="/assets/general/rockstar-duke.png"></a>
    </div>
</div></div>
      </div>
    </div>
  </div>
</div>
  <footer class="footer has-background-dark has-text-white">
    <div class="section">
        <div class="container">
            <div class="footer-text-wrapper">
                <span class="footer-text">© 2023 <a href="/about/">Hendrik Ebbers</a> | <a href="/pages/newsletter">Newsletter</a> | <a href="/pages/privacy">Privacy</a> | <a href="/pages/impressum">Imprint</a> | <a href="/pages/disclaimer">Disclaimer</a> | <a href="https://www.patreon.com/guigarage">Support me</a></span>
            </div>
        </div>
    </div>
</footer><script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js" data-cfasync="false"></script>
<script>
    window.cookieconsent.initialise({
        "palette": {
            "popup": {
                "background": "#252e39"
            },
            "button": {
                "background": "#14a7d0"
            }
        }
    });
</script></body>
</html>
