<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>sothawo</title>
		<link>https://www.sothawo.com/</link>
		<description>Recent content on sothawo</description>
		<generator>Hugo</generator>
		<language>en-gb</language>
		
		
		
		
			<lastBuildDate>Sun, 26 Jul 2026 11:41:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.sothawo.com/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Checkout a pull request to the local machine</title>
				<link>https://www.sothawo.com/post/2025/08/03/checkout-a-pull-request-to-the-local-machine/</link>
				<pubDate>Sun, 03 Aug 2025 13:25:36 +0000</pubDate>
				<guid>https://www.sothawo.com/post/2025/08/03/checkout-a-pull-request-to-the-local-machine/</guid>
				<description>&lt;p&gt;&lt;em&gt;Note to self:&lt;/em&gt; In order to check out a pull request from either Codeberg or GitHub to the local machine, first get the number (&lt;code&gt;ID&lt;/code&gt;) of the PR (look it up in the Web UI) and then create a branch and check it out (&lt;code&gt;BRANCHNAME&lt;/code&gt;):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git fetch origin pull/$ID/head:$BRANCHNAME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ git checkout $BRANCHNAME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;update-26072026&#34;&gt;Update 26.07.2026&lt;/h2&gt;&#xA;&lt;p&gt;Another solution which allows to fetch updated PRs:&lt;/p&gt;&#xA;&lt;p&gt;Add the following to the &lt;code&gt;.git/config&lt;/code&gt; file in the checked out repository (the last line is new):&lt;/p&gt;</description>
			</item>
			<item>
				<title>Use Elasticsearch SQL with Spring Data Elasticsearch</title>
				<link>https://www.sothawo.com/post/2023/11/14/use-elasticsearch-sql-with-spring-data-elasticsearch/</link>
				<pubDate>Tue, 14 Nov 2023 20:57:36 +0100</pubDate>
				<guid>https://www.sothawo.com/post/2023/11/14/use-elasticsearch-sql-with-spring-data-elasticsearch/</guid>
				<description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;In Spring Data Elasticsearch recently a issue was raised to include to possibility to&#xA;use &#xA;&#xA;&lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/8.10/xpack-sql.html&#34; title=&#34;Documentation for Elasticsearch SQL&#34; target=&#34;_blank&#34;&gt;Elasticsearch SQL&lt;/a&gt;&#xA;.&#xA;While it is easy with Spring Data Elasticsearch 5.1 to use this directly from within an application, the integration&#xA;into Spring Data Elasticsearch is more complicated, as the returned values (column definitions and rows) cannot easily&#xA;and automatically be mapped on to the entities that Spring Data works with, and the response might not only contain&#xA;column definition, row values, but cursor information as well.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Use two different Elasticsearch clusters with Spring Data Elasticsearch</title>
				<link>https://www.sothawo.com/post/2023/10/18/use-two-different-elasticsearch-clusters-with-spring-data-elasticsearch/</link>
				<pubDate>Wed, 18 Oct 2023 21:12:14 +0200</pubDate>
				<guid>https://www.sothawo.com/post/2023/10/18/use-two-different-elasticsearch-clusters-with-spring-data-elasticsearch/</guid>
				<description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;In the Spring Data Elasticsearch issue tracker recently someone asked if it is possible to access two different&#xA;Elasticsearch clusters in an application that is using Spring Data Elasticsearch. The reason they needed this weas&#xA;because that application should do some migration - I assume that data from one cluster should be transferred to a&#xA;second cluster. In this blog post I will show how this can be set up. In this article I name the one cluster the&#xA;&lt;em&gt;default cluster&lt;/em&gt; and the other the &lt;em&gt;secondary cluster&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Simulate HTTP status 429 with OWASP ZAP</title>
				<link>https://www.sothawo.com/post/2023/06/05/simulate-http-status-429-with-owasp-zap/</link>
				<pubDate>Mon, 05 Jun 2023 19:19:31 +0200</pubDate>
				<guid>https://www.sothawo.com/post/2023/06/05/simulate-http-status-429-with-owasp-zap/</guid>
				<description>&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;p&gt;When developing and testing code for &#xA;&#xA;&lt;a href=&#34;https://spring.io/projects/spring-data-elasticsearch&#34; target=&#34;_blank&#34;&gt;Spring Data Elasticsearch&lt;/a&gt;&#xA; I&#xA;often use the &#xA;&#xA;&lt;a href=&#34;https://www.zaproxy.org/&#34; target=&#34;_blank&#34;&gt;OWASP ZAP proxy&lt;/a&gt;&#xA; to monitor the data that is sent to and returned from&#xA;Elasticsearch.&lt;/p&gt;&#xA;&lt;p&gt;I now had the situation that I needed to check how the library behaves when the server returns a code 429 (too many&#xA;requests) status. Rather than trying to set up a test that tries to flood my local Elasticsearch instance, I decided to&#xA;add a script to ZAP that automatically for a given percentage of requests returns that status.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Download the list of followers from your Mastodon account</title>
				<link>https://www.sothawo.com/post/2023/05/07/download-the-list-of-followers-from-your-mastodon-account/</link>
				<pubDate>Sun, 07 May 2023 18:18:46 +0200</pubDate>
				<guid>https://www.sothawo.com/post/2023/05/07/download-the-list-of-followers-from-your-mastodon-account/</guid>
				<description>&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;&#xA;&lt;p&gt;It recently came to my mind that it might be handy to have a list of all the accounts that I follow on Mastodon. I can&#xA;surely see them on the web or in any decent client, but as a backup it would be great to have a list to store somewhere.&lt;/p&gt;&#xA;&lt;p&gt;As I already played a little with the Mastodon API I decided to write a short script that downloads a list of&#xA;&lt;em&gt;user@instance&lt;/em&gt; values. And as I am using Python only occasionally, I decided to do this script in Python.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Get the history of commands that created a docker image</title>
				<link>https://www.sothawo.com/post/2023/05/05/get-the-history-of-commands-that-created-a-docker-image/</link>
				<pubDate>Fri, 05 May 2023 00:00:00 +0200</pubDate>
				<guid>https://www.sothawo.com/post/2023/05/05/get-the-history-of-commands-that-created-a-docker-image/</guid>
				<description>&lt;p&gt;&lt;em&gt;Note to self:&lt;/em&gt; In order to see which commands (latest on top) were used to create a docker image run:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker history --no-trunc --format &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;RUN {{.CreatedBy}}&amp;#39;&lt;/span&gt; &amp;lt;image&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Migrate from Wordpress to Hugo</title>
				<link>https://www.sothawo.com/post/2023/05/01/migrate-from-wordpress-to-hugo/</link>
				<pubDate>Mon, 01 May 2023 17:21:01 +0200</pubDate>
				<guid>https://www.sothawo.com/post/2023/05/01/migrate-from-wordpress-to-hugo/</guid>
				<description>&lt;p&gt;Yesterday and today I migrated my web site / blog from Wordpress to &#xA;&#xA;&lt;a href=&#34;https://gohugo.io&#34; target=&#34;_blank&#34;&gt;Hugo&lt;/a&gt;&#xA;. It was less effort and pain than I had anticipated.&lt;/p&gt;&#xA;&lt;p&gt;It was done with these steps:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Install Hugo (I am running on macOS using macPorts, so: &lt;code&gt;sudo port  install hugo&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;In my wordpress installation, I aded the &lt;em&gt;&amp;ldquo;Wordpress to Jekyll Exporter&amp;rdquo;&lt;/em&gt; plugin and exported the blog posts to a local zip file.&lt;/li&gt;&#xA;&lt;li&gt;After unzipping this file I ran &lt;code&gt;hugo import jekyll jekyll-export hugo-sothawo&lt;/code&gt; to create the initial Hugo setup for my site&lt;/li&gt;&#xA;&lt;li&gt;Added this as git repository to a git repository hosted at my web hoster&lt;/li&gt;&#xA;&lt;li&gt;Cloned the &#xA;&#xA;&lt;a href=&#34;https://github.com/Vimux/Mainroad/&#34; target=&#34;_blank&#34;&gt;Mainroad&lt;/a&gt;&#xA; theme from GitHub and pushed my clone to a private git repo  as well, as I have some adjustments to the theme.&lt;/li&gt;&#xA;&lt;li&gt;Adjusted the theme and its settings until I had it to my liking.&lt;/li&gt;&#xA;&lt;li&gt;Went through my pages and posts to clean up links that had the full path to my site in them (they will when deployed with Hugo, but that should not be in the code). Adapted the code snippets to the highlighting that Hugo uses. This was some time consuming stupid work.&lt;/li&gt;&#xA;&lt;li&gt;Created the deployment of my site with &lt;code&gt;hugo&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Uploaded the public directory to my Hoster into a new directory servde from a test subdomain.&lt;/li&gt;&#xA;&lt;li&gt;Checked that all works.&lt;/li&gt;&#xA;&lt;li&gt;Changed the DNS settings to point to the new site.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And here we go. No more PHP version updates, Wordpress or plugin security updates, database and file backups.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>https://www.sothawo.com/about/</link>
				<pubDate>Mon, 01 May 2023 00:00:00 +0200</pubDate>
				<guid>https://www.sothawo.com/about/</guid>
				<description>&lt;p&gt;I wrote my first programs in the year 1980 on a Commodore PET. Ever since that time, the fascination of software development has not left.&lt;/p&gt;&#xA;&lt;p&gt;After using Pascal, Assembler, C, Perl, C++, PHP and Objective-C I nowadays work mainly with Kotlin and Java as programming languages.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://spring.io/projects/spring-data-elasticsearch&#34; target=&#34;_blank&#34;&gt;Spring Data Elasticsearch&lt;/a&gt;&#xA; project lead since 2019.&lt;/p&gt;&#xA;&lt;p&gt;For comments on my posts, use the email or Mastodon links provided in the sidebar.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Privacy policy</title>
				<link>https://www.sothawo.com/privacy-policy/</link>
				<pubDate>Mon, 01 May 2023 00:00:00 +0200</pubDate>
				<guid>https://www.sothawo.com/privacy-policy/</guid>
				<description>&lt;h2 id=&#34;who-we-are&#34;&gt;Who we are&lt;/h2&gt;&#xA;&lt;p&gt;Our website address is: &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com&#34; target=&#34;_blank&#34;&gt;https://www.sothawo.com&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-personal-data-we-collect-and-why-we-collect-it&#34;&gt;What personal data we collect and why we collect it&lt;/h2&gt;&#xA;&lt;p&gt;We do not collect any from our visitors.&lt;/p&gt;&#xA;&lt;h3 id=&#34;cookies&#34;&gt;Cookies&lt;/h3&gt;&#xA;&lt;p&gt;We do not send or store any cookies.&lt;/p&gt;&#xA;&lt;h3 id=&#34;embedded-content-from-other-websites&#34;&gt;Embedded content from other websites&lt;/h3&gt;&#xA;&lt;p&gt;Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Accessing a secured Elasticsearch 8.5 instance using Spring Data Elasticsearch 5.0</title>
				<link>https://www.sothawo.com/2023/04/accessing-a-secured-elasticsearch-8-5-instance-using-spring-data-elasticsearch-5-0/</link>
				<pubDate>Sun, 30 Apr 2023 09:53:52 +0000</pubDate>
				<guid>https://www.sothawo.com/2023/04/accessing-a-secured-elasticsearch-8-5-instance-using-spring-data-elasticsearch-5-0/</guid>
				<description>&lt;h2 id=&#34;the-problem&#34;&gt;The problem&lt;/h2&gt;&#xA;&lt;p&gt;When starting an Elasticsearch instance in version 8 (the current version being 8.7.0) for the first time, the Elasticsearch server is by default automatically configured with a random generated password and a self signed certificate to secure the connection between clients and the Elasticsearch server.&lt;/p&gt;&#xA;&lt;p&gt;The password and the fingerprint for the certificate are shown in the output of the server on the first start (output truncated for brevity):&lt;/p&gt;</description>
			</item>
			<item>
				<title>Contact</title>
				<link>https://www.sothawo.com/contact/</link>
				<pubDate>Sun, 30 Apr 2023 00:00:00 +0200</pubDate>
				<guid>https://www.sothawo.com/contact/</guid>
				<description>&lt;p&gt;Peter-Josef Meisch&lt;/p&gt;&#xA;&lt;p&gt;Riefstahlstr. 12&lt;br&gt;&#xA;76133 Karlsruhe&lt;br&gt;&#xA;Germany&lt;/p&gt;&#xA;&lt;p&gt;pj.meisch at sothawo.com&lt;/p&gt;</description>
			</item>
			<item>
				<title>Reading different entities from multiple indices with one call using Spring Data Elasticsearch</title>
				<link>https://www.sothawo.com/2021/05/reading-different-entities-from-multiple-indices-with-one-call-using-spring-data-elasticsearch/</link>
				<pubDate>Sun, 09 May 2021 20:11:25 +0000</pubDate>
				<guid>https://www.sothawo.com/2021/05/reading-different-entities-from-multiple-indices-with-one-call-using-spring-data-elasticsearch/</guid>
				<description>&lt;h2 id=&#34;the-problem&#34;&gt;The problem&lt;/h2&gt;&#xA;&lt;p&gt;In Elasticsearch (the the current version at the time of writing this post is 7.12.1) every index holds exactly one type of data. This type is defined by the index mapping which describes the fields of the index and their types.&lt;/p&gt;&#xA;&lt;p&gt;Spring Data Elasticsearch (the current version is 4.2) automatically maps between a Java class – the entity type – with its properties and the data in the Elasticsearch index. This means that when searching, the entity type must be specified. In Spring Data Repositories this is the type specified in the repository definition, when using the ElasticsearchOperations interface, the search function required a parameter specifying the class to return.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The mystery of the endless Throwable&#39;s cause chain shown in the IntelliJ debugger</title>
				<link>https://www.sothawo.com/2021/04/the-mystery-of-the-endless-throwables-cause-chain-shown-in-the-intellij-debugger/</link>
				<pubDate>Fri, 16 Apr 2021 17:37:38 +0000</pubDate>
				<guid>https://www.sothawo.com/2021/04/the-mystery-of-the-endless-throwables-cause-chain-shown-in-the-intellij-debugger/</guid>
				<description>&lt;p&gt;A &lt;code&gt;Throwable&lt;/code&gt; in Java can have a cause which in turn is a &lt;code&gt;Throwable&lt;/code&gt; as well. This cause can have a cause and we can have a chain of &lt;code&gt;Throwable&lt;/code&gt;objects which we can follow until a &lt;code&gt;Throwable&lt;/code&gt; has no cause. Let me explain this with a small example:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;display:grid;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Scratch&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; division &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; divide(4, 0);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&lt;/span&gt;&lt;span&gt;      } &lt;span style=&#34;color:#66d9ef&#34;&gt;catch&lt;/span&gt; (Exception e) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&lt;/span&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; IllegalArgumentException(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;got exception calling divide&amp;#34;&lt;/span&gt;, e);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&lt;/span&gt;&lt;span&gt;      }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&lt;/span&gt;&lt;span&gt;    } &lt;span style=&#34;color:#66d9ef&#34;&gt;catch&lt;/span&gt; (Throwable t) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex; background-color:#3c3d38&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; (t &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&lt;/span&gt;&lt;span&gt;        System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;println&lt;/span&gt;(t.&lt;span style=&#34;color:#a6e22e&#34;&gt;getClass&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getCanonicalName&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&lt;/span&gt;&lt;span&gt;        t &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; t.&lt;span style=&#34;color:#a6e22e&#34;&gt;getCause&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&lt;/span&gt;&lt;span&gt;      }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&lt;/span&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&lt;/span&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&lt;/span&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;17&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;divide&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; divident, &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; divisor) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;18&lt;/span&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; divident &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; divisor;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;19&lt;/span&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;20&lt;/span&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this example we call a function to divide two numbers and pass in a divisor with value 0. This of course leads to an &lt;code&gt;ArithmeticException&lt;/code&gt; which we catch and set as the cause for a new &lt;code&gt;IllegalArgumentException&lt;/code&gt;. We then catch this new exception and print out the cause-chain . Running this program gives the expected result:&lt;/p&gt;</description>
			</item>
			<item>
				<title>show artillery http traffic</title>
				<link>https://www.sothawo.com/2021/04/show-artillery-http-traffic/</link>
				<pubDate>Fri, 16 Apr 2021 10:24:40 +0000</pubDate>
				<guid>https://www.sothawo.com/2021/04/show-artillery-http-traffic/</guid>
				<description>&lt;p&gt;Just playing with &#xA;&#xA;&lt;a href=&#34;https://artillery.io/&#34; target=&#34;_blank&#34;&gt;https://artillery.io/&lt;/a&gt;&#xA;. If you need to see which requests are sent during setting up your test script, set the DEBUG environment variable:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DEBUG&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http:request,http:response,http:full_body &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;npm bin&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/artillery run test.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Implement a rolling index strategy with Spring Data Elasticsearch 4.1</title>
				<link>https://www.sothawo.com/2020/11/implement-a-rolling-index-strategy-with-spring-data-elasticsearch-4-1/</link>
				<pubDate>Tue, 17 Nov 2020 23:02:41 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/11/implement-a-rolling-index-strategy-with-spring-data-elasticsearch-4-1/</guid>
				<description>&lt;p&gt;With the release of version 4.1 Spring Data Elasticsearch now supports the index templates of Elasticsearch. Index templates allow the user to define settings, mappings and aliases for indices that are automatically created by Elasticsearch when documents are saved to a not yet existing index.&lt;/p&gt;&#xA;&lt;p&gt;In this blog post I will show how index templates can be used in combination with Spring Data Repository customizations to implement a rolling index strategy where new indices will be created automatically based on the date.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Search maven from the commandline using httpie and jq</title>
				<link>https://www.sothawo.com/2020/10/search-maven-from-the-commandline-using-httpie-and-jq/</link>
				<pubDate>Sat, 17 Oct 2020 13:16:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/10/search-maven-from-the-commandline-using-httpie-and-jq/</guid>
				<description>&lt;p&gt;Sometimes I like to know what the latest version of a library in maven central is. As I don’t like to always open a browser tab for search but almost always have a terminal window at hand, I just wrote s small script that uses &#xA;&#xA;&lt;a href=&#34;https://httpie.org/&#34; target=&#34;_blank&#34;&gt;httpie&lt;/a&gt;&#xA; and &#xA;&#xA;&lt;a href=&#34;https://stedolan.github.io/jq/&#34; target=&#34;_blank&#34;&gt;jq&lt;/a&gt;&#xA; to get the information I want (that’s all one line in the script):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/usr/bin/env sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http search.maven.org/solrsearch/select rows&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10000&lt;/span&gt; q&lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | jq &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.response.docs[] | .timestamp |= (. / 1000 | todate) | (.timestamp)+&amp;#34; &amp;#34;+(.id)+&amp;#34;:&amp;#34;+(.latestVersion)&amp;#39;&lt;/span&gt; | tr -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt; | sort -k2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The script retrieves the searched values from search.maven.com, setting the limit to 1000, the default is 10. Then it uses jq to parse the returned JSON. The timestamp field is formatted to a readable format and then is printed along with the maven id and the latest version number. The quotes are removed from the output and it is sorted by the artifact id.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to use Elasticsearch&#39;s range types with Spring Data Elasticsearch</title>
				<link>https://www.sothawo.com/2020/09/how-to-use-elasticsearchs-range-types-with-spring-data-elasticsearch/</link>
				<pubDate>Sat, 12 Sep 2020 11:49:15 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/09/how-to-use-elasticsearchs-range-types-with-spring-data-elasticsearch/</guid>
				<description>&lt;p&gt;Elasticsearch allows the data, that is stored in a document, to be not only of elementary types, but also of a range of types, &#xA;&#xA;&lt;a href=&#34;https://www.elastic.co/guide/en/elasticsearch/reference/current/range.html&#34; target=&#34;_blank&#34;&gt;see the documentation&lt;/a&gt;&#xA;. With a short example I will explain this range type and how to use it in Spring Data Elasticsearch (the current version being 4.0.3).&lt;/p&gt;&#xA;&lt;p&gt;For this example we want be able to answer the question: &lt;em&gt;“Who was president of the United States of America in the year X?”.&lt;/em&gt; We will store in Elasticsearch a document describing a president with the name and his term, defined be a range of years, defined by a &lt;em&gt;from&lt;/em&gt; and to &lt;em&gt;value&lt;/em&gt;. We will then query the index for documents where this term range contains a given value&lt;/p&gt;</description>
			</item>
			<item>
				<title>Search entities within a geographic distance with Spring Data Elasticsearch 4</title>
				<link>https://www.sothawo.com/2020/09/search-entities-within-a-geographic-distance-with-spring-data-elasticsearch-4/</link>
				<pubDate>Sat, 05 Sep 2020 12:19:57 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/09/search-entities-within-a-geographic-distance-with-spring-data-elasticsearch-4/</guid>
				<description>&lt;p&gt;A couple of months ago I published the post &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2020/05/using-geo-distance-sort-in-spring-data-elasticsearch-4/&#34;&gt;Using geo-distance sort in Spring Data Elasticsearch 4&lt;/a&gt;&#xA;. In the comments there came up the question “What about searching within a distance?”&lt;/p&gt;&#xA;&lt;p&gt;Well, this is not supported by query derivation from the method name, but it can easily be done with a custom repository implementation (see &#xA;&#xA;&lt;a href=&#34;https://docs.spring.io/spring-data/elasticsearch/docs/4.0.2.RELEASE/reference/html/#repositories.single-repository-behavior&#34; target=&#34;_blank&#34;&gt;the documentation &lt;/a&gt;&#xA;for more information about that).&lt;/p&gt;&#xA;&lt;p&gt;I updated the example – which is available &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/blog-sde-geodistance-sort&#34; target=&#34;_blank&#34;&gt;on Codeberg&lt;/a&gt;&#xA; – and will explain what is needed for this implementation. I won’t describe the entity and setup, please check the original post for that.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx display problem on Windows 10 seems solved</title>
				<link>https://www.sothawo.com/2020/09/mapjfx-display-problem-on-windows-10-seems-solved/</link>
				<pubDate>Wed, 02 Sep 2020 20:25:59 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/09/mapjfx-display-problem-on-windows-10-seems-solved/</guid>
				<description>&lt;p&gt;For some time now there was a bug that the map was not displaying properly on some Windows systems, see&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2018/02/mapjfx-problems/&#34;&gt;mapjfx problems&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/36&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/36&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/81&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/81&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It seems this was because of a bug in the WebView from JavaFX &#xA;&#xA;&lt;a href=&#34;https://bugs.openjdk.java.net/browse/JDK-8234471&#34; target=&#34;_blank&#34;&gt;https://bugs.openjdk.java.net/browse/JDK-8234471&lt;/a&gt;&#xA;. Thanks to &#xA;&#xA;&lt;a href=&#34;https://github.com/vewert&#34; target=&#34;_blank&#34;&gt;https://github.com/vewert&lt;/a&gt;&#xA; and &#xA;&#xA;&lt;a href=&#34;https://github.com/Abu-Abdullah&#34; target=&#34;_blank&#34;&gt;https://github.com/Abu-Abdullah&lt;/a&gt;&#xA; investigating into this.&lt;/p&gt;&#xA;&lt;p&gt;This issue was fixed with JavaFX15, I tried this on a virtual machine with Windows10 and could not reproduce the error anymore.&lt;/p&gt;&#xA;&lt;p&gt;There is no need to update mapjfx to JavaFX15 (as macOS and *nix are not hit by this bug). If you are on Windows10 you need to add the following dependency to your application:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Use an index name defined by the entity to store data in Spring Data Elasticsearch 4.0</title>
				<link>https://www.sothawo.com/2020/08/use-an-index-name-defined-by-the-entity-to-store-data-in-spring-data-elasticsearch-4-0/</link>
				<pubDate>Sat, 08 Aug 2020 23:53:18 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/08/use-an-index-name-defined-by-the-entity-to-store-data-in-spring-data-elasticsearch-4-0/</guid>
				<description>&lt;p&gt;When using &#xA;&#xA;&lt;a href=&#34;https://docs.spring.io/spring-data/elasticsearch/docs/4.0.2.RELEASE/reference/html&#34; target=&#34;_blank&#34;&gt;Spring Data Elasticsearch (I am referencing the current version 4.0.2)&lt;/a&gt;&#xA;, normally the name of the index where the documents are stored is taken from the &lt;code&gt;@Document&lt;/code&gt; annotation of the entity class – here it’s &lt;em&gt;books&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Document&lt;/span&gt;(indexName&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;books&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Book&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// ...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Recently in a discussion of a Pull Request in Spring Data Elasticsearch, someone told that she needed a possibility to extract the name from the entity itself, as entities might go to different indices.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.15.0 and 1.33.0 released adding circles and OpenLayers 6.4.2</title>
				<link>https://www.sothawo.com/2020/08/mapjfx-2-15-0-and-1-33-0-released-adding-circles-and-openlayers-6-4-2/</link>
				<pubDate>Tue, 04 Aug 2020 07:16:17 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/08/mapjfx-2-15-0-and-1-33-0-released-adding-circles-and-openlayers-6-4-2/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.33.0 and 2.15.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.33.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.15.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.33.0 is built using Java 8 and 2.15.0 uses Java 11.&lt;/p&gt;&#xA;&lt;p&gt;Circles can now be added to a map, giving the center coordinates and the radius in meters with custom coloring and transparency, thanks to &#xA;&#xA;&lt;a href=&#34;https://github.com/woodenh&#34; target=&#34;_blank&#34;&gt;Hanwoo Kim&lt;/a&gt;&#xA; for this contribution!&lt;/p&gt;&#xA;&lt;p&gt;The OpenLayers version now is 6.4.2.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to provide a dynamic index name in Spring Data Elasticsearch using SpEL</title>
				<link>https://www.sothawo.com/2020/07/how-to-provide-a-dynamic-index-name-in-spring-data-elasticsearch-using-spel/</link>
				<pubDate>Tue, 28 Jul 2020 06:54:59 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/07/how-to-provide-a-dynamic-index-name-in-spring-data-elasticsearch-using-spel/</guid>
				<description>&lt;p&gt;In Spring Data Elasticsearch – at the time of writing, version 4.0 is the current version – the name of an index is normally defined by the &lt;code&gt;@Document&lt;/code&gt; annotation on the entity class. For the following examples let’s assume we want to write some log entries to Elasticsearch with our application. We use the following entity:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Document&lt;/span&gt;(indexName &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;log&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;LogEntity&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@Id&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; String id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; UUID.&lt;span style=&#34;color:#a6e22e&#34;&gt;randomUUID&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;toString&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@Field&lt;/span&gt;(type &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; FieldType.&lt;span style=&#34;color:#a6e22e&#34;&gt;Text&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; String text;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;@Field&lt;/span&gt;(name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;log-time&amp;#34;&lt;/span&gt;, type &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; FieldType.&lt;span style=&#34;color:#a6e22e&#34;&gt;Date&lt;/span&gt;, format &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; DateFormat.&lt;span style=&#34;color:#a6e22e&#34;&gt;basic_date_time&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; ZonedDateTime logTime &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ZonedDateTime.&lt;span style=&#34;color:#a6e22e&#34;&gt;now&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; String &lt;span style=&#34;color:#a6e22e&#34;&gt;getId&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; id;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; String &lt;span style=&#34;color:#a6e22e&#34;&gt;getText&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; text;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setText&lt;/span&gt;(String text) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;text&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; text;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; ZonedDateTime &lt;span style=&#34;color:#a6e22e&#34;&gt;getLogTime&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; logTime;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;setLogTime&lt;/span&gt;(ZonedDateTime logTime) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;logTime&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; logTime;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here the index name is the fixed name &lt;em&gt;log&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using geo-distance sort in Spring Data Elasticsearch 4</title>
				<link>https://www.sothawo.com/2020/05/using-geo-distance-sort-in-spring-data-elasticsearch-4/</link>
				<pubDate>Sun, 17 May 2020 17:48:40 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/05/using-geo-distance-sort-in-spring-data-elasticsearch-4/</guid>
				<description>&lt;p&gt;The release of Spring Data Elasticsearch in version 4.0 &#xA;&#xA;&lt;a href=&#34;https://docs.spring.io/spring-data/elasticsearch/docs/4.0.0.RELEASE/reference/html/&#34; target=&#34;_blank&#34;&gt;(see the documentation)&lt;/a&gt;&#xA; brings two new features that now enable users to use geo-distance sorts in repository queries: The first is a new class &lt;code&gt;GeoDistanceOrder&lt;/code&gt; and the second is a new return type for repository methods &lt;code&gt;SearchHit&amp;lt;T&amp;gt;&lt;/code&gt;. In this post I will show how easy it is to use these classes to answer questions like &lt;em&gt;“Which pubs are the nearest to a given location?”.&lt;/em&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx display problems update</title>
				<link>https://www.sothawo.com/2020/04/mapjfx-display-problems-update/</link>
				<pubDate>Sun, 19 Apr 2020 14:35:11 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/04/mapjfx-display-problems-update/</guid>
				<description>&lt;p&gt;For the last two years a problem was coming up occasionally with some users, that only the top left area of the map is displayed, and the rest is not loading:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/36&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/36&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/81&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/81&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Thanks to the analysis of Martin Stiel in a comment and Victor Ewert &#xA;&#xA;&lt;a href=&#34;https://github.com/vewert&#34; target=&#34;_blank&#34;&gt;in issue 81&lt;/a&gt;&#xA; it seems that this can be traced to a problem when running the application on a high resolution display.&lt;/p&gt;&#xA;&lt;p&gt;Alas I cannot reproduce this as I have no hardware with a resolution that might be high enough. So if you have this problem you might try the solution that Victor mentions in the issue linked above: start the application with -Dprism.allowhidpi=false.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.32.0 and 2.14.0 adds the ability to rotate markers and labels</title>
				<link>https://www.sothawo.com/2020/04/mapjfx-1-32-0-and-2-14-0-adds-the-ability-to-rotate-markers-and-labels/</link>
				<pubDate>Mon, 06 Apr 2020 12:01:01 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/04/mapjfx-1-32-0-and-2-14-0-adds-the-ability-to-rotate-markers-and-labels/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.32.0 and 2.14.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.32.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.14.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.32.0 is built using Java 8 and 2.14.0 uses Java 11.&lt;/p&gt;&#xA;&lt;p&gt;Markers and Labels on a map now have a &lt;em&gt;rotation&lt;/em&gt; property which will rotate the corresponding HTML Element. The values goes from 0 to 360 and defines the rotating angle clockwise.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Talking at Spring I/O 2020</title>
				<link>https://www.sothawo.com/2020/02/talking-at-spring-i-o-2020/</link>
				<pubDate>Thu, 20 Feb 2020 13:43:28 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/02/talking-at-spring-i-o-2020/</guid>
				<description>&lt;p&gt;After working on &#xA;&#xA;&lt;a href=&#34;https://spring.io/projects/spring-data-elasticsearch&#34; target=&#34;_blank&#34;&gt;Spring Data Elasticsearch&lt;/a&gt;&#xA; for nearly a year now, I’m proud that I will have a talk “&#xA;&#xA;&lt;a href=&#34;https://2020.springio.net/sessions/next-level-elasticsearch-integration-with-spring-data-elasticsearch&#34; target=&#34;_blank&#34;&gt;Next Level Elasticsearch Integration with Spring Data Elasticsearch&lt;/a&gt;&#xA;” at Spring I/O 2020 in Barcelona!&lt;/p&gt;&#xA;&lt;p&gt;Edit: Spring I/O is postponed to October 2020 due to Covid-19.&lt;/p&gt;&#xA;&lt;p&gt;Edit 2: Alas the conferebnce was cancelled.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.31.1 and 2.13.1 fixing event triggering regression</title>
				<link>https://www.sothawo.com/2020/02/mapjfx-1-31-1-and-2-13-1-fixing-event-triggering-regression/</link>
				<pubDate>Sun, 16 Feb 2020 14:43:49 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/02/mapjfx-1-31-1-and-2-13-1-fixing-event-triggering-regression/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.31.1 and 2.13.1, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.31.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.13.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.31.1 is built using Java 8 and 2.13.1 uses Java 11.&lt;/p&gt;&#xA;&lt;p&gt;These versions fix a regression where events for markers and labels (mouse enter/leave, context click etc) where not created anymore due to enabling scroll/zoom behaviour on markers and labels.&lt;br&gt;&#xA;Now all events are dispatched again as they should.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.13.0 switches back to use Java 11 (LTS)</title>
				<link>https://www.sothawo.com/2020/01/mapjfx-2-13-0-switches-back-to-use-java-11-lts/</link>
				<pubDate>Fri, 24 Jan 2020 08:10:58 +0000</pubDate>
				<guid>https://www.sothawo.com/2020/01/mapjfx-2-13-0-switches-back-to-use-java-11-lts/</guid>
				<description>&lt;p&gt;I just released mapjfx version 2.13.0, it will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.13.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I switched back to use Java 11 (LTS) as SceneBuilder is only available for Java 11 (&#xA;&#xA;&lt;a href=&#34;https://gluonhq.com/products/scene-builder/&#34; target=&#34;_blank&#34;&gt;https://gluonhq.com/products/scene-builder/&lt;/a&gt;&#xA;) and libraries built with version 12 or 13 cannot be used in SceneBuilder 11.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.30.0 and 2.11.0 with new Bing Maps MapTypes</title>
				<link>https://www.sothawo.com/2019/11/mapjfx-1-30-0-and-2-11-0-with-new-bing-maps-maptypes/</link>
				<pubDate>Sat, 23 Nov 2019 13:19:05 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/11/mapjfx-1-30-0-and-2-11-0-with-new-bing-maps-maptypes/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.30.0 and 2.11.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.30.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.11.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.30.0 is built using Java 8 and 2.11.0 uses Java 12.&lt;/p&gt;&#xA;&lt;p&gt;In these version 4 new variants for the Bing Map mapType are added (thanks to &#xA;&#xA;&lt;a href=&#34;https://github.com/MalteBahr&#34; target=&#34;_blank&#34;&gt;https://github.com/MalteBahr&lt;/a&gt;&#xA;)&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.29.0 and 2.10.0 now with OpenLayers 6.0.1 and extension constrains</title>
				<link>https://www.sothawo.com/2019/10/mapjfx-1-29-0-and-2-10-0-now-with-openlayers-6-0-1-and-extension-constrains/</link>
				<pubDate>Sat, 12 Oct 2019 14:11:12 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/10/mapjfx-1-29-0-and-2-10-0-now-with-openlayers-6-0-1-and-extension-constrains/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.29.0 and 2.10.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.29.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.10.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.29.0 is built using Java 8 and 2.10.0 uses Java 12.&lt;/p&gt;&#xA;&lt;p&gt;This version updates the OpenLayers library to version 6.0.1 (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/66&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/66&lt;/a&gt;&#xA;).&lt;br&gt;&#xA;Additionally it is now possible to constrain the panning and zooming of a map to a given extent (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/62&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/62&lt;/a&gt;&#xA;).&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.9.0 and 1.28.0 with offline cache improvements</title>
				<link>https://www.sothawo.com/2019/10/mapjfx-2-9-0-and-1-28-0-with-offline-cache-improvements/</link>
				<pubDate>Wed, 09 Oct 2019 08:50:21 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/10/mapjfx-2-9-0-and-1-28-0-with-offline-cache-improvements/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.28.0 and 2.9.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.28.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.9.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;1.28.0 is bilt using Java 8 and 2.9.0 uses Java 12.&lt;/p&gt;&#xA;&lt;p&gt;These releases add the possibility to pass a list of URLs (map tiles) to the OfflineCache to have the cache populated in the background with the data from these URLs (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/52&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/64&lt;/a&gt;&#xA;)&lt;/p&gt;&#xA;&lt;h2 id=&#34;example&#34;&gt;Example:&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;initOfflineCache&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;final&lt;/span&gt; OfflineCache offlineCache &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; OfflineCache.&lt;span style=&#34;color:#a6e22e&#34;&gt;INSTANCE&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    offlineCache.&lt;span style=&#34;color:#a6e22e&#34;&gt;setCacheDirectory&lt;/span&gt;(FileSystems.&lt;span style=&#34;color:#a6e22e&#34;&gt;getDefault&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getPath&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tmpdata/cache&amp;#34;&lt;/span&gt;));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    offlineCache.&lt;span style=&#34;color:#a6e22e&#34;&gt;setActive&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    offlineCache.&lt;span style=&#34;color:#a6e22e&#34;&gt;setNoCacheFilters&lt;/span&gt;(Collections.&lt;span style=&#34;color:#a6e22e&#34;&gt;singletonList&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.*\\.sothawo\\.com/.*&amp;#34;&lt;/span&gt;));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    LinkedList&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;String&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; urls &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; LinkedList&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;gt;&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8572/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8571/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8572/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8571/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8570/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8572/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8570/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8571/5627.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8573/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://a.tile.openstreetmap.org/14/8574/5627.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8571/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8573/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8572/5627.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://b.tile.openstreetmap.org/14/8574/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8572/5626.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8570/5627.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8574/5625.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    urls.&lt;span style=&#34;color:#a6e22e&#34;&gt;add&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://c.tile.openstreetmap.org/14/8573/5627.png&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    offlineCache.&lt;span style=&#34;color:#a6e22e&#34;&gt;preloadURLs&lt;/span&gt;(urls);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.8.0 and 1.27.0 with improved configuration options</title>
				<link>https://www.sothawo.com/2019/08/mapjfx-2-8-0-and-1-27-0-with-improved-configuration-options/</link>
				<pubDate>Thu, 22 Aug 2019 20:58:22 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/08/mapjfx-2-8-0-and-1-27-0-with-improved-configuration-options/</guid>
				<description>&lt;p&gt;it is now possible to disable the zoom controls on the Map (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/59&#34; target=&#34;_blank&#34;&gt;Issue #59&lt;/a&gt;&#xA;) using the new introduced configuration object like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mapView.&lt;span style=&#34;color:#a6e22e&#34;&gt;initialize&lt;/span&gt;(Configuration.&lt;span style=&#34;color:#a6e22e&#34;&gt;builder&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .&lt;span style=&#34;color:#a6e22e&#34;&gt;showZoomControls&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    .&lt;span style=&#34;color:#a6e22e&#34;&gt;build&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;versions 1.27.0 and 2.8.0 will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.27.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.8.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>mapjfx versions 1.26.3 and 2.7.3 release fixing context menu regression</title>
				<link>https://www.sothawo.com/2019/08/mapjfx-versions-1-26-3-and-2-7-3-release-fixing-context-menu-regression/</link>
				<pubDate>Fri, 09 Aug 2019 21:42:44 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/08/mapjfx-versions-1-26-3-and-2-7-3-release-fixing-context-menu-regression/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.26.3 and 2.7.3, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.26.3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.7.3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These releases contain a fix for the regression that caused context clicks not to be intercepted so that the normal browser context menu was shown (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/52&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/52&lt;/a&gt;&#xA;)&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.7.1 and 1.26.1 with fixes for WMS servers</title>
				<link>https://www.sothawo.com/2019/05/mapjfx-2-7-1-and-1-26-1-with-fixes-for-wms-servers/</link>
				<pubDate>Tue, 28 May 2019 19:36:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/05/mapjfx-2-7-1-and-1-26-1-with-fixes-for-wms-servers/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.26.1 and 2.7.1, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.26.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.7.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These releases contain 2 fixes in handling WMS servers (&#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/53&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/53&lt;/a&gt;&#xA; and &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx/issues/54&#34; target=&#34;_blank&#34;&gt;https://codeberg.org/sothawo/mapjfx/issues/54&lt;/a&gt;&#xA;)&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.7.0 and 1.26.0 add the possibility to inhibit zoom and panning</title>
				<link>https://www.sothawo.com/2019/04/mapjfx-2-7-0-and-1-26-0-add-the-possibility-to-inhibit-zoom-and-panning/</link>
				<pubDate>Sat, 27 Apr 2019 22:03:11 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/04/mapjfx-2-7-0-and-1-26-0-add-the-possibility-to-inhibit-zoom-and-panning/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.26.0 and 2.7.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.26.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.7.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When initializing the MapView element, it is now possible to pass an argument named interactive, if this is set to false, the user will not be able to change the map zoom by some controls in the map, by scrolling the wheel or double click. It is also not possible to change the map center by dragging or pannig the map with the mouse.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.6.0 and 1.25.0 add support for normalized coordinates</title>
				<link>https://www.sothawo.com/2019/03/mapjfx-2-6-0-and-1-25-0-add-support-for-normalized-coordinates/</link>
				<pubDate>Wed, 27 Mar 2019 22:50:46 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/03/mapjfx-2-6-0-and-1-25-0-add-support-for-normalized-coordinates/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.25.0 and 2.6.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.25.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.6.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;when zooming out, the world map can show some areas more than once, because OpenLayers then just starts unfolding the globe several times. This leads to the fact that the longitude of the reported coordinate leaves the normal range from -180 to 180. To compensate that, the Coordinate class now has a normalize() method that returns a new coordinate with the longitude to be adjusted for the -180 to 180 degrees range.&lt;/p&gt;</description>
			</item>
			<item>
				<title>fix &#34;There is no connected camera&#34; on my Macbook Pro</title>
				<link>https://www.sothawo.com/2019/02/fix-there-is-no-connected-camera-on-my-macbook-pro/</link>
				<pubDate>Tue, 26 Feb 2019 13:29:41 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/02/fix-there-is-no-connected-camera-on-my-macbook-pro/</guid>
				<description>&lt;p&gt;&lt;em&gt;note to self&lt;/em&gt;: sometimes it happens that applications cannot find a camera on my system, although it is definitely built in and not broken. This can be solved by stopping all applications that may be using the camera and then in a terminal run&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo killall VDCAssistant&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;thanks to &#xA;&#xA;&lt;a href=&#34;http://osxdaily.com/2013/12/27/fix-there-is-no-connected-camera-error-mac/&#34; target=&#34;_blank&#34;&gt;http://osxdaily.com/2013/12/27/fix-there-is-no-connected-camera-error-mac/&lt;/a&gt;&#xA; for this solution (check that link for further details)&lt;/p&gt;</description>
			</item>
			<item>
				<title>use the touchbar on your MBP to sudo</title>
				<link>https://www.sothawo.com/2019/01/use-the-touchbar-on-you-mbp-to-sudo/</link>
				<pubDate>Fri, 25 Jan 2019 14:41:05 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/01/use-the-touchbar-on-you-mbp-to-sudo/</guid>
				<description>&lt;p&gt;just came about this &#xA;&#xA;&lt;a href=&#34;https://twitter.com/cabel/status/931292107372838912&#34; target=&#34;_blank&#34;&gt;tweet&lt;/a&gt;&#xA; from @cabel:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Pro MacBook Pro Tip: have a Touch Bar with Touch ID? If you edit /etc/pam.d/sudo and add the following line to the top… auth sufficient pam_tid.so …you can now use your fingerprint to sudo!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit 28.05.2019:&lt;/strong&gt; in iTerm 3.2.9 you have to set under &lt;em&gt;“Preferences/Advanced”&lt;/em&gt; the value of &lt;em&gt;“Allow sessions to survive logging out and back in.”&lt;/em&gt; to “No” for this to work.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.5.0 and 1.24.0 released</title>
				<link>https://www.sothawo.com/2019/01/1123/</link>
				<pubDate>Tue, 22 Jan 2019 22:18:07 +0000</pubDate>
				<guid>https://www.sothawo.com/2019/01/1123/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.24.0 and 2.5.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.24.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.5.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now slf4j is used as logging framework and zooming by using the scrollwheel now works when the mouse is over a marker or label.&lt;/p&gt;&#xA;&lt;p&gt;Version 1.24.0 is built using OracleJDK8, whereas version 2.5.0 is built with OpenJDK11.&lt;/p&gt;</description>
			</item>
			<item>
				<title>support for alternate map projections in mapjfx</title>
				<link>https://www.sothawo.com/2018/12/support-for-alternate-map-projections-in-mapjfx/</link>
				<pubDate>Fri, 07 Dec 2018 21:59:42 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/12/support-for-alternate-map-projections-in-mapjfx/</guid>
				<description>&lt;p&gt;The latest versions of &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; – 1.22.0 and 2.3.0 – have the possibility to have different projections for the map used in OpenLayers. The possible projections are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Web Mercator (EPSG:3857); this is used if no other projection is specified and is the projection that was hardcoded up to now&lt;/li&gt;&#xA;&lt;li&gt;WGS84 (EPSG:4326); this can be set when initializing the &lt;code&gt;MapView&lt;/code&gt; object.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Check the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;mapjfx-demo&lt;/a&gt;&#xA; description and the source code. The actual versions are available in maven central:&lt;/p&gt;</description>
			</item>
			<item>
				<title>add line number in a file using vim</title>
				<link>https://www.sothawo.com/2018/12/add-line-number-in-a-file-using-vim/</link>
				<pubDate>Thu, 06 Dec 2018 14:11:26 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/12/add-line-number-in-a-file-using-vim/</guid>
				<description>&lt;p&gt;I just needed to insert line numbers in a file in vim. Thanks to &#xA;&#xA;&lt;a href=&#34;https://vi.stackexchange.com/questions/8179/replace-a-pattern-with-current-line-number&#34; target=&#34;_blank&#34;&gt;https://vi.stackexchange.com/questions/8179/replace-a-pattern-with-current-line-number&lt;/a&gt;&#xA; I now know how to do this by replacing the start of every line using the following command:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;:%s/^/\=printf(&amp;quot;%4d: &amp;quot;, line(&#39;.&#39;))&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;which adds the current line number formatted to 4 characters with leading spaces.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx now supports filled polygons</title>
				<link>https://www.sothawo.com/2018/11/mapjfx-now-supports-filled-polygons/</link>
				<pubDate>Sun, 18 Nov 2018 17:16:36 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/11/mapjfx-now-supports-filled-polygons/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.21.0 and 2.2.0, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.21.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.2.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now it is possible to close CoordinateLines to polygons with a fill color:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sothawo.com/migrated/2018/11/mapjfx-demo-2.2.0-8.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.1.1 and 1.20.1 using OpenLayers 5.3.0</title>
				<link>https://www.sothawo.com/2018/11/1065/</link>
				<pubDate>Fri, 16 Nov 2018 20:18:53 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/11/1065/</guid>
				<description>&lt;p&gt;I just released mapjfx versions 1.20.1 and 2.1.1, they will be available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.20.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.1.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;mapjfx now uses &#xA;&#xA;&lt;a href=&#34;https://openlayers.org&#34; target=&#34;_blank&#34;&gt;OpenLayers&lt;/a&gt;&#xA; version 5.3.0.&lt;/p&gt;&#xA;&lt;p&gt;Version 1.20.1 is built using OracleJDK8, whereas version 2.1.1 is built with OpenJDK11.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 2.1.0 and 1.20.0 released, now built with JDK8 and JDK11</title>
				<link>https://www.sothawo.com/2018/11/mapjfx-2-1-0-and-1-20-0-released-now-built-with-jdk8-and-jdk11/</link>
				<pubDate>Fri, 16 Nov 2018 06:03:08 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/11/mapjfx-2-1-0-and-1-20-0-released-now-built-with-jdk8-and-jdk11/</guid>
				<description>&lt;p&gt;The new versions are 1.20.0 and 2.1.o, available in maven central:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.20.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.1.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Version 1.20.0 is built using OracleJDK8, whereas version 2.1.0 is built with OpenJDK11.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.19.0 adds support for XYZ map sources</title>
				<link>https://www.sothawo.com/2018/10/mapjfx-1-19-0-adds-support-for-xyz-map-sources/</link>
				<pubDate>Mon, 29 Oct 2018 20:30:52 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/10/mapjfx-1-19-0-adds-support-for-xyz-map-sources/</guid>
				<description>&lt;p&gt;I released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.19.0 it can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.19.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This version adds support for XYZ map sources. The code was contributed by &#xA;&#xA;&lt;a href=&#34;https://github.com/s3erjaeh&#34; target=&#34;_blank&#34;&gt;Erik Jaehne&lt;/a&gt;&#xA;, thanks a lot for that.&lt;/p&gt;</description>
			</item>
			<item>
				<title>published a blog post about writing a Kotlin DSL on blog.codecentric.de</title>
				<link>https://www.sothawo.com/2018/06/published-a-blog-post-about-writing-a-kotlin-dsl-on-blog-codecentric-de/</link>
				<pubDate>Sun, 24 Jun 2018 15:00:25 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/06/published-a-blog-post-about-writing-a-kotlin-dsl-on-blog-codecentric-de/</guid>
				<description>&lt;p&gt;I just published a blog post on the &#xA;&#xA;&lt;a href=&#34;http://www.codecentric.de&#34; target=&#34;_blank&#34;&gt;codecentric&lt;/a&gt;&#xA; blog site:&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.codecentric.de/wissens-hub/blog/kotlin-dsl-apache-kafka-en&#34; target=&#34;_blank&#34;&gt;How to write a Kotlin DSL – e.g. for Apache Kafka&lt;/a&gt;&#xA; and in German: &#xA;&#xA;&lt;a href=&#34;https://www.codecentric.de/wissens-hub/blog/kotlin-dsl-apache-kafka&#34; target=&#34;_blank&#34;&gt;Wie schreibt man eine Kotlin DSL – z.B. für Apache Kafka?&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Edit 2. May 2023: After the relaunch of the codecentric website, the english version has been lost it seems.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.18.0 has MAP_POINTER_MOVED event and uses OfflineCache singleton</title>
				<link>https://www.sothawo.com/2018/06/mapjfx-1-18-0-has-map_pointer_moved-event-and-uses-offlinecache-singleton/</link>
				<pubDate>Sun, 17 Jun 2018 15:06:00 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/06/mapjfx-1-18-0-has-map_pointer_moved-event-and-uses-offlinecache-singleton/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.18.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.18.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The first change in this verison is that the OfflineCache instance now is a Singleton and shared between all instances of MapView objects in an application. This allows for more than one MapView to use the offline cache mechanisms.&lt;/p&gt;&#xA;&lt;p&gt;The other change is that now for a pointer (mouse) move detetction when the pointer is over the map, an appropriate event is generated.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java regular expression matching with some parts being case insensitive</title>
				<link>https://www.sothawo.com/2018/06/java-regular-expression-matching-with-some-parts-being-case-insensitive/</link>
				<pubDate>Tue, 05 Jun 2018 07:07:32 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/06/java-regular-expression-matching-with-some-parts-being-case-insensitive/</guid>
				<description>&lt;p&gt;I just came upon the possibility that in Java it is possible within regular expressions to turn case sensitivity on and off. This is no new feature, it has been there since Java 1.4, but I never saw it before and thought it might be worth a post.&lt;/p&gt;&#xA;&lt;p&gt;So let’s assume I want to have a regular expression which matches the three words “goodbye bLuE SKIES” – the first in lowercase, the second mixed and the last in uppercase. This can be done with the following regular expression:&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx version 1.17.0 reporting the map&amp;#8217;s extent and using OpenLayers 4.6.5</title>
				<link>https://www.sothawo.com/2018/06/mapjfx-version-1-17-0-reporting-the-maps-extent-and-using-openlayers-4-6-5/</link>
				<pubDate>Sat, 02 Jun 2018 18:43:29 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/06/mapjfx-version-1-17-0-reporting-the-maps-extent-and-using-openlayers-4-6-5/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.17.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.17.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;mapjfx now ow uses OpenLayers 4.6.5.&lt;/p&gt;&#xA;&lt;p&gt;As a new feature, the MapView object now emits events whenever the extent of the map changes. This happens when the center of the map is changed, the zoom value is changed or when the map’s window size is changed. The event can be processed like this:&lt;/p&gt;</description>
			</item>
			<item>
				<title>adding local DNS resolution for a custom top level domain on macOS using macports</title>
				<link>https://www.sothawo.com/2018/04/adding-local-dns-resolution-for-a-custom-top-level-domain-on-macos-using-macports/</link>
				<pubDate>Sun, 15 Apr 2018 11:58:37 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/04/adding-local-dns-resolution-for-a-custom-top-level-domain-on-macos-using-macports/</guid>
				<description>&lt;p&gt;Recently I was testing some applications in a local &#xA;&#xA;&lt;a href=&#34;https://kubernetes.io/&#34; target=&#34;_blank&#34;&gt;kubernetes&lt;/a&gt;&#xA; installation running in &#xA;&#xA;&lt;a href=&#34;https://github.com/kubernetes/minikube&#34; target=&#34;_blank&#34;&gt;minikube&lt;/a&gt;&#xA;, especially the access via an ingress. For this I defined the ingress endpoints using a custom otherwise not existing top level domain to produce names like &lt;code&gt;application1.foobar&lt;/code&gt; or &lt;code&gt;application2.foobar&lt;/code&gt;. (The list of officially registered TLDs can be found at &#xA;&#xA;&lt;a href=&#34;https://www.iana.org/domains/root/db&#34; target=&#34;_blank&#34;&gt;https://www.iana.org/domains/root/db).&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Now in order to access these applications locally with an URL like &#xA;&#xA;&lt;a href=&#34;http://application1.foobar/&#34; target=&#34;_blank&#34;&gt;http://application1.foobar/&lt;/a&gt;&#xA; I need to make the DNS resolution resolve this address to the IP address of my local minikube instance. This IP address can be retrieved with&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx problems</title>
				<link>https://www.sothawo.com/2018/02/mapjfx-problems/</link>
				<pubDate>Fri, 09 Feb 2018 21:11:27 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/02/mapjfx-problems/</guid>
				<description>&lt;p&gt;Since some time now users have reported that mapjfx does not properly display the maps. I wrote a small JavaFX application which is just a WebView and a textfield to edit an URL. This application as well shows buggy behaviour in not loading the map tiles properly. This is the plain JavaFX WebView, with no adddition, custom Javascript code or things that mapjfx does:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sothawo.com/migrated/2018/02/Bildschirmfoto-2018-02-09-um-21.02.25.png&#34; alt=&#34;screenshot&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Other browsers have no problem with these pages. I do not know if this is some bug in WebView – or more probably in WebKit that’s used internally, but there is nothing I have found up to now that I could do to work around.&lt;/p&gt;</description>
			</item>
			<item>
				<title>processing meta annotations with Java</title>
				<link>https://www.sothawo.com/2018/02/processing-meta-annotations-with-java/</link>
				<pubDate>Sun, 04 Feb 2018 14:39:25 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/02/processing-meta-annotations-with-java/</guid>
				<description>&lt;p&gt;Everybody who is using Spring these days knows that Spring has many annotations that are just used to group together a couple of other annotations and so to keep the number of annotations small. For example the &lt;code&gt;@RestController&lt;/code&gt; annotation combines basically the &lt;code&gt;@Controller&lt;/code&gt; and the &lt;code&gt;@ResponseBody&lt;/code&gt; annotation so that the user only needs to annotate his class with one annotation instead of two annotations.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Target&lt;/span&gt;({ElementType.&lt;span style=&#34;color:#a6e22e&#34;&gt;TYPE&lt;/span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Retention&lt;/span&gt;(RetentionPolicy.&lt;span style=&#34;color:#a6e22e&#34;&gt;RUNTIME&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Documented&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@Controller&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;@ResponseBody&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;@interface&lt;/span&gt; RestController {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    String &lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;() &lt;span style=&#34;color:#66d9ef&#34;&gt;default&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The JEE &lt;code&gt;@Stereotype&lt;/code&gt; annotation works basically the same way.&lt;/p&gt;</description>
			</item>
			<item>
				<title>docker on OSX hostname of the Mac</title>
				<link>https://www.sothawo.com/2018/01/docker-on-osx-hostname-of-the-mac/</link>
				<pubDate>Tue, 23 Jan 2018 13:07:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/01/docker-on-osx-hostname-of-the-mac/</guid>
				<description>&lt;p&gt;&lt;strong&gt;note to self&lt;/strong&gt;: when I need to access the docker host from within a container running in Docker for Mac, the hostname is &lt;code&gt;docker.for.mac.localhost&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>show hidden files in OSX open diaolog</title>
				<link>https://www.sothawo.com/2018/01/show-hidden-files-in-osx-open-diaolog/</link>
				<pubDate>Mon, 22 Jan 2018 11:24:50 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/01/show-hidden-files-in-osx-open-diaolog/</guid>
				<description>&lt;p&gt;&lt;strong&gt;note to self&lt;/strong&gt;: when searching a file or directory in OSX it is possible to show or hide the hidden files with the Cmd-Shift-period shortcut&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.15.0 using OpenLayers 4.6.4</title>
				<link>https://www.sothawo.com/2018/01/mapjfx-1-15-0-using-openlayers-4-6-4/</link>
				<pubDate>Thu, 04 Jan 2018 17:48:24 +0000</pubDate>
				<guid>https://www.sothawo.com/2018/01/mapjfx-1-15-0-using-openlayers-4-6-4/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.15.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.15.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 4.6.4.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>german article about kubernetes published at Informatik Aktuell</title>
				<link>https://www.sothawo.com/2017/12/german-article-about-kubernetes-published-at-informatik-aktuell/</link>
				<pubDate>Wed, 20 Dec 2017 10:00:59 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/12/german-article-about-kubernetes-published-at-informatik-aktuell/</guid>
				<description>&lt;p&gt;I wrote an article – in german – about kubernetes for Informatik Aktuell: &#xA;&#xA;&lt;a href=&#34;https://www.informatik-aktuell.de/entwicklung/methoden/kubernetes-funktioniert-das-wirklich.html&#34; target=&#34;_blank&#34;&gt;https://www.informatik-aktuell.de/entwicklung/methoden/kubernetes-funktioniert-das-wirklich.html&lt;/a&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>the simple web based chat application now implemented with java</title>
				<link>https://www.sothawo.com/2017/10/the-simple-web-based-chat-application-now-implemented-with-java/</link>
				<pubDate>Sat, 21 Oct 2017 21:55:23 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/10/the-simple-web-based-chat-application-now-implemented-with-java/</guid>
				<description>&lt;p&gt;I have published a Java version of the demo &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2017/07/a-simple-web-based-chat-application-built-with-kotlin-vaadin-spring-boot-and-apache-kafka/&#34;&gt;I described in this post&lt;/a&gt;&#xA; on &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/javasbak&#34; target=&#34;_blank&#34;&gt;Codeberg&lt;/a&gt;&#xA;. Everything is the same only the language used for the implementation is changed to Java. So for a description please refer to the linked post.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.14.0 released</title>
				<link>https://www.sothawo.com/2017/10/mapjfx-1-14-0-released/</link>
				<pubDate>Sat, 21 Oct 2017 20:15:11 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/10/mapjfx-1-14-0-released/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.14.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.14.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There are new events that are triggered on mouse entry and exit on markers and labels. Thanks to &#xA;&#xA;&lt;a href=&#34;https://github.com/skinkie&#34; target=&#34;_blank&#34;&gt;skinkie&lt;/a&gt;&#xA; for that.&lt;/li&gt;&#xA;&lt;li&gt;The CSS style property of a Label is now an observed property and changes will be reflected on the map immediately.&lt;/li&gt;&#xA;&lt;li&gt;Now uses OpenLayers 4.4.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.13.2 using OpenLayers 4.3.2</title>
				<link>https://www.sothawo.com/2017/09/mapjfx-1-13-2-using-openlayers-4-3-2/</link>
				<pubDate>Tue, 05 Sep 2017 18:45:49 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/09/mapjfx-1-13-2-using-openlayers-4-3-2/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.13.2 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.13.2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 4.3.2.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>annotation based Logger injection in Spring with Kotlin</title>
				<link>https://www.sothawo.com/2017/07/annotation-based-logger-injection-in-spring-with-kotlin/</link>
				<pubDate>Wed, 12 Jul 2017 16:23:23 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/07/annotation-based-logger-injection-in-spring-with-kotlin/</guid>
				<description>&lt;h2 id=&#34;whats-it-all-about&#34;&gt;what’s it all about&lt;/h2&gt;&#xA;&lt;p&gt;In this post I show how to implement an annotation-based Logger injection in &#xA;&#xA;&lt;a href=&#34;https://spring.io/&#34; target=&#34;_blank&#34;&gt;Spring&lt;/a&gt;&#xA; when writing the application with &#xA;&#xA;&lt;a href=&#34;https://kotlinlang.org/&#34; target=&#34;_blank&#34;&gt;Kotlin&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The used technique is quite far from new, basically what I do is implement a &lt;code&gt;BeanPostProcessor&lt;/code&gt; which scans the properties of the beans for fields annotated with a custom annotation and sets these fields to a Logger instance. Examples how to implement this in Java can be found on the web, here I show the Kotlin version.&lt;/p&gt;</description>
			</item>
			<item>
				<title>a simple web based chat application built with Kotlin, Vaadin, Spring Boot and Apache Kafka</title>
				<link>https://www.sothawo.com/2017/07/a-simple-web-based-chat-application-built-with-kotlin-vaadin-spring-boot-and-apache-kafka/</link>
				<pubDate>Sun, 02 Jul 2017 22:18:11 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/07/a-simple-web-based-chat-application-built-with-kotlin-vaadin-spring-boot-and-apache-kafka/</guid>
				<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;In this post I show how to combine some language / frameworks and libraries / tools to build a web-based scalable chat application. I chose the following combination of tools:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;http://kotlinlang.org/&#34; target=&#34;_blank&#34;&gt;Kotlin&lt;/a&gt;&#xA; as implementation language&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://vaadin.com/home&#34; target=&#34;_blank&#34;&gt;Vaadin&lt;/a&gt;&#xA; for the web-based application&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://kafka.apache.org/&#34; target=&#34;_blank&#34;&gt;Apache Kafka&lt;/a&gt;&#xA; as the message backend&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&lt;a href=&#34;https://projects.spring.io/spring-boot/&#34; target=&#34;_blank&#34;&gt;Spring-Boot&lt;/a&gt;&#xA; to get all together and running&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As I am bad in creating cool names for projects I just put together the first letters of the used tools and named this whole thing &lt;em&gt;kovasbak&lt;/em&gt;. The complete source code and project is &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/kovasbak&#34; target=&#34;_blank&#34;&gt;available on Codeberg&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.13.1 using OpenLayers 4.2.0</title>
				<link>https://www.sothawo.com/2017/06/mapjfx-1-13-1-using-openlayers-4-2-0/</link>
				<pubDate>Wed, 28 Jun 2017 22:27:52 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/06/mapjfx-1-13-1-using-openlayers-4-2-0/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.13.1 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.13.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 4.2.0.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>the shortest code to throw a NullPointerException</title>
				<link>https://www.sothawo.com/2017/06/the-shortest-code-to-throw-a-nullpointerexception/</link>
				<pubDate>Sun, 25 Jun 2017 18:16:43 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/06/the-shortest-code-to-throw-a-nullpointerexception/</guid>
				<description>&lt;p&gt;If I were to throw a &lt;code&gt;NullpointerException&lt;/code&gt; from within my code I normally would code something like this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(somethingIsNull) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; NullPointerException();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;While reading the code examples on &#xA;&#xA;&lt;a href=&#34;https://github.com/reactive-streams/reactive-streams-jvm&#34; target=&#34;_blank&#34;&gt;https://github.com/reactive-streams/reactive-streams-jvm&lt;/a&gt;&#xA; I just saw this definitely shorter possibility which I did not know up to now:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt;(somethingIsNull) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;throw&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.13.0 adds the possibility to exclude URLs from being cached</title>
				<link>https://www.sothawo.com/2017/06/mapjfx-1-13-0-adds-the-possibility-to-exclude-urls-from-being-cached/</link>
				<pubDate>Fri, 02 Jun 2017 23:49:53 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/06/mapjfx-1-13-0-adds-the-possibility-to-exclude-urls-from-being-cached/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.13.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.13.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The offline cache now can be configured with a collection of Strings (Java RegExp patterns) so that URLs matching any of these will not be cached.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>rxjava2 producer-consumer example with backpressure implementation</title>
				<link>https://www.sothawo.com/2017/04/rxjava2-producer-consumer-example-with-backpressure-implementation/</link>
				<pubDate>Tue, 25 Apr 2017 11:58:21 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/04/rxjava2-producer-consumer-example-with-backpressure-implementation/</guid>
				<description>&lt;p&gt;This post is a small example how to implement a producer and consumer using &#xA;&#xA;&lt;a href=&#34;https://github.com/ReactiveX/RxJava&#34; target=&#34;_blank&#34;&gt;rxjava2&lt;/a&gt;&#xA;. The producer produces a sequence of Integer objects which are consumed by the consumer. The producer only produces as much items as are requested by the reactive stream. The reader of this post should be familiar with the &#xA;&#xA;&lt;a href=&#34;https://github.com/reactive-streams/reactive-streams-jvm&#34; target=&#34;_blank&#34;&gt;reactive streams concept&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;project-setup&#34;&gt;project setup&lt;/h2&gt;&#xA;&lt;p&gt;I used a maven project, the only dependency needed for this example besides logging is rxjava:&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.12.2 &amp;#8211; no default caching</title>
				<link>https://www.sothawo.com/2017/03/894/</link>
				<pubDate>Sun, 19 Mar 2017 09:54:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/03/894/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.12.2 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.12.2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The test program in the library and the mapjfx-demo now do not use the offline cache by default.&lt;/p&gt;&#xA;&lt;p&gt;The caching seems to get problems the more the backing servers are using https. And Bing for example uses https calls to validate the token, which should not be cached.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.12.1 with fixes to the code for caching data</title>
				<link>https://www.sothawo.com/2017/03/mapjfx-1-12-1-with-fixes-to-the-code-for-caching-data/</link>
				<pubDate>Sat, 11 Mar 2017 17:58:59 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/03/mapjfx-1-12-1-with-fixes-to-the-code-for-caching-data/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.12.1 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.12.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;I implemented some improvemtnes to the code that does the caching of map images.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.12.0 has a custom event for selecting a map area</title>
				<link>https://www.sothawo.com/2017/03/mapjfx-1-12-0-has-a-custom-event-for-selecting-a-map-area/</link>
				<pubDate>Thu, 09 Mar 2017 20:56:06 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/03/mapjfx-1-12-0-has-a-custom-event-for-selecting-a-map-area/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.12.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.12.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The MapView now triggers a custom event when the user drags a rectangle while holding the cmd key (on Mac OSX) or the ctrl key (on Windows). This can be used to set the extent of the map to the selected extent, sample code from the mapjfx-demo app:&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.11.0 using OpenLayers 4.0.1</title>
				<link>https://www.sothawo.com/2017/03/mapjfx-1-11-0-using-openlayers-4-0-1/</link>
				<pubDate>Thu, 02 Mar 2017 04:26:41 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/03/mapjfx-1-11-0-using-openlayers-4-0-1/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.11.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.11.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 4.0.1.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.10.1 has right clicked event for the map</title>
				<link>https://www.sothawo.com/2017/02/mapjfx-1-10-1-has-right-clicked-event-for-the-map/</link>
				<pubDate>Tue, 14 Feb 2017 22:30:25 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/02/mapjfx-1-10-1-has-right-clicked-event-for-the-map/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.10.1 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.10.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now there is a custom event for context (right) clicks in the map., not only for the markers and labels.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.10.0 now supports custom WMS servers</title>
				<link>https://www.sothawo.com/2017/02/mapjfx-1-10-0-now-supports-custom-wms-servers/</link>
				<pubDate>Wed, 08 Feb 2017 22:30:29 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/02/mapjfx-1-10-0-now-supports-custom-wms-servers/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.10.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.10.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;As additional map type, WMS server support was added. The WMS server i s configured programmatically with a special parameter object. The demo contains two WMS servers.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.9.0 using OpenLayers 3.20.1 with additional events for marker and label mouse events</title>
				<link>https://www.sothawo.com/2017/02/mapjfx-1-9-0-using-openlayers-3-20-1-with-additional-events-for-marker-and-label-mouse-events/</link>
				<pubDate>Sun, 05 Feb 2017 20:39:00 +0000</pubDate>
				<guid>https://www.sothawo.com/2017/02/mapjfx-1-9-0-using-openlayers-3-20-1-with-additional-events-for-marker-and-label-mouse-events/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.9.0 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.9.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 3.20.1. New events were added for rightclick, doubleclick, mousedown and mouseup events on markers and labels.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.8.2 using OpenLayers 3.19.1</title>
				<link>https://www.sothawo.com/2016/11/mapjfx-1-8-2-using-openlayers-3-19-1/</link>
				<pubDate>Tue, 01 Nov 2016 11:16:03 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/11/mapjfx-1-8-2-using-openlayers-3-19-1/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.8.2 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.8.2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 3.19.1.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to implement a JavaFX UI where the language can be changed dynamically</title>
				<link>https://www.sothawo.com/2016/09/how-to-implement-a-javafx-ui-where-the-language-can-be-changed-dynamically/</link>
				<pubDate>Tue, 13 Sep 2016 21:33:07 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/09/how-to-implement-a-javafx-ui-where-the-language-can-be-changed-dynamically/</guid>
				<description>&lt;p&gt;When you are trying to make a multilingual JavaFX application, you have the possibility to give a &lt;code&gt;ResourceBundle&lt;/code&gt; to the FXMLLoader when creating the UI from an FXML file. But this fixes the language of the UI when creating it. When you want to change it later, you have to replace your UI with a new loaded version where a different &lt;code&gt;ResourceBundle&lt;/code&gt; was passed on loading.&lt;/p&gt;&#xA;&lt;p&gt;In this post I show how to create a UI programmatically, where the language of the UI can be changed dynamically during runtime without rebuilding the UI.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.8.0 adds custom events for marker and label clicks</title>
				<link>https://www.sothawo.com/2016/08/mapjfx-1-8-0-adds-custom-events-for-marker-and-label-clicks/</link>
				<pubDate>Wed, 31 Aug 2016 22:17:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/08/mapjfx-1-8-0-adds-custom-events-for-marker-and-label-clicks/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.8.0 is released to maven central; the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.8.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The release contains some bug fixes and now has custom events implemented when the user clicks on a marker or a label.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.7.3 with OpenLayers 3.17.1 and removed MapQuest supprt</title>
				<link>https://www.sothawo.com/2016/07/mapjfx-1-7-3-with-openlayers-3-17-1-and-removed-mapquest-supprt/</link>
				<pubDate>Sun, 17 Jul 2016 13:24:16 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/07/mapjfx-1-7-3-with-openlayers-3-17-1-and-removed-mapquest-supprt/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.7.3 is released to maven central; the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.7.3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now version 3.17.1 of OpenLayers is used. The support for MapQuest maps is removed, this being a consequence of it’s removal from OpenLayers (&#xA;&#xA;&lt;a href=&#34;https://github.com/openlayers/ol3/issues/5484&#34; target=&#34;_blank&#34;&gt;more info to be found here&lt;/a&gt;&#xA;).&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.7.1 with some minor improvements in offline caching</title>
				<link>https://www.sothawo.com/2016/04/mapjfx-1-7-1-with-some-minor-improvements-in-offline-caching/</link>
				<pubDate>Sat, 16 Apr 2016 18:27:09 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/04/mapjfx-1-7-1-with-some-minor-improvements-in-offline-caching/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.7.1 is release to maven central; the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.7.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This release has two small improvements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the OfflineCache of the MapView now has a clear() method which deletes the entires from cache directory&lt;/li&gt;&#xA;&lt;li&gt;when using OpenStreetmap tiles, files from different servers like a.tile.openstreetmap.org and b.tile.openstreetmap.org are mapped to the same cache file&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.7.0 with the ability for caching map data</title>
				<link>https://www.sothawo.com/2016/04/mapjfx-1-7-0-with-the-ability-for-caching-map-data/</link>
				<pubDate>Wed, 13 Apr 2016 22:52:14 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/04/mapjfx-1-7-0-with-the-ability-for-caching-map-data/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.7.0 it can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.7.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The library can now use a directory to cache the downloaded map images for later speedup and offline use. Detailed information can be &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;found here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.6.2 and mapjfx-demo 1.6.2 now using OpenLayers 3.14.2</title>
				<link>https://www.sothawo.com/2016/03/mapjfx-1-6-2-and-mapjfx-demo-1-6-2-now-using-openlayers-3-14-2/</link>
				<pubDate>Sun, 06 Mar 2016 18:14:35 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/03/mapjfx-1-6-2-and-mapjfx-demo-1-6-2-now-using-openlayers-3-14-2/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.6.2 it can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.6.2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The used openlayers version now is 3.14.2.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>setting up MacPorts apache2 with virtual hosts and PHP 5.6</title>
				<link>https://www.sothawo.com/2016/01/setting-up-macports-apache2-with-virtual-hosts-and-php-5-6/</link>
				<pubDate>Sat, 30 Jan 2016 20:35:24 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/01/setting-up-macports-apache2-with-virtual-hosts-and-php-5-6/</guid>
				<description>&lt;p&gt;I just needed an apache webserver with PHP 5.6 and some virtual hosts on my Mac running OSX El Capitan. The native OSX apache version comes with an older version of PHP which has no xdebug support, so I shut it down with&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apachectl stop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;&#xA;&lt;p&gt;I installed the following ports:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo port install apache2 php56 php56-apache2handler php56-xdebug&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;apache-configuration&#34;&gt;Apache configuration&lt;/h2&gt;&#xA;&lt;p&gt;After installing the following commands are needed:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd /opt/local/apache2/modules&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php56.so&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After that, the following changes must be made to /opt/local/apache2/conf/httpd.conf:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Apache VirtualHost on Mac OSX</title>
				<link>https://www.sothawo.com/2016/01/apache-virtualhost-on-mac-osx/</link>
				<pubDate>Fri, 29 Jan 2016 19:30:51 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/01/apache-virtualhost-on-mac-osx/</guid>
				<description>&lt;p&gt;note to self:&lt;/p&gt;&#xA;&lt;p&gt;to set up a virtual host named &lt;em&gt;viho&lt;/em&gt; for local web development testing on OSX El Capitan (and probably earlier):&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;define an alias name in &lt;code&gt;/etc/hosts&lt;/code&gt;:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   127.0.0.1       localhost viho&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ::1             localhost viho&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;setup the virtual host configuration file &lt;code&gt;/etc/apache2/other/viho.conf&lt;/code&gt;:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    &amp;lt;VirtualHost *:80&amp;gt;&#xA;      DocumentRoot &amp;#34;/path/to/where/the/files/are&amp;#34;&#xA;      ServerName viho&#xA;    &amp;lt;/VirtualHost&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;browse to &lt;em&gt;http://viho/&lt;/em&gt; and enjoy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Apache on Mac OSX El Capitan</title>
				<link>https://www.sothawo.com/2016/01/apache-on-mac-osx-el-capitan/</link>
				<pubDate>Mon, 18 Jan 2016 09:09:53 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/01/apache-on-mac-osx-el-capitan/</guid>
				<description>&lt;p&gt;Note to self:&lt;/p&gt;&#xA;&lt;p&gt;To start or stop the Apache webserver on Mac OSX El Capitan, use the terminal:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apachectl start&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apachectl stop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apachectl restart&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The configuration is found in &lt;em&gt;/etc/apache2/httpd.conf&lt;/em&gt;. The default DocumentRoot directory is &lt;em&gt;/Library/WebServer/Documents&lt;/em&gt;. Additional configuration files should be put in &lt;em&gt;&lt;!-- raw HTML omitted --&gt;/etc/apache2/other/*.conf&lt;/em&gt; files.&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.6.0 supports the display of labels</title>
				<link>https://www.sothawo.com/2016/01/mapjfx-1-6-0-supports-the-display-of-labels/</link>
				<pubDate>Fri, 01 Jan 2016 08:29:15 +0000</pubDate>
				<guid>https://www.sothawo.com/2016/01/mapjfx-1-6-0-supports-the-display-of-labels/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.6.0 it can be foundat maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.6.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This latest version supports css-stylable Labels on the map, that optionally may be attached to Markers.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.5.1 with OpenLayers 3.11.2</title>
				<link>https://www.sothawo.com/2015/12/mapjfx-1-5-1-with-openlayers-3-11-2/</link>
				<pubDate>Wed, 02 Dec 2015 05:25:43 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/12/mapjfx-1-5-1-with-openlayers-3-11-2/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.5.1 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.5.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 3.11.2.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.5.0 adds support for Bing Maps</title>
				<link>https://www.sothawo.com/2015/11/mapjfx-1-5-0-adds-support-for-bing-maps/</link>
				<pubDate>Sat, 14 Nov 2015 13:30:32 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/11/mapjfx-1-5-0-adds-support-for-bing-maps/</guid>
				<description>&lt;p&gt;I released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.5.0, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.5.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now has support to display Bing Maps Road and Bing Maps Aerial, when an API Key is provided. More info and descriptions &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;can be found here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Jsoup and 403 error</title>
				<link>https://www.sothawo.com/2015/11/jsoup-and-403-error/</link>
				<pubDate>Sat, 07 Nov 2015 15:30:19 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/11/jsoup-and-403-error/</guid>
				<description>&lt;p&gt;In a project I was loading the title of a web page with the following call using the &#xA;&#xA;&lt;a href=&#34;http://jsoup.org/&#34; target=&#34;_blank&#34;&gt;Jsoup&lt;/a&gt;&#xA; library:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;String htmlTitle &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Jsoup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;connect&lt;/span&gt;(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;timeout&lt;/span&gt;(5000)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;title&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This was returning an error 403 on some webpages. I could fix that by passing along an useragent string:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;String htmlTitle &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Jsoup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;connect&lt;/span&gt;(url)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;timeout&lt;/span&gt;(5000)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;userAgent&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        .&lt;span style=&#34;color:#a6e22e&#34;&gt;title&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I just took the actual value from my Chrome browser. It seems some sites are picky about clients not identifying themselves.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.4.9 with OpenLayers 3.10.1</title>
				<link>https://www.sothawo.com/2015/10/mapjfx-1-4-9-with-openlayers-3-10-1/</link>
				<pubDate>Sat, 31 Oct 2015 07:41:37 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/10/mapjfx-1-4-9-with-openlayers-3-10-1/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.4.9 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.9&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now uses OpenLayers 3.10.1.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx version 1.4.8 released</title>
				<link>https://www.sothawo.com/2015/10/mapjfx-version-1-4-8-released/</link>
				<pubDate>Sun, 18 Oct 2015 18:13:02 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/10/mapjfx-version-1-4-8-released/</guid>
				<description>&lt;p&gt;I just released &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; version 1.4.8 it should be found shortly at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.8&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The fix introduced in the last version did not work on windows; this is fixed.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx version 1.4.7 released</title>
				<link>https://www.sothawo.com/2015/10/mapjfx-version-1-4-7-released/</link>
				<pubDate>Wed, 07 Oct 2015 22:19:58 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/10/mapjfx-version-1-4-7-released/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; has reached versions 1.4.7 and can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.7&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This fixes a regression that kept mapjfx from working with JDK 1.8u60-&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spring-Boot, OpenShift2-DIY and Java8 without installing a custom JDK</title>
				<link>https://www.sothawo.com/2015/10/spring-boot-openshift2-diy-and-java8-without-installing-a-custom-jdk/</link>
				<pubDate>Sun, 04 Oct 2015 12:50:24 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/10/spring-boot-openshift2-diy-and-java8-without-installing-a-custom-jdk/</guid>
				<description>&lt;p&gt;In a &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2015/09/deploying-a-spring-boot-application-running-with-java8-on-openshift2/&#34;&gt;previous blog post&lt;/a&gt;&#xA; I wrote about how to setup a DIY cartridge on OpenShift2 when you need Java 8 for a Spring-Boot application. What I actually didn’t like in that solution was the fact that the installed JDK uses several hundred megabytes of disk space. When running in the free plan on a small gear this is too much when you add a cartridge like mongo which itself uses over 400MB. I ended up with just a plain application and a mongo db with no data getting the message that the space on my gear is exhausted.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Run a Spring-Boot application on OpenShift behind HTTPS only</title>
				<link>https://www.sothawo.com/2015/09/run-a-spring-boot-application-on-openshift-behind-https-only/</link>
				<pubDate>Wed, 16 Sep 2015 22:02:04 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/09/run-a-spring-boot-application-on-openshift-behind-https-only/</guid>
				<description>&lt;p&gt;When a Spring-Boot application is deployed on OpenShift, it can be reached both with a HTTP URL and a HTTPS URL. This is because OpenShift runs a proxy in front of the application which in case of HTTP just routes the request to the application. If a request comes in via HTTPS, the proxy does all the encryption handling with the client and then passes the decrypted request on to the application – on the HTTP channel – and encrypts the response before sending it to the client.&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenShift configure which branch to deploy</title>
				<link>https://www.sothawo.com/2015/09/openshift-configure-which-branch-to-deploy/</link>
				<pubDate>Sat, 12 Sep 2015 22:07:48 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/09/openshift-configure-which-branch-to-deploy/</guid>
				<description>&lt;p&gt;Note to self: this is a copy from the &#xA;&#xA;&lt;a href=&#34;https://developers.openshift.com/en/managing-deployments.html#configuring-which-branch-to-deploy&#34; target=&#34;_blank&#34;&gt;OpenShift documentation&lt;/a&gt;&#xA;:&lt;/p&gt;&#xA;&lt;p&gt;Configuring Which Branch to Deploy&lt;br&gt;&#xA;By default OpenShift deploys the master branch when you do a git push (when automatic deployments are enabled). You can change this behavior using the rhc app-configure –deployment-branch command, where is the new branch to deploy.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ rhc app-configure  --deployment-branch  &lt;span style=&#34;color:#75715e&#34;&gt;# Master is the Default&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ rhc app-configure myapp --deployment-branch new_branch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Configuring application &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;myapp&amp;#39;&lt;/span&gt; ... &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;myapp @ http://myapp-osexample.rhcloud.com/ &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;uuid: 54da3b4be0b8cd64a2000010&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ----------------------------------------------------------------------------&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Deployment: auto &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;on git push&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Keep Deployments: &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Deployment Type: git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Deployment Branch: new_branch&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your application &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;myapp&amp;#39;&lt;/span&gt; is now configured as listed above.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now when you make commits to your new branch and do a git push to OpenShift, those changes will be deployed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Spring-Boot, Spring profiles and configuration files</title>
				<link>https://www.sothawo.com/2015/09/spring-boot-spring-profiles-and-configuration-files/</link>
				<pubDate>Sat, 12 Sep 2015 21:36:03 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/09/spring-boot-spring-profiles-and-configuration-files/</guid>
				<description>&lt;p&gt;Note to self: When using Spring-Boot, use &lt;em&gt;application.conf&lt;/em&gt; as a base configuration for the needed values. Configuration values for the specific profile go into the &lt;em&gt;application-&amp;lt;profile&amp;gt;.config&lt;/em&gt; file.&lt;/p&gt;&#xA;&lt;p&gt;Profiles are activated by using either the &lt;code&gt;-Dspring.profiles.active=&amp;lt;profile&amp;gt;&lt;/code&gt; VM flag or &lt;code&gt;--spring.profiles.active=&amp;lt;profile&amp;gt;&lt;/code&gt; commandline arg.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploying a Spring-Boot application running with Java8 on OpenShift2</title>
				<link>https://www.sothawo.com/2015/09/deploying-a-spring-boot-application-running-with-java8-on-openshift2/</link>
				<pubDate>Sun, 06 Sep 2015 23:07:44 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/09/deploying-a-spring-boot-application-running-with-java8-on-openshift2/</guid>
				<description>&lt;p&gt;This post describes how to create and deploy a Spring-Boot application to &#xA;&#xA;&lt;a href=&#34;https://openshift.redhat.com&#34; target=&#34;_blank&#34;&gt;RedHat OpenShift&lt;/a&gt;&#xA; (version 2) when the application is using Java 8.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2015-10-04:&lt;/strong&gt; In &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2015/10/spring-boot-openshift2-diy-and-java8-without-installing-a-custom-jdk/&#34;&gt;this newer post &lt;/a&gt;&#xA;I show how to not install a custom JDK. So you should first read this post and then the linked one for additional information.&lt;/p&gt;&#xA;&lt;p&gt;Normally deploying a Spring-Boot application on OpenShift is not too much pain and is explained in the Spring-Boot documentation. But some extra work is needed when the application is built and run with Java 8, as at the time of writing, the DIY cartridge of OpenShift only supports Java 7. And, to make things worse, the mvn command which is available in the DIY cartridge is rewritten by RedHat, so it will pick up Java 7 no matter what you set your JAVA_HOME to.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx version 1.4.5 released</title>
				<link>https://www.sothawo.com/2015/08/mapjfx-version-1-4-5-released/</link>
				<pubDate>Mon, 03 Aug 2015 11:18:17 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/08/mapjfx-version-1-4-5-released/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; has reached versions 1.4.5 and can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.4&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;a small fix for handling markers when they have no coordinate when added for the first time.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Build a Spring-Boot REST service with Basic Authentication for several users</title>
				<link>https://www.sothawo.com/2015/07/build-a-spring-boot-rest-service-with-basic-authentication-for-several-users/</link>
				<pubDate>Tue, 28 Jul 2015 17:16:58 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/07/build-a-spring-boot-rest-service-with-basic-authentication-for-several-users/</guid>
				<description>&lt;p&gt;This post describes how to build a REST service with Spring-Boot that uses Basic-Authentication for several users and that uses the username of the authenticated user to do it’s work. &lt;strong&gt;Warning&lt;/strong&gt;: A service using basic authentication should always use HTTPS as transport protocol, either by running behind a web server proxy or by setting up HTTPS by itself. I’ll cover the latter in a later post.&lt;/p&gt;&#xA;&lt;p&gt;This might be a setup for a service, where for each user, data is stored in a database, so it not only is necessary to authenticate the user to use the service, but it is also necessary in the service to know which user is accessing the service.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using Server-Push in a Vaadin app</title>
				<link>https://www.sothawo.com/2015/06/using-server-push-in-a-vaadin-app/</link>
				<pubDate>Tue, 23 Jun 2015 15:25:05 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/06/using-server-push-in-a-vaadin-app/</guid>
				<description>&lt;p&gt;Just a short post to show how easy it is with Vaadin 7 to use server push in an application.&lt;/p&gt;&#xA;&lt;p&gt;When doing some tasks in a background thread in a Vaadin application, there probably will come the time when some data needs to be shown in the UI. But as these data changes come from background processing, there is no direct possibility to show them in the UI, as UI changes normally are only reflected after a communication roundtrip from client to server to client which happens as a reaction to some user interaction. So even if you update your UI components in a &lt;code&gt;UI.access()&lt;/code&gt; call – which is needed for correct access from the worker thread – these changes will not show in the UI until the next click. This is not what the user wants.&lt;/p&gt;</description>
			</item>
			<item>
				<title>fix maven-release-plugin not committing changed pom.xml when using git repository</title>
				<link>https://www.sothawo.com/2015/06/fix-maven-release-plugin-not-committing-changed-pom-xml-when-using-git-repository/</link>
				<pubDate>Mon, 08 Jun 2015 20:59:58 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/06/fix-maven-release-plugin-not-committing-changed-pom-xml-when-using-git-repository/</guid>
				<description>&lt;p&gt;With one of my projects I just had the problem that the &lt;em&gt;maven-release-plugin&lt;/em&gt; did not work as expected: I did a &lt;code&gt;mvn release:prepare&lt;/code&gt;, answered the questions about the version number of the release and the next snapshot version, but the release plugin did not work as expected:&lt;/p&gt;&#xA;&lt;p&gt;The version in the &lt;em&gt;pom.xml&lt;/em&gt; was updated to the release version, the &lt;em&gt;pom.xml&lt;/em&gt; was added to git stage, but not committed. After that, the new tag was created on the version that had still the &lt;em&gt;pom.xml&lt;/em&gt; with the SNAPSHOT release, and the &lt;code&gt;mvn release:perform&lt;/code&gt; was not building the release version, but still the snapshot version.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using Spring-Boot configuration properties in your own classes</title>
				<link>https://www.sothawo.com/2015/06/using-spring-boot-configuration-properties-in-your-own-classes/</link>
				<pubDate>Wed, 03 Jun 2015 09:36:25 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/06/using-spring-boot-configuration-properties-in-your-own-classes/</guid>
				<description>&lt;p&gt;When writing a Spring-Boot application it is possible to use your own custom configuration classes which are injected by spring into your application and which are configured in the &lt;em&gt;application.properties&lt;/em&gt; file. There is even support for autocomplete support in the properties file editor in IntelliJ IDEA (I suppose there is something similar in Eclipse or NetBeans, but I haven’t tried that). This post shows how to achieve this.&lt;/p&gt;&#xA;&lt;p&gt;Basically this is used for auto configuration of Spring-Boot components, but can be used in the Spring-Boot application as well.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Custom theme for a Vaadin &amp; Spring-boot application</title>
				<link>https://www.sothawo.com/2015/06/custom-theme-for-a-vaadin-spring-boot-application/</link>
				<pubDate>Tue, 02 Jun 2015 21:41:24 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/06/custom-theme-for-a-vaadin-spring-boot-application/</guid>
				<description>&lt;p&gt;Recently I wrote an application based on Vaadin Spring-boot, and when I needed to modify the theme of the application I needed to do some research as how to achieve that. I think that at the time the combination of Vaadin and Spring-boot is still pretty new so that information still must be sought. So in this post I describe the necessary steps.&lt;/p&gt;&#xA;&lt;p&gt;I use the following versions of different tools:&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx upgraded to version 1.4.4</title>
				<link>https://www.sothawo.com/2015/05/mapjfx-upgraded-to-version-1-4-4/</link>
				<pubDate>Sat, 02 May 2015 21:31:05 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/05/mapjfx-upgraded-to-version-1-4-4/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; has reached versions 1.4.4 and can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.4&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;mapjfx now uses OpenLayers version 3.4.0.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx reached version 1.4.3</title>
				<link>https://www.sothawo.com/2015/02/mapjfx_reached_version_1-4-3/</link>
				<pubDate>Mon, 23 Feb 2015 21:29:15 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/02/mapjfx_reached_version_1-4-3/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; has reached versions 1.4.3 and can be found at maven central, the artifact coordinates are:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.4.3&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>trakxmap 0.4.0 displays track elevation graph</title>
				<link>https://www.sothawo.com/2015/02/trakxmap-0-4-0-displays-track-elevation-graph/</link>
				<pubDate>Sat, 14 Feb 2015 13:13:31 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/02/trakxmap-0-4-0-displays-track-elevation-graph/</guid>
				<description>&lt;p&gt;the latest version of &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/trakxmap/&#34;&gt;trakxmap&lt;/a&gt;&#xA; displays an elevation graph for the chosen track along with the display on the map&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sothawo.com/migrated/2015/01/trakxmap-0.4.0.png&#34; alt=&#34;screenshot&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>trakxmap 0.3.1 released</title>
				<link>https://www.sothawo.com/2015/02/trakxmap-0-3-1-released/</link>
				<pubDate>Sun, 08 Feb 2015 14:20:01 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/02/trakxmap-0-3-1-released/</guid>
				<description>&lt;p&gt;the latest version of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/trakxmap/&#34;&gt;trakxmap&lt;/a&gt;&#xA; application has the following new features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;track list is ordered, latest track at top&lt;/li&gt;&#xA;&lt;li&gt;additional track info in the track list view&lt;/li&gt;&#xA;&lt;li&gt;map type is selectable&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>trakxmap 0.3.0 persisting track data</title>
				<link>https://www.sothawo.com/2015/02/trakxmap-0-3-0-persisting-track-data/</link>
				<pubDate>Fri, 06 Feb 2015 16:58:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/02/trakxmap-0-3-0-persisting-track-data/</guid>
				<description>&lt;p&gt;The &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/trakxmap/&#34;&gt;trakxmap&lt;/a&gt;&#xA; application has reached version 0.3.0. There are no visible changes, but the imported tracks are persisted in an internal database and so are available on subsequent program starts.&lt;/p&gt;&#xA;&lt;p&gt;Route points are displayed along with track points.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using the new Java8 date / time classes with Hibernate</title>
				<link>https://www.sothawo.com/2015/01/using-the-new-java8-date-time-classes-with-hibernate/</link>
				<pubDate>Sat, 31 Jan 2015 17:49:52 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/using-the-new-java8-date-time-classes-with-hibernate/</guid>
				<description>&lt;p&gt;At the time of writing – January 2015 – neither JPA2.1 nor the actual Hibernate implementation 4.3.8.FINAL support the use of the new Java8 date and time classes as properties for an entity class. But JPA2.1 has a &lt;code&gt;@Converter&lt;/code&gt; annotation that together with the &lt;code&gt;AttributeConverter&lt;/code&gt; interface enables a simple solution to the problem.&lt;/p&gt;&#xA;&lt;p&gt;(&lt;strong&gt;Update&lt;/strong&gt; July 10, 2015): Hibernate 5.0.0 – currently RC2 – supports the new types without any further need for Converters; hibernate-java8 is needed on the classpath. Thanks to Paul Paulsson for the information)&lt;/p&gt;</description>
			</item>
			<item>
				<title>Run IntelliJ IDEA with actual Java version on OS X</title>
				<link>https://www.sothawo.com/2015/01/run-intellij-idea-with-actual-java-version-on-os-x/</link>
				<pubDate>Fri, 30 Jan 2015 14:22:37 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/run-intellij-idea-with-actual-java-version-on-os-x/</guid>
				<description>&lt;p&gt;With every update of IntelliJ IDEA, I stumble over this: IDEA wants to run on Java Version 6. As I don’t have this buggy outdated version on my Mac anymore, I always have to patch the config. To do this, locate the file named &lt;em&gt;Info.plist&lt;/em&gt; in the &lt;em&gt;Contents&lt;/em&gt; folder of the &lt;em&gt;IntelliJ IDEA 14 CE.app&lt;/em&gt; directory. Open the file with TextEdit or any text editor of your choice and change the line&lt;/p&gt;</description>
			</item>
			<item>
				<title>trakxmap version 0.2.0</title>
				<link>https://www.sothawo.com/2015/01/trakxmap-version-0-2-0/</link>
				<pubDate>Mon, 26 Jan 2015 17:50:51 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/trakxmap-version-0-2-0/</guid>
				<description>&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/trakxmap/&#34;&gt;trakxmap&lt;/a&gt;&#xA;, a JavaFX8 application to display gpx track data on a map using the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; component has reached version 0.2.0. More info on the linked page.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-1.4.0 and mapjfx-demo-1.4.0 with coordinate-lines/tracks</title>
				<link>https://www.sothawo.com/2015/01/mapjfx-1-4-0-and-mapjfx-demo-1-4-0-with-coordinate-linestracks/</link>
				<pubDate>Sun, 25 Jan 2015 21:57:45 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/mapjfx-1-4-0-and-mapjfx-demo-1-4-0-with-coordinate-linestracks/</guid>
				<description>&lt;p&gt;I released version 1.4.0 of &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; and &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;mapjfx-demo&lt;/a&gt;&#xA;. The map component now can display coordinate lines or tracks in any color or desired thickness. The source code is available at GitHub.&lt;/p&gt;&#xA;&lt;p&gt;Requests and contributions welcome.&lt;/p&gt;</description>
			</item>
			<item>
				<title>tracks / coordinate lines coming to mapjfx</title>
				<link>https://www.sothawo.com/2015/01/tracks-coordinate-lines-coming-to-mapjfx/</link>
				<pubDate>Thu, 22 Jan 2015 22:04:11 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/tracks-coordinate-lines-coming-to-mapjfx/</guid>
				<description>&lt;p&gt;Today I started to implement the display of tracks in &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA;. They are defined by a list of coordinates. Looks promising:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sothawo.com/migrated/2015/01/mapjfx-2015-01-22.png&#34; alt=&#34;screenshot&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>trakxmap</title>
				<link>https://www.sothawo.com/projects/trakxmap/</link>
				<pubDate>Sat, 10 Jan 2015 20:48:33 +0100</pubDate>
				<guid>https://www.sothawo.com/projects/trakxmap/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note March 2022:&lt;/strong&gt; This project was a small showcase for the use of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; library. It is not maintained anymore.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;trakxmap&lt;/strong&gt; is a desktop application where you can import gpx track data which may come from sources like GPS receivers or tracking programs on a smartphone. The tracks are shown on a map along with statistical information about speed, altitude, duration.&lt;/p&gt;&#xA;&lt;p&gt;No online account is required to store the data, it’s all local to your computer. An internet connection only is needed for getting the map data.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.3.1 and mapjfx-demo-1.3.1 released</title>
				<link>https://www.sothawo.com/2015/01/mapjfx-1-3-1-and-mapjfx-demo-1-3-1-released/</link>
				<pubDate>Fri, 09 Jan 2015 00:14:23 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/mapjfx-1-3-1-and-mapjfx-demo-1-3-1-released/</guid>
				<description>&lt;p&gt;I released version 1.3.1 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.3.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;demo program&lt;/a&gt;&#xA; that showcases the possibilities is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx-demo&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA; as well. The description of the demo program shows the several features and how to use them.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.3.0:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;attribution links in the map are displayed in the system’s default browser, not in the WebView&lt;/li&gt;&#xA;&lt;li&gt;removed the WebView’s native context menu&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Threadsafe simple cache with two lines of code in Java 8</title>
				<link>https://www.sothawo.com/2015/01/threadsafe-simple-cache-with-two-lines-of-code-in-java-8/</link>
				<pubDate>Wed, 07 Jan 2015 07:49:51 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/threadsafe-simple-cache-with-two-lines-of-code-in-java-8/</guid>
				<description>&lt;p&gt;Sometimes you just need a small simple cache for calculated values because the value generation is expensive in time or resources. In this post I show how such a cache can be implemented in a thread safe way with the Java8 version of the ConcurrentHashMap class with just 2 lines of relevant code.&lt;/p&gt;&#xA;&lt;p&gt;For this example I use the calculation of the n-th fibonacci number and calculate the values for there input of 1 to 20.&lt;/p&gt;</description>
			</item>
			<item>
				<title>create a data URI from an URL</title>
				<link>https://www.sothawo.com/2015/01/create-a-data-uri-from-an-url/</link>
				<pubDate>Mon, 05 Jan 2015 17:55:32 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/create-a-data-uri-from-an-url/</guid>
				<description>&lt;p&gt;Recently I needed for my &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx project&lt;/a&gt;&#xA; to convert an image, where I had the URL of, to a base64 encoded data-URI. The following code shows how to do the conversion (Java 8 code):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; * (c) 2015 P.J. Meisch (pj.meisch@sothawo.com).&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.io.ByteArrayOutputStream;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.io.File;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.io.IOException;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.io.InputStream;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.net.*;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.util.Base64;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.util.logging.Level;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.util.logging.Logger;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Test&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; Logger logger &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;getAnonymousLogger&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; URI &lt;span style=&#34;color:#a6e22e&#34;&gt;getDataURIForURL&lt;/span&gt;(URL url) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        URI dataUri &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; url) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt; (InputStream inStreamGuess &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url.&lt;span style=&#34;color:#a6e22e&#34;&gt;openStream&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 InputStream inStreamConvert &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; url.&lt;span style=&#34;color:#a6e22e&#34;&gt;openStream&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 ByteArrayOutputStream os &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; ByteArrayOutputStream()) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                String contentType &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; URLConnection.&lt;span style=&#34;color:#a6e22e&#34;&gt;guessContentTypeFromStream&lt;/span&gt;(inStreamGuess);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; contentType) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;byte&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; chunk &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;byte&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;4096&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; bytesRead;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; ((bytesRead &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; inStreamConvert.&lt;span style=&#34;color:#a6e22e&#34;&gt;read&lt;/span&gt;(chunk)) &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; 0) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        os.&lt;span style=&#34;color:#a6e22e&#34;&gt;write&lt;/span&gt;(chunk, 0, bytesRead);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    os.&lt;span style=&#34;color:#a6e22e&#34;&gt;flush&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    dataUri &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; URI(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;data:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; contentType &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;;base64,&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            Base64.&lt;span style=&#34;color:#a6e22e&#34;&gt;getEncoder&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;encodeToString&lt;/span&gt;(os.&lt;span style=&#34;color:#a6e22e&#34;&gt;toByteArray&lt;/span&gt;()));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;warning&lt;/span&gt;(() &lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;could not get content type from &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; url.&lt;span style=&#34;color:#a6e22e&#34;&gt;toExternalForm&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            } &lt;span style=&#34;color:#66d9ef&#34;&gt;catch&lt;/span&gt; (IOException e) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(Level.&lt;span style=&#34;color:#a6e22e&#34;&gt;SEVERE&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;error loading data from url&amp;#34;&lt;/span&gt;, e);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            } &lt;span style=&#34;color:#66d9ef&#34;&gt;catch&lt;/span&gt; (URISyntaxException e) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(Level.&lt;span style=&#34;color:#a6e22e&#34;&gt;SEVERE&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;error building uri&amp;#34;&lt;/span&gt;, e);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; dataUri;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;try&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            URL url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; File(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;test.png&amp;#34;&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;toURI&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;toURL&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;info&lt;/span&gt;(() &lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;url: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; url.&lt;span style=&#34;color:#a6e22e&#34;&gt;toExternalForm&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            URI dataURI &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; getDataURIForURL(url);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            logger.&lt;span style=&#34;color:#a6e22e&#34;&gt;info&lt;/span&gt;(() &lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dataUrl: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; dataURI.&lt;span style=&#34;color:#a6e22e&#34;&gt;toString&lt;/span&gt;());&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        } &lt;span style=&#34;color:#66d9ef&#34;&gt;catch&lt;/span&gt; (MalformedURLException e) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            e.&lt;span style=&#34;color:#a6e22e&#34;&gt;printStackTrace&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The logging output is as follows (last line shortened):&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx 1.3.0 and mapjfx-demo-1.3.0 released</title>
				<link>https://www.sothawo.com/2015/01/mapjfx-1-3-0-and-mapjfx-demo-1-3-0-released/</link>
				<pubDate>Sun, 04 Jan 2015 23:03:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2015/01/mapjfx-1-3-0-and-mapjfx-demo-1-3-0-released/</guid>
				<description>&lt;p&gt;I released version 1.3.0 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.3.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;demo program&lt;/a&gt;&#xA; that showcases the possibilities is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx-demo&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA; as well. The description of the demo program shows the several features and how to use them.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.2.1:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;added marker support&lt;/li&gt;&#xA;&lt;li&gt;added singleclick feedback as JavaFX event with map coordinate&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-1.2.1 released with mapjfx-demo-1.2.1</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-1-2-1-released-with-mapjfx-demo-1-2-1/</link>
				<pubDate>Wed, 31 Dec 2014 19:01:01 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-1-2-1-released-with-mapjfx-demo-1-2-1/</guid>
				<description>&lt;p&gt;I released version 1.2.1 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.2.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;demo program&lt;/a&gt;&#xA; that showcases the possibilities is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx-demo&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA; as well.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.1.1:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;set the map’s extent, so that a collection of coordinates is visible&lt;/li&gt;&#xA;&lt;li&gt;API modifications for fluent interface&lt;/li&gt;&#xA;&lt;li&gt;possibility to switch between map types&lt;/li&gt;&#xA;&lt;li&gt;added MapType enum and property&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-1.1.1 released</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-1-1-1-released/</link>
				<pubDate>Fri, 26 Dec 2014 20:43:10 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-1-1-1-released/</guid>
				<description>&lt;p&gt;I released version 1.1.1 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.1.1&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.1.0:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;animation duration property type changed from double to int&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-1.1.0 released</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-1-1-0-released/</link>
				<pubDate>Fri, 26 Dec 2014 11:13:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-1-1-0-released/</guid>
				<description>&lt;p&gt;I released version 1.1.0 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.1.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.0.2:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;removed unnecessary code&lt;/li&gt;&#xA;&lt;li&gt;reworked MapView constructor to enable SceneBuilder compatibility&lt;/li&gt;&#xA;&lt;li&gt;removed slf4j-api dependency and switched to java logging to enable SceneBuilder compatibility&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>new project mapjfx-demo</title>
				<link>https://www.sothawo.com/2014/12/new-project-mapjfx-demo/</link>
				<pubDate>Fri, 26 Dec 2014 09:19:12 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/new-project-mapjfx-demo/</guid>
				<description>&lt;p&gt;I created a new project &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx-demo/&#34;&gt;mapjfx-demo&lt;/a&gt;&#xA;, which is a JavaFX8 program showing what can be done with the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34; title=&#34;mapjfx&#34;&gt;mapjfx&lt;/a&gt;&#xA; component. It is a standalone application where the scene is built by reading a FXML file, which was created using Oracle’s SceneBuilder application.&lt;/p&gt;&#xA;&lt;p&gt;Comments and contributions welcome&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-demo</title>
				<link>https://www.sothawo.com/projects/mapjfx-demo/</link>
				<pubDate>Fri, 26 Dec 2014 08:59:14 +0100</pubDate>
				<guid>https://www.sothawo.com/projects/mapjfx-demo/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note March 2022:&lt;/strong&gt; I started mapjfx in December 2014 as a side project. In these seven years I learned quite some things by developing and maintaining it. But my focus has shifted and I don’t have the time anymore to take care of this project. So from &lt;strong&gt;March 2022&lt;/strong&gt; on, mapjfx will be out of maintenance. I’ll do no further development on it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;mapjfx-demo is a JavaFX application that uses the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34; title=&#34;mapjfx&#34;&gt;mapjfx&lt;/a&gt;&#xA; component. It is a showcase application demoing all the features from the library and shows how to use it. It is a standalone application that is built using an FXML file.&lt;/p&gt;</description>
			</item>
			<item>
				<title>load java logging properties from the classpath</title>
				<link>https://www.sothawo.com/2014/12/load-java-logging-properties-from-the-classpath/</link>
				<pubDate>Thu, 25 Dec 2014 22:55:10 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/load-java-logging-properties-from-the-classpath/</guid>
				<description>&lt;p&gt;When using plain Java logging the configuration file normally must be set by setting the System property &lt;code&gt;java.util.logging.config.file&lt;/code&gt;. There also is the possibility to configure the logging system with a configuration class, but this article deals with file configuration.&lt;/p&gt;&#xA;&lt;p&gt;Using the system property is quite uncomfortable as it involves changing run configurations in the IDE or typing more on the commandline when starting the program. Especially in maven powered builds, where I might wish to have different configurations for test and normal execution this is not an optimal solution.&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx-1.0.2 released</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-1-0-2-released/</link>
				<pubDate>Tue, 23 Dec 2014 14:25:13 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-1-0-2-released/</guid>
				<description>&lt;p&gt;I released version 1.0.2 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.0.2&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Changes since 1.0.0:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;javadoc correction&lt;/li&gt;&#xA;&lt;li&gt;readme correction&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Comments and contributions are welcome!&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapfjx-1.0.0 released</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-1-0-0/</link>
				<pubDate>Mon, 22 Dec 2014 09:20:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-1-0-0/</guid>
				<description>&lt;p&gt;I released version 1.0.0 of the &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project to maven central. It can be found at&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.sothawo&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mapjfx&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;1.0.0&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The source is available at &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;The showcase program contained in the sources displays the possibilities:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Above the map are some buttons, the first three set the center of the map to a predefined value, the fourth sets the zoom value.&lt;/li&gt;&#xA;&lt;li&gt;Next to the buttons is a slider for setting the zoom level. This slider is birectional bound to the zoom property of the map view, so that changes by the slider are shown in the map and changes by using the map controls move the slider&lt;/li&gt;&#xA;&lt;li&gt;Below the map view is a status line that reflects the current value for center and zoom, these values are adjusted when the map changes either programmatically or by the user panning or doubleclicking the map or using the map controls.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://www.sothawo.com/migrated/2014/12/mapjfx-1.0.0.png&#34; alt=&#34;screenshot&#34;&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx now includes optional animation</title>
				<link>https://www.sothawo.com/2014/12/mapjfx-now-includes-optional-animation/</link>
				<pubDate>Wed, 17 Dec 2014 20:22:12 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/mapjfx-now-includes-optional-animation/</guid>
				<description>&lt;p&gt;my &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34; title=&#34;mapjfx&#34;&gt;mapjfx&lt;/a&gt;&#xA; JavaFX component now optionally animates the change when the center of the map or the zoom level are set using the JavaFX properties.&lt;/p&gt;</description>
			</item>
			<item>
				<title>published sources for mapjfx</title>
				<link>https://www.sothawo.com/2014/12/published-sources-for-mapjfx/</link>
				<pubDate>Mon, 15 Dec 2014 18:20:33 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/published-sources-for-mapjfx/</guid>
				<description>&lt;p&gt;I published the sources for my &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;mapjfx&lt;/a&gt;&#xA; project on &#xA;&#xA;&lt;a href=&#34;https://codeberg.org/sothawo/mapjfx&#34; target=&#34;_blank&#34;&gt;Codeberg&lt;/a&gt;&#xA;. mapjfx is a JavaFX8 component containing a map, based on &#xA;&#xA;&lt;a href=&#34;http://openlayers.org&#34; target=&#34;_blank&#34;&gt;OpenLayers&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>new project mapjfx</title>
				<link>https://www.sothawo.com/2014/12/new-project-mapjfx/</link>
				<pubDate>Thu, 11 Dec 2014 06:03:35 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/new-project-mapjfx/</guid>
				<description>&lt;p&gt;I started a new project concerned with the integration of an &#xA;&#xA;&lt;a href=&#34;http://openlayers.org&#34; target=&#34;_blank&#34;&gt;OpenLayers&lt;/a&gt;&#xA; based map in a JavaFX 8 component.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/projects/mapjfx/&#34;&gt;More information available here.&lt;/a&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>removing the quarantine attribute</title>
				<link>https://www.sothawo.com/2014/12/remove-quarantine/</link>
				<pubDate>Thu, 11 Dec 2014 05:35:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/12/remove-quarantine/</guid>
				<description>&lt;p&gt;Since OSX 10.5, programs downloaded by Safari and other programs like Mail.app get an extended quarantine attribute called &lt;em&gt;com.apple.quarantine&lt;/em&gt;. This leads to the behaviour that when starting the program, the user is asked if she really wants to start the program together with the information where the program was loaded from.&lt;/p&gt;&#xA;&lt;p&gt;This attribute is removed once the user who downloaded the file runs the program. Another way to remove the quarantine flag is the following command (the user running this command needs to be in the &lt;code&gt;sudoers&lt;/code&gt; file):&lt;/p&gt;</description>
			</item>
			<item>
				<title>mapjfx</title>
				<link>https://www.sothawo.com/projects/mapjfx/</link>
				<pubDate>Tue, 09 Dec 2014 11:35:17 +0100</pubDate>
				<guid>https://www.sothawo.com/projects/mapjfx/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note March 2022:&lt;/strong&gt; I started mapjfx in December 2014 as a side project. In these seven years I learned quite some things by developing and maintaining it. But my focus has shifted and I don’t have the time anymore to take care of this project. So from &lt;strong&gt;March 2022&lt;/strong&gt; on, mapjfx will be out of maintenance. I’ll do no further development on it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;mapjfx&lt;/strong&gt; is a project that offers a JavaFX8 component displaying a map. The component is based on the JavaFX WebView and on the &#xA;&#xA;&lt;a href=&#34;http://openlayers.org&#34; title=&#34;OpenLayers&#34; target=&#34;_blank&#34;&gt;OpenLayers&lt;/a&gt;&#xA; library. All interaction of the program with the map is done by using Java calls and JavaFX properties; the user does not need to do any Javascript or HTML coding.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Completely wipe a disk drive</title>
				<link>https://www.sothawo.com/2014/10/shred-disk/</link>
				<pubDate>Thu, 30 Oct 2014 10:03:42 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/10/shred-disk/</guid>
				<description>&lt;p&gt;I just need to completely wipe two hard disks (/dev/sda and /dev/sdb) in an old linux computer. To do this I booted a knoppix system and then ran the following commands:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shred -vfz /dev/sda  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shred -vfz /dev/sdb  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Batch processing with Akka part 4</title>
				<link>https://www.sothawo.com/2014/04/akkabatch-4/</link>
				<pubDate>Tue, 22 Apr 2014 08:33:58 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/04/akkabatch-4/</guid>
				<description>&lt;p&gt;This article is a follow-up to &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2014/04/akkabatch-3/&#34;&gt;Batch processing with Akka part 3&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;In the last part of this series of articles I have a look at data processing within a network of computers. To do that the program was split into two logical parts, the one part – the master – contains the actors that read and write the data from and to files, the other part – the workers – contains the actors that do the actual processing. The program configuration contains definitions, which parts of the program should be started, and on which host the master is runnning. So it is possible to have one master and multiple workers running within the same network and to spread the work amongst them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Batch processing with Akka part 3</title>
				<link>https://www.sothawo.com/2014/04/akkabatch-3/</link>
				<pubDate>Tue, 01 Apr 2014 13:28:42 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/04/akkabatch-3/</guid>
				<description>&lt;p&gt;This article is a follow-up to &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2014/03/akkabatch-2/&#34;&gt;Batch processing with Akka part 2&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;In the third part of this series I deal with error recovering for the case that records are lost during processing or in case the processing of a record takes too long time. The may happen for example when multiple computers are involved in the processing and network problems occur.&lt;/p&gt;&#xA;&lt;p&gt;To handle such cases, the program checks in regular intervals if records, that have been sent into the system for processing, are processed in time. If this is not true, the records are sent again into the system. The length of the check interval and the time that is used to detect a timeout are adapted automatically during processing.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Batch processing with Akka part 2</title>
				<link>https://www.sothawo.com/2014/03/akkabatch-2/</link>
				<pubDate>Fri, 28 Mar 2014 16:11:12 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/03/akkabatch-2/</guid>
				<description>&lt;p&gt;This article is the follow-up to &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2014/03/akkabatch-1/&#34;&gt;Batch processing with Akka part 1&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This first implementation does not care about error recovery, there is no special exception or error handling.&lt;/p&gt;&#xA;&lt;p&gt;The records are sent into the actor system, where they are processed in parallel and written to the output file at the end. The actor system is running in a single VM, there is no load-balancing across several computers at the moment.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Batch processing with Akka part 1</title>
				<link>https://www.sothawo.com/2014/03/akkabatch-1/</link>
				<pubDate>Tue, 18 Mar 2014 16:05:03 +0000</pubDate>
				<guid>https://www.sothawo.com/2014/03/akkabatch-1/</guid>
				<description>&lt;p&gt;This is the first of a series of articles in which I’d like to report about the implementation of a batch processing by using the &#xA;&#xA;&lt;a href=&#34;http://akka.io&#34; title=&#34;akka&#34; target=&#34;_blank&#34;&gt;akka&lt;/a&gt;&#xA; framework.&lt;/p&gt;&#xA;&lt;p&gt;The first time I heard about akka was in the summer of 2012, but it’s only up to now that I find the time to do some deeper investigations. In the articles to follow I will tell about success and failures and what I find positive or negative.&lt;/p&gt;</description>
			</item>
			<item>
				<title>MacBook Pro 2010 Crash (Nvidia)</title>
				<link>https://www.sothawo.com/2013/02/macbook-pro-2010-crash-nvidia/</link>
				<pubDate>Fri, 08 Feb 2013 09:53:36 +0000</pubDate>
				<guid>https://www.sothawo.com/2013/02/macbook-pro-2010-crash-nvidia/</guid>
				<description>&lt;p&gt;Sometimes my MacBook Pro 2010 crashes, the crash report show problems with the nvidia driver. Sometimes it happens after waking up the systems, nut I also had crashes after a reboot during normal operation.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&#xA;&lt;a href=&#34;http://osxdaily.com/2011/08/09/fix-macbook-pro-2010-crashes-kernel-panics-black-screens-in-os-x-10-7-lion/&#34; target=&#34;_blank&#34;&gt;In the net&lt;/a&gt;&#xA; I found the following hint, which helped me up to now:&lt;/p&gt;&#xA;&lt;p&gt;In the directory &lt;em&gt;~/Library/Preferences/ByHost/&lt;/em&gt; delete all files, that have “windowserver” in their name and reboot the computer.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Update of maven module version reference to parent pom</title>
				<link>https://www.sothawo.com/2012/06/update-of-maven-module-reference-to-parent-pom/</link>
				<pubDate>Tue, 26 Jun 2012 10:17:55 +0000</pubDate>
				<guid>https://www.sothawo.com/2012/06/update-of-maven-module-reference-to-parent-pom/</guid>
				<description>&lt;p&gt;In a multi-module maven project the poms of the modules refer to the parent pom by using the parent’s version number. The module’s version normally will be taking from the parent pom. If the parent’s version changes, all the modules poms must be updated to reflect this change. This can be automatically done with the command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mvn -N versions:update-child-modules  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Overloading/Overwriting of methods</title>
				<link>https://www.sothawo.com/2012/02/overload-overwrite-methods/</link>
				<pubDate>Wed, 22 Feb 2012 10:52:33 +0000</pubDate>
				<guid>https://www.sothawo.com/2012/02/overload-overwrite-methods/</guid>
				<description>&lt;p&gt;to keep in mind:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Overloading is the creation of a method in a class with the same name as an already existing method, but with different arguments.&lt;/li&gt;&#xA;&lt;li&gt;Overwriting is the creation of a method in a derived class with the same name as an already existing method in the base class and with the same arguments&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>shrink a sparsebundle</title>
				<link>https://www.sothawo.com/2012/02/shrink-sparsebundle/</link>
				<pubDate>Tue, 21 Feb 2012 15:57:31 +0000</pubDate>
				<guid>https://www.sothawo.com/2012/02/shrink-sparsebundle/</guid>
				<description>&lt;p&gt;To shrink a dynamically growing drive image (the parameter -stdinpass is need for encrypted images):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hdiutil compact -stdinpass file.sparseimage  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On a laptop running on battery power the parameter -batteryallowed is needed, otherwise there will be an error “function not implemented”.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Airdrop with older Macs</title>
				<link>https://www.sothawo.com/2012/02/airdrop-with-older-macs/</link>
				<pubDate>Thu, 09 Feb 2012 11:57:16 +0000</pubDate>
				<guid>https://www.sothawo.com/2012/02/airdrop-with-older-macs/</guid>
				<description>&lt;p&gt;Airdrop is not available on older Macs running Lion even if the hardware is capable to do it. To activate Airdrop:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;defaults write com.apple.NetworkBrowser BrowseAllInterfaces &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;killall Finder  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Java Webservice using HTTPS part 2</title>
				<link>https://www.sothawo.com/2011/10/java-webservice-using-https-part-2/</link>
				<pubDate>Wed, 26 Oct 2011 14:04:37 +0000</pubDate>
				<guid>https://www.sothawo.com/2011/10/java-webservice-using-https-part-2/</guid>
				<description>&lt;p&gt;This article shows how to implement a HTTPS web service connection where the server only allows trusted clients to connect. It extends and uses the information given in this article &#xA;&#xA;&lt;a href=&#34;https://www.sothawo.com/2011/10/java-webservice-using-https/&#34;&gt;&amp;ldquo;Java Webservice using HTTPS part 1&amp;rdquo;&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;First, it is necessary to create a certificate for the client and to store it in the client’s keystone:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;keytool -genkey -keystore client_keystore.ks -alias client  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This certificate must be exported from the client’s keystore…&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;keytool -export -alias client -keystore client_keystore.ks -file client.cer  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and imported into the server’s truststore:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java Webservice using HTTPS part 1</title>
				<link>https://www.sothawo.com/2011/10/java-webservice-using-https/</link>
				<pubDate>Wed, 19 Oct 2011 15:02:39 +0000</pubDate>
				<guid>https://www.sothawo.com/2011/10/java-webservice-using-https/</guid>
				<description>&lt;p&gt;This article describes how to offer a web service over a secure HTTPS connection. In this first step of securing the connection, the server will accept any client without verifying the client’s identity.&lt;/p&gt;&#xA;&lt;p&gt;First it is necessary to have a server certificate. For this example, we are using the keytool program which is shipped with Java and we create a self signed certificate and store it in a Keystore file named server_keystore.ks (you need to provide a password for the keystore and corresponding information for the certificate, the key tool asks for that).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java Webservice multithreaded</title>
				<link>https://www.sothawo.com/2011/10/java-webservice-multithreaded/</link>
				<pubDate>Wed, 19 Oct 2011 08:44:06 +0000</pubDate>
				<guid>https://www.sothawo.com/2011/10/java-webservice-multithreaded/</guid>
				<description>&lt;p&gt;To have a JAX-WS Webservice in Java 6 or higher with multiple threads, it is necessary to assign an corresponding Executor to the endpoint (the sample uses 5 threads).&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; java.util.concurrent.Executors;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; javax.xml.ws.Endpoint;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; com.sun.net.httpserver.HttpContext;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; com.sun.net.httpserver.HttpServer;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;httpServer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; HttpServer.&lt;span style=&#34;color:#a6e22e&#34;&gt;create&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; InetSocketAddress(interfaceName, port), 0);  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HttpContext httpContext &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; httpServer.&lt;span style=&#34;color:#a6e22e&#34;&gt;createContext&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/path&amp;#34;&lt;/span&gt;);  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Endpoint endpoint &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Endpoint.&lt;span style=&#34;color:#a6e22e&#34;&gt;create&lt;/span&gt;(serviceImpl);  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;endpoint.&lt;span style=&#34;color:#a6e22e&#34;&gt;setExecutor&lt;/span&gt;(Executors.&lt;span style=&#34;color:#a6e22e&#34;&gt;newFixedThreadPool&lt;/span&gt;(5));  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;endpoint.&lt;span style=&#34;color:#a6e22e&#34;&gt;publish&lt;/span&gt;(httpContext);  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Growl 1.3 and Skype 2.8</title>
				<link>https://www.sothawo.com/2011/10/growl-1-3-and-skype-2-8/</link>
				<pubDate>Thu, 13 Oct 2011 09:41:02 +0000</pubDate>
				<guid>https://www.sothawo.com/2011/10/growl-1-3-and-skype-2-8/</guid>
				<description>&lt;p&gt;If you are still using Skype 2.8 and switched to Growl 1.3, you need to update the Growl framework that Skype uses. Go to the &#xA;&#xA;&lt;a href=&#34;https://growl.github.io/growl/&#34; target=&#34;_blank&#34;&gt;Growl download page&lt;/a&gt;&#xA; and get the Growl SDK (1.2.2 does work, at the moment there is no 1.3 version).&lt;/p&gt;&#xA;&lt;p&gt;Open the downloaded dmg and change to the &lt;em&gt;Frameworks&lt;/em&gt; folder. You need to copy the &lt;em&gt;Growl.framework&lt;/em&gt; folder into your existing Skype installation (quit Skype if it’s running).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Growl 1.3 and Mail.app</title>
				<link>https://www.sothawo.com/2011/10/growl-1-3-and-mail-app/</link>
				<pubDate>Thu, 13 Oct 2011 09:29:16 +0000</pubDate>
				<guid>https://www.sothawo.com/2011/10/growl-1-3-and-mail-app/</guid>
				<description>&lt;p&gt;For Growl 1.3 (App Store) to work with Mail.app under 10.7.1, you need to install the actual &#xA;&#xA;&lt;a href=&#34;http://code.google.com/p/growlmail/&#34; title=&#34;GrowlMail&#34; target=&#34;_blank&#34;&gt;GrowlMail&lt;/a&gt;&#xA; 1.3&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; GrowlMail1.3 does not work with Mail.app 5.1 (OS X 10.7.2), there’s a new version 1.3.1 that does work.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
