<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>blog.bdw.li</title>
    <link>https://blog.bdw.li/</link>
    <description>Recent content on blog.bdw.li</description>
    <language>en</language>
    <managingEditor>hello@bdw.li (jwb)</managingEditor>
    <webMaster>hello@bdw.li (jwb)</webMaster>
    <lastBuildDate>Sat, 04 Jul 2026 23:20:57 +0200</lastBuildDate>
    <atom:link href="https://blog.bdw.li/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ein Besuch in Chemnitz (2)</title>
      <link>https://blog.bdw.li/ein-besuch-in-chemnitz-2/?ref=rss</link>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/ein-besuch-in-chemnitz-2/?ref=rss</guid>
      <description>Nach den ganzen Vorträgen bin ich Sonntag Abend noch eine Runde durch Chemnitz spaziert und habe einige Fotos gemacht.</description>
      <content:encoded><![CDATA[<p>Nach den ganzen Vorträgen bin ich Sonntag Abend noch eine Runde durch Chemnitz spaziert. Dabei sind mir auch ein paar Dinge aufgefallen:</p>
<ul>
<li>Viele Nebenstraßen und die dort stehenden Mehrfamilienhäuser sehen 1:1 aus wie in Eberswalde</li>
<li>In viele Wohnungen kann man reingucken, da die Bewohner keine Vorhänge oder Jalousien benutzen</li>
<li>Mitunter ist die Architektur sehr abwechlungsreich</li>
<li>Die Chemnitzer verwenden fantastische Namen für Ihre Wahrzeichen wie <a href="https://www.chemnitz.travel/poi/bunte-esse" target="_blank" rel="noopener noreferrer">Lulatsch</a> oder <a href="https://www.chemnitz.travel/poi/karl-marx-monument" target="_blank" rel="noopener noreferrer">Nischel</a></li>
<li>Die Stadt scheint ein gut ausgebautes Verkehrsnetz zu haben, trotzdem konnte ich eigentlich alles fußläufig innerhalb von 30min erreichen</li>
<li>Von Freitag Abend bis Montag früh habe ich Morgens und Abends kaum Menschen auf den Straßen gesehen</li>
</ul>
<p>Der Spaziergang endete im <a href="https://www.lokomov.de/" target="_blank" rel="noopener noreferrer">Lokomov</a>, direkt unter dem lokalen <a href="https://chaoschemnitz.de/Hauptseite" target="_blank" rel="noopener noreferrer">Chaos-Club</a>. Das <a href="https://kulturbier.org/" target="_blank" rel="noopener noreferrer">Chemnitzer Kulturbier</a>, ein sanftes Helles, kann ich empfehlen. Sehr süffig.</p>







	






































	
	

	
		<script src="/shortcode-gallery/jquery-3.7.1.min.js"></script>
	

	
		<script src="/shortcode-gallery/lazy/jquery.lazy.min.js"></script>
	

	<script src="/shortcode-gallery/swipebox/js/jquery.swipebox.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/swipebox/css/swipebox.min.css">

	<script src="/shortcode-gallery/justified_gallery/jquery.justifiedGallery.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/justified_gallery/justifiedGallery.min.css"/>


<style>
	

	
</style>





<div id="gallery-8e19bf89eb8ecf877e3a288dd62f9590-0-wrapper" class="gallery-wrapper">
<div id="gallery-8e19bf89eb8ecf877e3a288dd62f9590-0" class="justified-gallery">
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/01-brueckenstrasse-1.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/121sec  ISO 50"
						

						
					
					>
					<img
						width="600" height="450"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGJKqZkMCAAA//8CwwF2UukWeQAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/01-brueckenstrasse-1_hu_98e064a635ac501d.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/02-brueckenstrasse-2.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/100sec  ISO 80"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGJKLKgDBAAA//8CjQFSElF21wAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/02-brueckenstrasse-2_hu_24572fef802e54e2.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/03-stadt-halle-chemnitz.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/170sec  ISO 40"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGIKL5kKCAAA//8CjgFjeB/H7QAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/03-stadt-halle-chemnitz_hu_8c3c16203a0bc1df.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/04-congress-hotel-chemnitz-1.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/143sec  ISO 32"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGJK7z0ICAAA//8DHAG4h02XBgAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/04-congress-hotel-chemnitz-1_hu_e90930c2d87461c1.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/05-congress-hotel-chemnitz-2.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/121sec  ISO 50"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGJK7TkMCAAA//8DFgG3T2xCJgAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/05-congress-hotel-chemnitz-2_hu_23e1877316583719.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/06-congress-hotel-chemnitz-3.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/121sec  ISO 50"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLK6j8MCAAA//8DKwG/UUO6DAAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/06-congress-hotel-chemnitz-3_hu_32ec3b7a0a21bb03.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/07-karl-marx-congress-hotel-chemnitz.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/121sec  ISO 40"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLyTGoABAAA//8CKwEuUacz/QAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/07-karl-marx-congress-hotel-chemnitz_hu_1445fd238c464047.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/08-proletarier-aller-laender-vereinigt-euch.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/95sec  ISO 125"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGIqaugDBAAA//8C8AGDuEm&#43;NwAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/08-proletarier-aller-laender-vereinigt-euch_hu_2f24a2ab0b6a2c27.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/09-viele-augen-1984-anyone.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/50sec  ISO 100"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLqnzwZEAAA//8DcgG47KBLRQAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/09-viele-augen-1984-anyone_hu_e1105f347f25ae5.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/10-grundschule.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/33sec  ISO 500"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLyS60DBAAA//8CPgE0oRXAYwAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/10-grundschule_hu_88ccfefab850d4e5.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/11-punk-rock-fassade.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/33sec  ISO 640"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLyjq8DBAAA//8CKQErpR9uogAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/11-punk-rock-fassade_hu_c40c2b0f58258376.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/12-graffiti-1.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/60sec  ISO 500"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLyS20GBAAA//8CQwE5xA2g6QAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/12-graffiti-1_hu_e4bc516360781a3a.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-2/photos/13-graffiti-2.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/86sec  ISO 125"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLKapgHCAAA//8C6AGLG8M6GQAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-2/photos/13-graffiti-2_hu_6d9df05d62d6c74e.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
</div>
</div>

<script>
	if (!("HSCGjQuery" in window)) {
		if (!window.jQuery) {
			throw new Error("jQuery is not loaded, hugo-shortcode-gallery wont work without it!");
		}
		window.HSCGjQuery = window.jQuery.noConflict(true);
	}

	
	
	
	
	
	;(function($) {

		$( document ).ready(() => {
			const gallery = $("#gallery-8e19bf89eb8ecf877e3a288dd62f9590-0");
			

			
			let swipeboxInstance = null;

			
			
			gallery.on('jg.complete', () => {
				
					
					
					$(() => {
						$('.lazy').Lazy({
							visibleOnly: true,
							afterLoad: element => element.css({filter: "none", transition: "filter 1.0s ease-in-out"})
						});
					});
				

				swipeboxInstance = $('.galleryImg').swipebox(
					$.extend({},
						{  }
					)
				);
			});

			
			gallery.justifiedGallery($.extend(
				{
					rowHeight : "150",
					margins : "5",
					border : 0,
					randomize :  false ,
					waitThumbnailsLoad : false,
					lastRow : "justify",
					captions : false,
					
					
				},
				{  }
			));

			
			
		});

	
	
	
	})(window.HSCGjQuery)
</script>

]]></content:encoded>
    </item>
    <item>
      <title>Ein Besuch in Chemnitz (1)</title>
      <link>https://blog.bdw.li/ein-besuch-in-chemnitz-1/?ref=rss</link>
      <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/ein-besuch-in-chemnitz-1/?ref=rss</guid>
      <description>Anlässlich der Linux Tage war ich ein Wochenende in Chemnitz und habe vielen Vorträgen zughört.</description>
      <content:encoded><![CDATA[<p>Im Herbst letzten Jahres habe ich erfahren, dass es die <a href="https://chemnitzer.linux-tage.de/2026/de/" target="_blank" rel="noopener noreferrer">Chemnitzer Linux Tage</a> gibt und mir kurzerhand Bahn und Unterkunft gebucht. Jetzt, nachdem das Wochenende vorbei ist, wollte ich noch mal festhalten, welche Vorträge mir besonders gut gefallen haben. Die Aufzeichnungen sind unter <a href="https://media.ccc.de/c/clt26" target="_blank" rel="noopener noreferrer">media.ccc.de/c/clt26</a> verfügbar.</p>
<p>






	






































	
	

	
		<script src="/shortcode-gallery/jquery-3.7.1.min.js"></script>
	

	
		<script src="/shortcode-gallery/lazy/jquery.lazy.min.js"></script>
	

	<script src="/shortcode-gallery/swipebox/js/jquery.swipebox.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/swipebox/css/swipebox.min.css">

	<script src="/shortcode-gallery/justified_gallery/jquery.justifiedGallery.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/justified_gallery/justifiedGallery.min.css"/>


<style>
	

	
</style>





<div id="gallery-266a8491f39b0dd8e37d5ce16661a4cb-0-wrapper" class="gallery-wrapper">
<div id="gallery-266a8491f39b0dd8e37d5ce16661a4cb-0" class="justified-gallery">
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-1/photos/netbsd-auf-einem-dec-vt240.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 9mm f/2.8<br/>9mm f/2.8 1/77sec  ISO 200"
						

						
					
					>
					<img
						width="450" height="600"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGJqzA0BBAAA//8CvQFFyt2YqgAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-1/photos/netbsd-auf-einem-dec-vt240_hu_a8d8216fe3971266.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/ein-besuch-in-chemnitz-1/photos/towel-day-erinnerung.jpeg"
					class="galleryImg"
					
						

						
							data-description="iPhone 13 Pro + iPhone 13 Pro back triple camera 5.7mm f/1.5<br/>57/10mm f/1.5 1/121sec  ISO 80"
						

						
					
					>
					<img
						width="600" height="450"

						
							
							
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAEElEQVR4nGLK7JgKCAAA//8C7AGJiMCyWQAAAABJRU5ErkJggg=="
							
							class="lazy"
							data-src="/ein-besuch-in-chemnitz-1/photos/towel-day-erinnerung_hu_a44aa5401f41654.jpeg"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
</div>
</div>

<script>
	if (!("HSCGjQuery" in window)) {
		if (!window.jQuery) {
			throw new Error("jQuery is not loaded, hugo-shortcode-gallery wont work without it!");
		}
		window.HSCGjQuery = window.jQuery.noConflict(true);
	}

	
	
	
	
	
	;(function($) {

		$( document ).ready(() => {
			const gallery = $("#gallery-266a8491f39b0dd8e37d5ce16661a4cb-0");
			

			
			let swipeboxInstance = null;

			
			
			gallery.on('jg.complete', () => {
				
					
					
					$(() => {
						$('.lazy').Lazy({
							visibleOnly: true,
							afterLoad: element => element.css({filter: "none", transition: "filter 1.0s ease-in-out"})
						});
					});
				

				swipeboxInstance = $('.galleryImg').swipebox(
					$.extend({},
						{  }
					)
				);
			});

			
			gallery.justifiedGallery($.extend(
				{
					rowHeight : "150",
					margins : "5",
					border : 0,
					randomize :  false ,
					waitThumbnailsLoad : false,
					lastRow : "justify",
					captions : false,
					
					
				},
				{  }
			));

			
			
		});

	
	
	
	})(window.HSCGjQuery)
</script>

<br />
= <a href="https://media.ccc.de/v/clt26-206-digitalsouverane-partei-zwischen-anspruch-und-wirklichkeit" target="_blank" rel="noopener noreferrer">Digitalsouveräne Partei? Zwischen Anspruch und Wirklichkeit</a></p>
<p>Torsten hat ein bisschen aus dem Nähkästchen geplaudert, wie digitale Kollaboration bei Bündnis90/Die Grünen abläuft und wie aufwändig es sein kann 180.000 Mitglieder auf eine Zwei-Faktor-Authentifizierung umzustellen. Spoiler: Wenn <em>alle</em> bei den Grünen es schaffen, gibt es beim Rest der Welt keine Argumente, es nicht auch zu tun.</p>
<p>= <a href="https://media.ccc.de/v/clt26-226-vom-ping-zum-panorama-monitoring-mit-system" target="_blank" rel="noopener noreferrer">Vom Ping zum Panorama: Monitoring mit System</a></p>
<p>In den Talk bin ich nicht mehr reingekommen, der Andrag war zu groß. Die Aufzeichnung muss ich mir selber noch anschauen.</p>
<p>= <a href="https://streaming.media.ccc.de/clt26/relive/75da4f47-b4e0-5b4e-89dc-8bc4f73e7012" target="_blank" rel="noopener noreferrer">Rootless by Design: Sichere Container mit Podman und Quadlets</a></p>
<p>Der Talk ist anscheinend noch nicht fertig gerendert, im media.ccc Streaming Portal ist er aber verfügbar. Inhaltlich habe ich nichts Neues gelernt, aber es bestätigt mich in meinen Bestrebungen Docker den Rücken zu kehren.</p>
<p>= <a href="https://media.ccc.de/v/clt26-281-dns-infrastruktur-mit-powerdns-betrieb-architektur-dnssec" target="_blank" rel="noopener noreferrer">DNS-Infrastruktur mit PowerDNS: Betrieb, Architektur, DNSSEC</a></p>
<p>DNS wird ja gerne als gängiger Sündenbock für Fehler in der Infrastruktur genommen. Malik hat das aber so souverän vorgestellt, dass ich eigentlich keinen Grund habe, nicht auch einen DNS Resolver bei mir hinzustellen. Wieder eine neue Aufgabe auf der Homelab Liste.</p>
<p>= <a href="https://media.ccc.de/v/clt26-220-richtig-schlecht-uber-technik-schreiben" target="_blank" rel="noopener noreferrer">Richtig schlecht über Technik schreiben</a> &amp; <a href="https://media.ccc.de/v/clt26-349-dokumentation-mit-open-source-software" target="_blank" rel="noopener noreferrer">Dokumentation mit Open-Source-Software</a></p>
<p>Diese beiden Vorträge haben mich noch mal motiviert genauer auf das Thema Dokumentation zu schauen. Ich habe privat gerade angefangen mit <a href="https://www.mkdocs.org/" target="_blank" rel="noopener noreferrer">MkDocs</a> und dem <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener noreferrer">Material Theme</a> eine Wiki für die Familie zu erschaffen und war schockiert, dass die Software quasi am Ende ist: <a href="https://squidfunk.github.io/mkdocs-material/blog/2026/02/18/mkdocs-2.0/" target="_blank" rel="noopener noreferrer">What MkDocs 2.0 means for your documentation projects</a>. Ich fasse mal ein paar Punkte der Macher des Material Themes auf:</p>
<ul>
<li>MkDocs 2.0 is incompatible with Material for MkDocs</li>
<li>MkDocs 2.0 won&rsquo;t have a plugin system</li>
<li>MkDocs 2.0 has a closed contribution model</li>
<li>MkDocs 2.0 is currently unlicensed</li>
</ul>
<p>Das klingt alles nicht so gut, und das Team vom Material Theme hat kurzerhand <a href="https://zensical.org/" target="_blank" rel="noopener noreferrer">Zensical</a> ins Leben gerufen. Das Produkt ist auch noch nicht fertig, aber ich schaue es mir mal an. Das klassisch bekannte Material Theme ist weiterhin verfügbar, aber auch eine moderne Alternative, die ich auch ganz schick finde.</p>
<p>&hellip; und danach stand nur noch Abhängen in der Unterkunft an. Zum Abendbrot war ich bei <a href="https://hotalo.com" target="_blank" rel="noopener noreferrer">Hotalo</a>, Schmackofatz kann ich nur sagen. Optisch sehr schön eingerichtet und das Essen war fantastisch.</p>
<p>= <a href="https://media.ccc.de/v/clt26-325-keine-fotos-bitte" target="_blank" rel="noopener noreferrer">(Keine) Fotos bitte!</a></p>
<p>Frank hat <a href="https://offlinetags.github.io/" target="_blank" rel="noopener noreferrer">Offlinetags</a> vorgestellt. Ein Abzeichen, mit dem man seine Präferenz für Fotos und Videos kundtun kann. Die Idee fand ich richtig gut! Ich habe auch schon einen Anwendungsfall beruflicher Natur im Kopf und werde das demnächst mal im Büro vorstellen.</p>
<p>= <a href="https://media.ccc.de/v/clt26-381-kinderrechte-und-der-einstieg-ins-netz-und-das-fediverse" target="_blank" rel="noopener noreferrer">Kinder(rechte) und der Einstieg ins Netz und das Fediverse</a></p>
<p>Der Talk von Dominik war zu kurz, er hatte so viele spannende Aspekte, man hätte 120min draus machen sollen. Fun Fact: Die Aufsichtspflicht. Ich dachte immer es bedeutet, dass man auf Minderjährige aufpassen soll, damit Ihnen nichts geschieht. Gesetzlich sieht es allerdings anders aus, das BGB schreibt in <a href="https://www.gesetze-im-internet.de/bgb/__832.html" target="_blank" rel="noopener noreferrer">§832</a> dazu folgendes:</p>
<blockquote>
<p><strong>§ 832 Haftung des Aufsichtspflichtigen (BGB)</strong></p>
<p>(1) Wer kraft Gesetzes zur Führung der Aufsicht über eine Person verpflichtet ist, [&hellip;] ist zum Ersatz des Schadens verpflichtet, den diese Person einem Dritten widerrechtlich zufügt [&hellip;]</p>
</blockquote>
<p>Das Gesetzt schützt also nicht die Kinder vor Unheil, sondern den Rest der Welt vor den Kindern  <mark>ꉂ(˵˃ ᗜ ˂˵)</mark></p>
<p>Ansonsten habe ich mitgenommen, dass man Kinder einfach mal machen lassen sollte. Und das kann ich grundsätzlich unterstützen, aber als Vater fällt es mir trotzdem nicht immer leicht so zu denken. Sollte man Dinge im Netz finden, die nicht gut für Kinden sind, sollte man sie einfach für alle Teilnehmer sperren. Auch für sich selbst. Und man sollte trotzdem, ab einem gewissen Alter des Kindes auch die Möglichkeit geben, die Sperren zu umgehen. Mein Internet in der Kindheit war auch komplett ungefiltert. War das gut? Ich weiß es nicht.</p>
<p>Nik hat außerdem <a href="https://teckids.org/" target="_blank" rel="noopener noreferrer">teckids</a> ins Leben gerufen um die (digitale) Welt verständlicher für alle zu machen.</p>
<p>= <a href="https://media.ccc.de/v/clt26-322-ki-chat-mit-eigener-suchmaschine-rag-in-yacy" target="_blank" rel="noopener noreferrer">KI-Chat mit eigener Suchmaschine: RAG in YaCy</a></p>
<p>Ich habe <a href="https://yacy.net/" target="_blank" rel="noopener noreferrer">Yacy</a> kennengelernt und finde es spontan total cool. Dann noch mit einem lokalen LLM gekoppelt und den Index auf einige wenige interen Links eingeschränkt und schon steht der Chatbot, der einem Fragen aus dem eigenen Intranet beantwortet ohne mit dem Internet reden zu müssen.</p>
<p>= <a href="https://media.ccc.de/v/clt26-378-mit-openstreetmap-digital-souveran-ideen-verwirklichen" target="_blank" rel="noopener noreferrer">Mit OpenStreetMap digital souverän Ideen verwirklichen</a></p>
<p>Mit Falk und seinem Team hatte ich vor dem Talk ein gutes Gespräch, weil ich gerne Karten für die Innenräume unserer Bürogebäude hätte. Es gab einige Ansätze, mit denen ich mich demnächst mal beschäftigen möchte.</p>
<p>= <a href="https://media.ccc.de/v/clt26-172-eine-kleine-einfuhrung-in-resiliente-datensicherung" target="_blank" rel="noopener noreferrer">Eine kleine Einführung in resiliente Datensicherung</a></p>
<p>Ich habe die 3-2-1-1-0 Regel kennengelernt. Bei einem Backup gilt:</p>
<ul>
<li>3 verschiedene Kopien, eine Primärkopie und zwei Sicherungskopien</li>
<li>2 verschiedene Medientypen, auf denen die Kopien aufbewahrt werden</li>
<li>1 Kopie, die an einem anderen Standort aufbewahrt wird</li>
<li>1 unveränderliche Kopie</li>
<li>0 Fehler im Backup-/Verifizierungs- und Widerherstellungsprozess</li>
</ul>
<p>Wobei ich fehlerfreie Backups als selbstverständlich ansehe <mark>¯\<em>(ツ)</em>/¯</mark></p>
<hr>
<p>Das reichte dann aber auch, der Kopf war voll. Den Abend habe ich bei einem Spaziergang durch Chemnitz ausklingen lassen, davon mehr im nächsten Beitrag.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Running heatmap</title>
      <link>https://blog.bdw.li/running-heatmap/?ref=rss</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/running-heatmap/?ref=rss</guid>
      <description>Look at me running! I am so happy, I made a map. (&amp;lsquo;ω&amp;rsquo; ⊃ )⊃三二一</description>
      <content:encoded><![CDATA[<ul>
<li>Rows are days, starting on Monday.</li>
<li>Columns are weeks, starting on Monday 51 weeks ago.</li>
</ul>
<p>So, currently the most part of the heatmap is empty, but it will slowly fill over time. Except on Sundays it looks like.</p>
<p>This map is also included on the <a href="https://blog.bdw.li/about/">About</a> page.</p>





 



  



<div class="run-matrix-outer">
  <div class="run-matrix-inner">
    <div class="run-matrix">
        
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="31.07.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="31.08.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="24.09.2025: 3.1km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="28.09.2025: 3.9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.09.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="31.10.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="03.11.2025: 4km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="07.11.2025: 4.4km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="10.11.2025: 4.2km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="12.11.2025: 3.7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="17.11.2025: 3.2km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="28.11.2025: 3.9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.11.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="01.12.2025: 3.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="03.12.2025: 2km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="05.12.2025: 4.1km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="08.12.2025: 3.8km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="10.12.2025: 2.9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="13.12.2025: 5.4km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="16.12.2025: 4.1km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="18.12.2025: 3km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="20.12.2025: 5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="26.12.2025: 4km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="29.12.2025: 6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.12.2025: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="31.12.2025: 6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="05.01.2026: 6.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="09.01.2026: 5.4km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="12.01.2026: 5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="14.01.2026: 4.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-s" 
             title="16.01.2026: 3.9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="19.01.2026: 7.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="22.01.2026: 6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="31.01.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="02.02.2026: 7.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="09.02.2026: 9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="11.02.2026: 6.1km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="13.02.2026: 6.3km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-xl" 
             title="16.02.2026: 10km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="18.02.2026: 6.7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="20.02.2026: 5.6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-peak" 
             title="24.02.2026: 12km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.02.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-xl" 
             title="02.03.2026: 10.6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="04.03.2026: 6km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="06.03.2026: 5.7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="13.03.2026: 5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-xl" 
             title="15.03.2026: 10km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="23.03.2026: 6.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="31.03.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="16.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="24.04.2026: 6.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-xl" 
             title="27.04.2026: 9.3km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="29.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.04.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="01.05.2026: 6.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="06.05.2026: 4.1km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="11.05.2026: 7.2km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="16.05.2026: 9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="19.05.2026: 7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="20.05.2026: 5.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-xl" 
             title="23.05.2026: 10km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="29.05.2026: 9km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.05.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="31.05.2026: 7.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="01.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="02.06.2026: 5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="04.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="06.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="07.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="08.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="09.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="10.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="11.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="12.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="13.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="14.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="15.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="16.06.2026: 7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="17.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="18.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="19.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="20.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="21.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="22.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="23.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="24.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="25.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="26.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="27.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="28.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="29.06.2026: 5.5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="30.06.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-m" 
             title="01.07.2026: 5km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="02.07.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="03.07.2026: 0km">
        </div>
      
        
        
        
        

        
        
        

        
        
        
          
        

        <div class="run-day matrix-l" 
             title="04.07.2026: 7km">
        </div>
      
        
        
        
        

        
        
        

        
        
        

        <div class="run-day matrix-empty" 
             title="05.07.2026: 0km">
        </div>
      
    </div>
  </div>
</div>
<p><mark>(&lsquo;ω&rsquo; ⊃ )⊃三二一</mark></p>
]]></content:encoded>
    </item>
    <item>
      <title>Ich bastel mir eine eigene Shell-Begrüßung</title>
      <link>https://blog.bdw.li/ich-bastel-mir-eine-eigene-shell-begr%C3%BC%C3%9Fung/?ref=rss</link>
      <pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/ich-bastel-mir-eine-eigene-shell-begr%C3%BC%C3%9Fung/?ref=rss</guid>
      <description>It ain&amp;rsquo;t much, but it&amp;rsquo;s honest work.</description>
      <content:encoded><![CDATA[<p>Ich denke immer wieder darüber nach, was ich als Nächstes bloggen könnte. Ich habe auch immer wieder Themen an der Hand, bei denen ich etwas Neues lerne und über die man durchaus etwas schreiben könnte. Aber dann erwische ich mich dabei, wie ich meine eigene Arbeit anzweifle. „Das haben andere bestimmt eleganter gelöst.“ Verschwinde Perfektionismus! Ich habe jetzt entschieden dass Gefühl zu ignorieren und einfach meine persönlichen Errungenschaften zu Veröffentlichen!</p>
<p>Viele Shells begrüßen einen heutzutage, wenn man sich interaktiv anmeldet. Bei Ubuntu geschieht das sogar ausführlicher, inkl. der aktuell genutzten Systemressourcen und der anstehenden Updates.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Welcome to Ubuntu 22.04.5 LTS <span class="o">(</span>GNU/Linux 5.15.0-168-generic x86_64<span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> * Documentation:  https://help.ubuntu.com
</span></span><span class="line"><span class="cl"> * Management:     https://landscape.canonical.com
</span></span><span class="line"><span class="cl"> * Support:        https://ubuntu.com/pro
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> System information as of Wed Feb <span class="m">11</span> 10:15:58 PM CET <span class="m">2026</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  System load:           0.37
</span></span><span class="line"><span class="cl">  Usage of /:            41.8% of 737.11GB
</span></span><span class="line"><span class="cl">  Memory usage:          77%
</span></span><span class="line"><span class="cl">  Swap usage:            0%
</span></span><span class="line"><span class="cl">  Processes:             <span class="m">285</span>
</span></span><span class="line"><span class="cl">  Users logged in:       <span class="m">1</span>
</span></span><span class="line"><span class="cl">  IPv4 address <span class="k">for</span> eth0: 198.51.100.23
</span></span><span class="line"><span class="cl">  IPv6 address <span class="k">for</span> eth0: 2001:db8:2b:359:89c:e5ff:feac:c9c5
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"> * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
</span></span><span class="line"><span class="cl">   just raised the bar <span class="k">for</span> easy, resilient and secure K8s cluster deployment.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">   https://ubuntu.com/engage/secure-kubernetes-at-the-edge
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Expanded Security Maintenance <span class="k">for</span> Applications is enabled.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="m">4</span> updates can be applied immediately.
</span></span><span class="line"><span class="cl"><span class="m">1</span> of these updates is a standard security update.
</span></span><span class="line"><span class="cl">To see these additional updates run: apt list --upgradable
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">You have no mail.
</span></span><span class="line"><span class="cl">Last login: Wed Feb <span class="m">11</span> 14:48:51 <span class="m">2026</span> from 203.0.113.99
</span></span><span class="line"><span class="cl">root@myMachine:~# 
</span></span></code></pre></div><blockquote>
<p>Übrigens, die IPs habe ich mir aus <a href="https://datatracker.ietf.org/doc/html/rfc5737" target="_blank" rel="noopener noreferrer">RFC 5737</a> und <a href="https://datatracker.ietf.org/doc/html/rfc3849" target="_blank" rel="noopener noreferrer">RFC 3849</a> genommen, da gibt es fest definierte IP Bereiche für Dokumentationen.</p>
</blockquote>
<p>Für ein aktuelles Projekt hatte ich mich aber für Rocky Linux mit <a href="https://fishshell.com" target="_blank" rel="noopener noreferrer">fish</a> entschieden. Das minimalistische <a href="https://fishshell.com/docs/current/cmds/fish_greeting.html" target="_blank" rel="noopener noreferrer">fish_greeting</a> habe ich deaktiviert und mit Abfragen zu laufenden Docker Containern, Festplattennutzung, letztes Backup und letzte automatische Paketaktualisierung direkt etwas übertrieben. Aber wenn man erstmal etwas Neues zum Spielen gefunden hat, artet es manchmal eben aus. Die aktuell geblockten IPs von fail2ban könnte ich eigentlich auch noch mit ausgeben lassen.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Last login: Tue Feb <span class="m">10</span> 21:27:47 <span class="m">2026</span> from 203.0.113.99
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Hostname : myOtherMachine
</span></span><span class="line"><span class="cl">OS       : Rocky Linux 10.1 <span class="o">(</span>Red Quartz<span class="o">)</span>
</span></span><span class="line"><span class="cl">IPv4     : 198.51.100.42 <span class="o">(</span>example.com<span class="o">)</span>
</span></span><span class="line"><span class="cl">IPv6     : 2001:db8:4f7a:9c21:7a3d:ff:fe91:b6c4
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Runtime  : Docker enabled
</span></span><span class="line"><span class="cl">Container:
</span></span><span class="line"><span class="cl">  seadoc          : Up <span class="m">25</span> hours
</span></span><span class="line"><span class="cl">  seafile         : Up <span class="m">25</span> hours <span class="o">(</span>healthy<span class="o">)</span>
</span></span><span class="line"><span class="cl">  seafile-caddy   : Up <span class="m">25</span> hours <span class="o">(</span>healthy<span class="o">)</span>
</span></span><span class="line"><span class="cl">  seafile-mysql   : Up <span class="m">25</span> hours <span class="o">(</span>healthy<span class="o">)</span>
</span></span><span class="line"><span class="cl">  seafile-redis   : Up <span class="m">25</span> hours
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Data directory size :
</span></span><span class="line"><span class="cl">  /opt/seafile      : 423M
</span></span><span class="line"><span class="cl">  /backup/seafile   : 996M
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Last Backup     : 2026-02-11 02:31:24
</span></span><span class="line"><span class="cl">Last DNF action : 2026-02-10 21:02:00
</span></span><span class="line"><span class="cl">MOTD created at : 2026-02-11 22:39:24
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">usr@myOtherMachine ~&gt; 
</span></span></code></pre></div><p>Ich nutze für meine Lösung ein Bash Script (ja, da hätte ich auch <a href="https://fishshell.com/docs/current/fish_for_bash_users.html" target="_blank" rel="noopener noreferrer">fish</a> schreibe können, aber solange schwimme ich noch nicht in den neuen Gewässern) und eine <a href="https://man.archlinux.org/man/systemd.unit.5" target="_blank" rel="noopener noreferrer">systemd Unit</a> mit <a href="https://man.archlinux.org/man/systemd.timer.5" target="_blank" rel="noopener noreferrer">Timer</a>. Das Script führt die vielen Befehle aus um alle Objekte abzufragen. Am Ende wird das Ergebnis in eine Datei geschrieben. Der systemd Timer läuft minütlich mit einem zufälligen Versatz von 20 Sekunden. Er startet die systemd Unit, die wiederum das Bash Script ausführt. Alle Ergebnisse der Ausführung landen im <a href="https://man.archlinux.org/man/journalctl.1" target="_blank" rel="noopener noreferrer">Journal</a>. Das Script legt, wie gesagt, eine Datei mit dem Ergebnis an. In meiner 
    <a href="https://fishshell.com/docs/current/language.html#configuration" target="_blank" rel="noopener noreferrer">fish config</a> lasse ich dann einfach die angelegte Datei beim Starten einer interaktiven Session anzeigen.</p>
<p>Dadurch, dass die Generierung der Datei losgelöst vom Start der interaktiven Session ist, verzögert sich der Prozess nicht. Die Ausführung des eigentlichen Scripts dauert nämlich schon 1.3 Sekunden.</p>
<p>Am Ende war es gar nicht so schwer über den eigenen Schatten zu springen und die Seite zu veröffentlichen. Sollte ich häufiger machen.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Removing empty pages from PDF files</title>
      <link>https://blog.bdw.li/removing-empty-pages-from-pdf-files/?ref=rss</link>
      <pubDate>Tue, 21 Oct 2025 21:44:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/removing-empty-pages-from-pdf-files/?ref=rss</guid>
      <description>I created a script to scan documents and remove empty pages from the final PDF.</description>
      <content:encoded><![CDATA[<p>I bought a used Brother document scanner on Kleinanzeigen to manage my overflowing desk. Of course, I could have sorted it all manually, but why go the straight way if you can procrastinate with technology instead <mark>┬┴┬┴┤･ω･)ﾉ</mark>.</p>
<p>The document scanner is quite simple and can only scan to a computer locally over USB. Luckily I can use <a href="https://linux.die.net/man/1/scanimage" target="_blank" rel="noopener noreferrer">scanimage</a> on my Linux machine to access the scanner over the SANE interface as well.</p>
<h2 id="1-scan-the-documents">(1) Scan the documents</h2>
<p>After a while I found the proper parameters for my model:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">$ scanimage
</span></span><span class="line"><span class="cl">  <span class="c1"># select device</span>
</span></span><span class="line"><span class="cl">  --device-name<span class="o">=</span><span class="s2">&#34;</span><span class="nv">$device</span><span class="s2">&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># select source on the device (there are devices with several input sources)</span>
</span></span><span class="line"><span class="cl">  --source <span class="s1">&#39;Automatic Document Feeder(centrally aligned,Duplex)&#39;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># use offset to scan only the part of the paper where the actual text is</span>
</span></span><span class="line"><span class="cl">  -y <span class="m">297</span> -l <span class="m">7</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># run automatically, don&#39;t ask for input</span>
</span></span><span class="line"><span class="cl">  --batch<span class="o">=</span><span class="s2">&#34;</span><span class="nv">$doc_scan</span><span class="s2">&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  --resolution<span class="o">=</span><span class="m">300</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">  --format<span class="o">=</span>pdf
</span></span></code></pre></div><p>With a single document, this produces a two page PDF file in DIN A4.</p>
<p>I don&rsquo;t want to decide if I need to scan only one or both sides, and my scanner can only do as he&rsquo;s told. I opted for both sides all the time - hence the duplex parameter - and take care of empty pages with CPU resources instead.</p>
<p>My workflow uses the following steps:</p>
<ul>
<li>Create the original PDF file</li>
<li>Create a copy with Ghostscript to fix the xref table</li>
<li>Analyze the copy to find empty pages</li>
<li>If some are found, they will be extracted for manual verification</li>
<li>A &ldquo;clean&rdquo; PDF is created for use with <a href="https://docs.paperless-ngx.com" target="_blank" rel="noopener noreferrer">paperless-ngx</a></li>
</ul>
<p>Later I want to remove the manual verification step. But I need to use it for a few weeks to verify my threshold first.</p>
<h2 id="2-fix-the-pdf">(2) Fix the PDF</h2>
<p>I&rsquo;m using ghostscript to fix the pdf file. For some reason, the scanimage pdf is always &ldquo;broken&rdquo;. Errors look like this:</p>
<blockquote>
<p>The following errors were encountered at least once while processing this file: xref table was repaired Incorrect /Length for stream object.</p>
</blockquote>
<p>It could be the <code>-y 297 -l 7</code> offset I&rsquo;m using, or it could be $scanimage itself &ndash; I couldn&rsquo;t bring myself to invest.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">$ gs <span class="se">\
</span></span></span><span class="line"><span class="cl">  <span class="c1"># result is saved as $doc_fixed</span>
</span></span><span class="line"><span class="cl">  -o <span class="s2">&#34;</span><span class="nv">$doc_fixed</span><span class="s2">&#34;</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># generate new PDF file</span>
</span></span><span class="line"><span class="cl">  -sDEVICE<span class="o">=</span>pdfwrite <span class="se">\
</span></span></span><span class="line"><span class="cl">  
</span></span><span class="line"><span class="cl">  <span class="c1"># PDFs quality setting (here is potential to reduce the file size)</span>
</span></span><span class="line"><span class="cl">  -dPDFSETTINGS<span class="o">=</span>/prepress <span class="se">\
</span></span></span><span class="line"><span class="cl">  
</span></span><span class="line"><span class="cl">  <span class="c1"># Don&#39;t pause between pages</span>
</span></span><span class="line"><span class="cl">  -dNOPAUSE <span class="se">\
</span></span></span><span class="line"><span class="cl">  
</span></span><span class="line"><span class="cl">  <span class="c1"># Quit gs automatically at the end</span>
</span></span><span class="line"><span class="cl">  -dBATCH <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># Surpress most messages, except for actual errors</span>
</span></span><span class="line"><span class="cl">  -dQUIET <span class="se">\
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1"># input file that is used</span>
</span></span><span class="line"><span class="cl">  <span class="s2">&#34;</span><span class="nv">$doc_scan</span><span class="s2">&#34;</span>
</span></span></code></pre></div><h2 id="3-look-for-empty-pages">(3) Look for empty pages</h2>
<p>In the past I removed empty pages with <a href="https://github.com/pdfarranger/pdfarranger" target="_blank" rel="noopener noreferrer">pdfarranger</a>, since I also used the tool to split all documents from one scan session into seperate files. Today I stumbled upon <a href="https://github.com/nklb/remove-blank-pages" target="_blank" rel="noopener noreferrer">nklb/remove-blank-pages</a>. His way, to simply ask ghostscript how much ink was used on a page, made me feel <mark>w(°ｏ°)w</mark>.</p>
<p><code>$doc_fixed</code> is a 10 page PDF and the pages 4, 6 and 8 are almost empty. When I ask ghostscript how much ink is used on it, I get this result (I added the arrows for visibilty):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">$ gs -q -o - -sDEVICE<span class="o">=</span>inkcov <span class="nv">$doc_fixed</span>
</span></span><span class="line"><span class="cl">    0.10491 0.10328 0.09950 0.04416 CMYK OK
</span></span><span class="line"><span class="cl">    0.10148 0.10088 0.09943 0.05592 CMYK OK
</span></span><span class="line"><span class="cl">    0.12084 0.11656 0.11248 0.05224 CMYK OK
</span></span><span class="line"><span class="cl">-&gt;  0.01110 0.01129 0.01081 0.00863 CMYK OK
</span></span><span class="line"><span class="cl">    0.13958 0.13398 0.12899 0.05891 CMYK OK
</span></span><span class="line"><span class="cl">-&gt;  0.01345 0.01371 0.01331 0.01084 CMYK OK
</span></span><span class="line"><span class="cl">    0.10316 0.09932 0.09451 0.02920 CMYK OK
</span></span><span class="line"><span class="cl">-&gt;  0.00441 0.00413 0.00468 0.00076 CMYK OK
</span></span><span class="line"><span class="cl">    0.42938 0.36430 0.36582 0.04960 CMYK OK
</span></span><span class="line"><span class="cl">    0.36276 0.35747 0.36175 0.07565 CMYK OK
</span></span></code></pre></div><p>However, I couldn&rsquo;t get nklbs <a href="https://www.gnu.org/software/grep" target="_blank" rel="noopener noreferrer">grep</a> 
    <a href="https://github.com/nklb/remove-blank-pages/blob/c551f746b3e607a63d24dbb9444996260b63806c/remove-blank-pages#L7" target="_blank" rel="noopener noreferrer">pattern</a> to work and decided to go with <a href="https://www.gnu.org/software/gawk" target="_blank" rel="noopener noreferrer">awk</a> instead. awk can also count, which made it easier to set a threshold for an &ldquo;empty page&rdquo; in my view.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">$ awk
</span></span><span class="line"><span class="cl"><span class="c1"># injecting $threshold variable into awks context</span>
</span></span><span class="line"><span class="cl">-v <span class="nv">thr</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$threshold</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># matching lines starting with an optional space followed by digits</span>
</span></span><span class="line"><span class="cl"><span class="c1"># you can play around with the tokens at https://regex101.com/r/KtqgpB/1</span>
</span></span><span class="line"><span class="cl">/^<span class="o">[[</span>:space:<span class="o">]]</span>*<span class="o">[</span>0-9<span class="o">]</span>/ 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># awk magic: </span>
</span></span><span class="line"><span class="cl"><span class="c1"># p is a counter to count rows, where each row is a page in the pdf</span>
</span></span><span class="line"><span class="cl"><span class="c1"># s is the sum of the four CMYK values per row</span>
</span></span><span class="line"><span class="cl"><span class="c1"># then it checks if the sum is below the threshold. </span>
</span></span><span class="line"><span class="cl"><span class="c1"># If so, it will print p, the page number</span>
</span></span><span class="line"><span class="cl"><span class="o">{</span> p++<span class="p">;</span> <span class="nv">s</span><span class="o">=</span><span class="nv">$1</span>+<span class="nv">$2</span>+<span class="nv">$3</span>+<span class="nv">$4</span><span class="p">;</span> <span class="k">if</span> <span class="o">(</span>s&lt;thr<span class="o">)</span> print p <span class="o">}</span>
</span></span></code></pre></div><p>Currently my threshold is set to 0.06, so less then 6% of the page are covered in ink to be classified as empty. It&rsquo;s usually just a border from scanning or punch holes that are recognized as &ldquo;ink&rdquo;.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Was machst du eigentlich den ganzen Tag? Oktober 2025</title>
      <link>https://blog.bdw.li/was-machst-du-eigentlich-den-ganzen-tag-oktober-2025/?ref=rss</link>
      <pubDate>Sun, 05 Oct 2025 15:24:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/was-machst-du-eigentlich-den-ganzen-tag-oktober-2025/?ref=rss</guid>
      <description>Frau Brüllen sagte, dass man seit anno 2013 am Fünften eines Monats den Tag verbloggen muss. Also tat ich das.</description>
      <content:encoded><![CDATA[<p>Es ist schon halb vier am Nachmittag und ich räume gerade weiter den Blog auf. Mitten in der Migration zum neuen Theme erwische ich den alten <a href="/tags/wmdedgt/">#wmdedgt</a> Post und stelle fest, heute ist ja der Fünfte! Mal sehen, ob ich noch alles zusammenbekomme.</p>
<h2 id="0612-uhr">06:12 Uhr</h2>
<p>Die Brut ist wach und verkündet das frohen Mutes dem ganzen Haushalt. Überraschenderweise gibt es Verständnis für müde Eltern und wir bekommen eine Gnadenfrist von 90 Minuten.</p>
<h2 id="0815-uhr">08:15 Uhr</h2>
<p>Ausreichend wach schlüpfe ich in sozialverträgliche Kleidung und nehme Kurs auf den nahegelegenen Bäcker. Begleitet werde ich vom Erstgeborenen, der sich als Ziel gesetzt hat, alleine 4 Brötchen zu verspeisen.</p>
<h2 id="0900-uhr">09:00 Uhr</h2>
<p>Beim Frühstück wird festgestellt, dass es langsam Zeit ist die Tasche für den Schwimmkurs zu packen. Das Seepferdchen will erobert werden. Also die geschmierten Brötchen einpacken, den Kaffee ehrenlos inhalieren, die wichtigsten Sachen in die Tasche pfeffern und schon gehts los.</p>
<h2 id="1000-uhr">10:00 Uhr</h2>
<p>Das Kind ist pünktlich im Wasser und ich habe knappe 45 Minuten Zeit am Laptop zu klimpern. Die Zeit habe ich heute damit verbracht, kleine Zusammenfassungen für alte Blogbeiträge zu schreiben. Das neue Theme zeigt diese ganz gerne bei einem Artikel mit passender Kategorie an.</p>
<h2 id="1100-uhr">11:00 Uhr</h2>
<p>Zurück daheim, Schwimmsachen wegsortieren, Aufräumen, beim Kochen unterstützen, Bude bauen, Reis mit Paprika-Sahne-Hähnchen genießen, Küche aufräumen&hellip;</p>
<h2 id="1500-uhr">15:00 Uhr</h2>
<p>Kaffee Pause &ndash; und ich stelle fest, dass ich diesen Artikel schreiben könnte und tue es auch direkt.</p>
<h2 id="1645-uhr">16:45 Uhr</h2>
<p>Ich stelle völlig verblüfft fest, dass das Kind in der Kita UNO gelernt hat. Also das Kartenspiel. Wir spielen viele Runden bis zum Abendbrot.</p>
<h2 id="1912-uhr">19:12 Uhr</h2>
<p>Die Brut ist im Bett, Zeit den Gaming Rechner hochzufahren. Aktuell hoch im Kurs: <a href="https://store.steampowered.com/app/1149460/ICARUS/" target="_blank" rel="noopener noreferrer">Icarus</a>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Schweinehund, elender!</title>
      <link>https://blog.bdw.li/schweinehund-elender/?ref=rss</link>
      <pubDate>Sat, 04 Oct 2025 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/schweinehund-elender/?ref=rss</guid>
      <description>I sadly realized that I didn&amp;rsquo;t come even close to a good biking distance this year.</description>
      <content:encoded><![CDATA[<p>While migrating to this pretty new theme, I also checked all posts to make sure they fit. I stumbled upon my <a href="/tags/biking/">#biking</a> list and sadly realized that I didn&rsquo;t come even close to a good distance this year.</p>
<pre tabindex="0"><code>     ╔══════════════════════════════════════════════════════════════════════╗
2014 ╢███████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 517
2015 ╢I have no idea where the data is ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ ?
2016 ╢██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 166
2017 ╢███████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 729
2018 ╢█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 697
2019 ╢███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 312
2020 ╢█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 17
2021 ╢███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 90
2022 ╢██████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 487
2023 ╢████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 553
2024 ╢██████████████████████████████████████████████████████████████████████╟ 1924
2025 ╢████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 440
     ╠══════════════════════════════════════════════════════════════════════╣
     0                                                                      1924
</code></pre><p>There is no excuse, I was simply lazy <mark>(；⌣̀_⌣́)</mark>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Let&#39;s encrypt traffic to your local network devices</title>
      <link>https://blog.bdw.li/lets-encrypt-traffic-to-your-local-network-devices/?ref=rss</link>
      <pubDate>Tue, 30 Sep 2025 17:21:00 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/lets-encrypt-traffic-to-your-local-network-devices/?ref=rss</guid>
      <description>I used split DNS and Let&amp;rsquo;s Encrypt to have a valid SSL certificate for my Synology NAS, without opening any incoming ports in the firewall.</description>
      <content:encoded><![CDATA[<p>I like my computery things to be encrypted. I could run my own CA<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>,<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>,<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup> in my home lab, but I won&rsquo;t use it often and most probably wipe the VM by accident <mark>╮(￣▽￣&quot;&quot;)╭ </mark>.</p>
<p>Since I only had positive experiences with Let&rsquo;s Encrypt, I started to fiddle around with it at home. The Web UI I use most often is from my NAS. I could simply trust it&rsquo;s self-signed cert, but I wanted the fuzzy and warm feeling of a secure lock icon in my browser.</p>
<p>Synology offers to use the <a href="https://kb.synology.com/en-us/DSM/tutorial/How_to_enable_HTTPS_and_create_a_certificate_signing_request_on_your_Synology_NAS" target="_blank" rel="noopener noreferrer">Let&rsquo;s Encrypt CA out of the box</a>, but the verification uses a 
    <a href="https://letsencrypt.org/docs/challenge-types/#http-01-challenge" target="_blank" rel="noopener noreferrer">http-challenge</a>. This in turn requires Port 80 to be forwarded from the Router to the NAS. I didn&rsquo;t want to do this and remembered that there is also a 
    <a href="https://letsencrypt.org/docs/challenge-types/#dns-01-challenge" target="_blank" rel="noopener noreferrer">dns-challenge</a> available.</p>
<p>To use the DNS challenge, I needed another client and went with <a href="https://acme.sh/" target="_blank" rel="noopener noreferrer">acme.sh</a>. Here is roughly how it goes:</p>
<ul>
<li>acme.sh talks to LE CA and requests a new certificate</li>
<li>LE CA issues a token to acme.sh</li>
<li>acme.sh creates a DNS TXT record like <code>_acme-challenge.nas.bdw.li</code> with a value derived from the token and other details</li>
<li>LE CA checks the DNS record and gives the certificate creation process a go if the DNS record is valid</li>
<li>acme.sh creates the certificate and removes the DNS record</li>
<li>acme.sh switches the certificate in my NAS</li>
</ul>
<p>acme.sh was only able to modify the DNS records <a href="https://github.com/acmesh-official/acme.sh/wiki/dnsapi" target="_blank" rel="noopener noreferrer">thanks to the community that maintained the plugins</a> for various DNS providers.</p>
<p>The DNS challenge also allows to create wildcard certificates like <code>*.bdw.li</code>. I&rsquo;m starting to like those, because then you won&rsquo;t leave a trail of your DNS names somewhere.</p>
<p>Wait, isn&rsquo;t something crucial missing? Yes, <a href="https://tailscale.com/learn/why-split-dns" target="_blank" rel="noopener noreferrer">Split DNS</a>! I am pointing certain public DNS names to private IPs within my home lab.</p>
<p>So, in my home lab <code>nas.bdw.li</code> resolves to <code>10.10.2.1</code> and when I access it, I&rsquo;m greeted with a pretty Let&rsquo;s Encrypt certificate.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://hohnstaedt.de/xca/" target="_blank" rel="noopener noreferrer">https://hohnstaedt.de/xca/</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://github.com/jsha/minica" target="_blank" rel="noopener noreferrer">https://github.com/jsha/minica</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://github.com/topics/ca" target="_blank" rel="noopener noreferrer">https://github.com/topics/ca</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>De-DRMing My Amazon Kindle Library</title>
      <link>https://blog.bdw.li/de-drming-my-amazon-kindle-library/?ref=rss</link>
      <pubDate>Mon, 20 Jan 2025 21:05:00 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/de-drming-my-amazon-kindle-library/?ref=rss</guid>
      <description>I freed my Kindle library and documented the process.</description>
      <content:encoded><![CDATA[<p>After a few hours of trial and error, I finally managed to free my Kindle library. Here’s how it went down, step by step.</p>
<blockquote>
<p>What a strange coincidence that Amazon decided to disable the &ldquo;Über USB herunterladen&rdquo; function on their website in February (<a href="https://arstechnica.com/gadgets/2025/02/psa-amazon-kills-download-transfer-via-usb-option-for-kindles-this-week/" target="_blank" rel="noopener noreferrer">PSA: Amazon kills “download &amp; transfer via USB” option for Kindles this week</a>). My trials started around New Year&rsquo;s, and my first draft of this post is from January 20th. Lucky me — I had already finished by the time Amazon decided to pull the plug.</p>
</blockquote>
<h2 id="what-youll-need">What You’ll Need</h2>
<ol>
<li>
<p><strong>A Kindle Paperwhite (Gen 11 or Older)</strong>
This is crucial. Newer devices use a file format that the tools I used might not handle, but I didn’t test this directly.</p>
</li>
<li>
<p><strong>Amazon Kindle Bulk Downloader</strong> (<a href="https://github.com/treetrum/amazon-kindle-bulk-downloader" target="_blank" rel="noopener noreferrer">treetrum/amazon-kindle-bulk-downloader</a>)
A Node.js script that logs into your Amazon account and downloads all your purchased ebooks via &ldquo;Über USB herunterladen&rdquo;.</p>
<ul>
<li>It selects the last device that interacted with your Amazon library. You’ll need the serial number of this device later to decrypt the DRM.</li>
<li>In my case, I had five devices listed, and the script chose the one connected to the Amazon store most recently.</li>
<li>For peace of mind, you might want to change your Amazon credentials afterward.</li>
</ul>
</li>
<li>
<p><strong>Calibre with the DeDRM Plugin</strong> (<a href="https://github.com/nodrm/DeDRM_tools" target="_blank" rel="noopener noreferrer">noDRM fork of DeDRM_tools</a>)</p>
<ul>
<li>Install the plugin in Calibre to remove DRM during the import process.</li>
<li>Make sure to use the serial number of the Kindle device that downloaded the books. If you’ve already imported books into Calibre, you’ll need to remove them and re-import after setting up the plugin.</li>
</ul>
</li>
<li>
<p><strong>Calibre for Library Management</strong> (<a href="https://calibre-ebook.com/" target="_blank" rel="noopener noreferrer">Calibre Software</a>)</p>
<ul>
<li>Beyond DRM removal, Calibre is excellent for organizing your library. It lets you sort, edit metadata, convert file formats, and probably much more that I didn’t try yet.</li>
<li>Start small: import one book and open it in Calibre’s reader to confirm that the DRM removal worked. Alternatively, try converting the file — if it works, you’re good to go.</li>
</ul>
</li>
</ol>
<hr>
<h2 id="lessons-learned">Lessons Learned</h2>
<p>There’s a lot of outdated advice out there about this process. Here’s what I learned through trial and (plenty of) error:</p>
<ul>
<li>At one point, I was stuck using Kindle for PC in Wine on Linux. That didn’t go well. The app started but I was never able to access the internet from it. Some people suggested that missing CA certificates were the issue, but I didn’t follow that path.</li>
<li>I even set up a Windows VM to keep experimenting. Thankfully, I figured out the importance of using the correct serial number shortly after.</li>
<li>The latest versions of all tools worked fine on Linux once I understood the process.</li>
</ul>
<p>In the end I did all of this, just to try out Claudio’s recommendation about Kokoro (<a href="https://claudio.uk/posts/epub-to-audiobook.html" target="_blank" rel="noopener noreferrer">Convert E-books into audiobooks with Kokoro</a>), which is a text-to-speech<br />model <mark>(￣▽￣*)ゞ</mark>. Once I had a chance to play around with it, I might write about it some more.</p>
<hr>
<h2 id="one-more-thing-">One more thing 🏴‍☠️</h2>
<blockquote>
<p>With great power comes great responsibility.<br>
— <cite>Benjamin Franklin &ldquo;Ben&rdquo; Parker a.k.a. Uncle Ben</cite></p>
</blockquote>
<p>Just because you <em>can</em> remove DRM doesn’t mean you <em>should</em> use it to distribute books freely. Stripping DRM is like ripping a CD — you’re making a backup or converting a file for personal use. But whether that’s legal depends on your country. In many places, sharing DRM-free copies is considered piracy and can have legal consequences.</p>
]]></content:encoded>
    </item>
    <item>
      <title>A new feed tool</title>
      <link>https://blog.bdw.li/a-new-feed-tool/?ref=rss</link>
      <pubDate>Wed, 25 Sep 2024 21:32:12 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/a-new-feed-tool/?ref=rss</guid>
      <description>Miniflux (and how to set it up with NetNewsWire).</description>
      <content:encoded><![CDATA[<p>I&rsquo;m using my <a href="https://nextcloud.com/" target="_blank" rel="noopener noreferrer">Nextcloud</a> for a while now. It started as a simple tool to synchronize my files over all my devices. Over time the developers added a lot of new features or apps which where exciting to use.</p>
<p>However, at some point I wondered what I would do, if my instance crashed. A single point of failure. Gone would be my photos, documents, calendar entries, <a href="https://blog.bdw.li/ciao-pocket-hello-nextcloud-bookmarks/">bookmarks</a>, <a href="https://blog.bdw.li/i-love-rss/">feeds</a> and what not. So I slowly took it apart and nowadays it only serves two purposed:</p>
<ol>
<li>A plattform to easily provide files for friends (I do all my file synchronization with <a href="https://syncthing.net/" target="_blank" rel="noopener noreferrer">Syncthing</a> now)</li>
<li>My rss feed aggregator and viewer at the same time (<a href="https://apps.nextcloud.com/apps/news" target="_blank" rel="noopener noreferrer">Nextcloud News</a>)</li>
</ol>
<p>Since Nextcloud was never intended to be used as a feed reader, I decided to try something new: <a href="https://miniflux.app" target="_blank" rel="noopener noreferrer">Miniflux</a>. The installation was easy enough and I will use the web interface for reading when I&rsquo;m on my computer.</p>
<p>On my phone it&rsquo;s more convenient to use an app. I looked at a few and decided to start with <a href="https://netnewswire.com/" target="_blank" rel="noopener noreferrer">NetNewsWire</a>. The configuration is easy as well, wouldn&rsquo;t there be the one stepping stone that I didn&rsquo;t see in the beginning.</p>
<p>Miniflux offers a wide array of third-party integrations. They are off by default. To NetNewsWire to access Miniflux&rsquo; data I needed to enable a third party API, namely 
    <a href="https://github.com/Ranchero-Software/NetNewsWire/issues/2859#issuecomment-1019066748" target="_blank" rel="noopener noreferrer">Google Reader API</a>. Once I enabled it with a custom username and password I was able to add a new &ldquo;FreshRSS&rdquo; account in NetNewsWire with the credentials that I just added in the Google Reader API. It&rsquo;s not rocket science, one just has to understand how this all plays together.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Statistics, yay!</title>
      <link>https://blog.bdw.li/statistics-yay/?ref=rss</link>
      <pubDate>Thu, 11 Jul 2024 21:13:00 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/statistics-yay/?ref=rss</guid>
      <description>This years biking distance is my overall score in the past 10 years, and the year is just half way done!</description>
      <content:encoded><![CDATA[<p><del>I just realised that this theme can <a href="https://jpanther.github.io/congo/samples/charts/" target="_blank" rel="noopener noreferrer">draw charts using Chart.js</a>. Figuring out all the options (and gathering all the data) took me two hours of this evening.</del></p>
<p>After switching to a new and minimal theme, I needed a new solution for this chart. Welcmoe: <a href="https://asciibar.ozbot.si" target="_blank" rel="noopener noreferrer">asciibar</a>, a tool that let&rsquo;s you easily create horizontal bar charts using ascii characters. Nice find!</p>
<p>Do you know what else I&rsquo;m happy about? This years biking distance is my overall score in the past 10 years, and the year is just half way done!</p>
<pre tabindex="0"><code>     ╔══════════════════════════════════════════════════════════════════════╗
2014 ╢████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 517
2016 ╢█████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 166
2017 ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░╟ 729
2018 ╢██████████████████████████████████████████████████████░░░░░░░░░░░░░░░░╟ 697
2019 ╢████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 312
2020 ╢█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 17
2021 ╢███████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 90
2022 ╢██████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 487
2023 ╢███████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ 553
2024 ╢██████████████████████████████████████████████████████████████████████╟ 904
     ╠══════════════════════════════════════════════════════════════════════╣
     0                                                                      904
</code></pre><p>The observant reader noticed that I skipped a year in the list. For some reason I have no data from 2015.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Two month of consequent biking</title>
      <link>https://blog.bdw.li/two-month-of-consequent-biking/?ref=rss</link>
      <pubDate>Sun, 07 Jul 2024 22:38:32 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/two-month-of-consequent-biking/?ref=rss</guid>
      <description>I wanted to write about my success to stay focused on using my bike.</description>
      <content:encoded><![CDATA[<p><img loading="lazy" src="path-through-fields.jpg" alt="Bike path through golden fields under a clear blue sky."  />
</p>
<p>I wanted to write about my success to stay focused on using my bike and just realised I already <a href="https://blog.bdw.li/the-difficulty-to-stay-on-the-ball/">did that</a> a month ago, but never came around to publish the post <mark>（´∇｀&rsquo;&rsquo;）</mark></p>
<table>
	<thead>
			<tr>
					<th>Month</th>
					<th>Distance</th>
					<th>Rides</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>July</td>
					<td>139km</td>
					<td>8</td>
			</tr>
			<tr>
					<td>June</td>
					<td>709km</td>
					<td>51</td>
			</tr>
			<tr>
					<td>May</td>
					<td>358km</td>
					<td>35</td>
			</tr>
	</tbody>
</table>
<p><img loading="lazy" src="last12month.jpg" alt="A graph showing the cycled distance for each month in the last 12 month. Overall I rode 1774km in the last 12 month, Most of them in June 2024 and almost none between October 2023 and Februrary 2024."  />
</p>
]]></content:encoded>
    </item>
    <item>
      <title>The difficulty to stay on the ball</title>
      <link>https://blog.bdw.li/the-difficulty-to-stay-on-the-ball/?ref=rss</link>
      <pubDate>Sat, 08 Jun 2024 22:30:32 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/the-difficulty-to-stay-on-the-ball/?ref=rss</guid>
      <description>It&amp;rsquo;s not easy, but I managed okayish so far.</description>
      <content:encoded><![CDATA[<p><a href="https://blog.bdw.li/im-still-biking/">Looking back on this post</a> I&rsquo;m sad to say my initial motivation didn&rsquo;t stay with me. However, let&rsquo;s not dwell on the past too much. Instead, let&rsquo;s celebrate my first month of commuting to work by bike <mark>✧｡٩(ˊᗜˋ )و✧*｡</mark></p>
<p>The marketing campaing &ldquo;<a href="https://www.mit-dem-rad-zur-arbeit.de/bundesweit/index.php" target="_blank" rel="noopener noreferrer">Mit dem Rad zur Arbeit</a>&rdquo; highly motivated me again and so far, I was able to ride the 12km to the office almost every work day since May.</p>
<p><img loading="lazy" src="last_12_month.jpg" alt="A graph showing the cycled distance for each month in the last 12 month. Overall I rode 1066km in the last 12 month, Most of them in May 2024 and almost none between October 2023 and Februrary 2024."  />
</p>
]]></content:encoded>
    </item>
    <item>
      <title>SSH config has a matching function</title>
      <link>https://blog.bdw.li/ssh-config-has-a-matching-function/?ref=rss</link>
      <pubDate>Wed, 13 Mar 2024 21:32:33 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/ssh-config-has-a-matching-function/?ref=rss</guid>
      <description>I sure love drop-in configurations!</description>
      <content:encoded><![CDATA[<p>Did you know that SSH can match &ldquo;things&rdquo;? I sure didn&rsquo;t!</p>
<p>Tonight I wanted to grant SSH access to a service account that didn&rsquo;t have a home directory, but was required to use keyauth. After a bit of research on the internet I added a new config file to <code>/etc/ssh/sshd_config.d</code>. <mark>(ﾉ´ з `)ノ</mark> <em>I love drop-in configurations</em>.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">Match Group homeless
</span></span><span class="line"><span class="cl">  <span class="c1"># %u = current user</span>
</span></span><span class="line"><span class="cl">  AuthorizedKeysFile /etc/ssh/authorized-keys/%u
</span></span></code></pre></div><p>I also needed to create the group <code>homeless</code> and add my service account to it. And, of course, I also needed to add the public key to the referenced file above. (So, if your service account is called <code>pinkie</code>, you&rsquo;ll need to add the key to <br /><code>/etc/ssh/authorized-keys/pinkie</code>).</p>
<p>Lastly, if you are on Windows and use the WSL to access a linux server using keyauth, I can only advise to copy your private key to some WSL folder instead of using the mounted windows drive at <code>/mnt/c/%something</code>. I was not able to restrict the access on the private key file on the Windows drive in any way, that was accepted by the ssh daemon. Copying the file to <code>~/.ssh/%something</code> and restricting it (<code>chmod 700</code>) worked in the end.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Autohotkey is awesome, even though I couldn&#39;t figure out the proper syntax</title>
      <link>https://blog.bdw.li/autohotkey-is-awesome-even-though-i-couldnt-figure-out-the-proper-syntax/?ref=rss</link>
      <pubDate>Tue, 27 Feb 2024 22:38:44 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/autohotkey-is-awesome-even-though-i-couldnt-figure-out-the-proper-syntax/?ref=rss</guid>
      <description>A pragmatic approach to an annoying bug.</description>
      <content:encoded><![CDATA[<p>Until today the <a href="/posts/i-miss-my-record-collection/">issue with Apples new apps</a> to synchronize with my iPhone is still not fixed. I wasn&rsquo;t able to find any other users with similar issues, but also have to say I didn&rsquo;t dig very deep. I choose the brutal way and simply removed all apps and installed the previous iTunes version 12.13.0.9 (thanks to 
    <a href="https://theapplewiki.com/wiki/ITunes#iTunes_12.x" target="_blank" rel="noopener noreferrer">theapplewiki.com</a>).</p>
<p>My iTunes library was still complete, which was nice, but synchronizing to the iPhone still yielded the same old error: <a href="https://discussions.apple.com/thread/255358449?sortBy=best" target="_blank" rel="noopener noreferrer">Preparing to Sync</a>. Since killing the <code>MDCrashReportTool.exe</code> is easy enough, I decided to write a quick Autohotkey script for it.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1">#Requires AutoHotkey v2.0</span>
</span></span><span class="line"><span class="cl">While ProcessExist<span class="o">(</span><span class="s2">&#34;itunes.exe&#34;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">    ProcessClose <span class="s2">&#34;MDCrashReportTool.exe&#34;</span>
</span></span></code></pre></div><p>Unfortunately, that didn&rsquo;t work out too well. But I was too tired to wrap my head around the proper syntax and simply renamed the file (it&rsquo;s located in <code>C:\Program Files (x86)\Common Files\Apple\Mobile Device Support\</code>). This should work until a new update is published.</p>
]]></content:encoded>
    </item>
    <item>
      <title>I miss my record collection</title>
      <link>https://blog.bdw.li/i-miss-my-record-collection/?ref=rss</link>
      <pubDate>Thu, 22 Feb 2024 23:29:44 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/i-miss-my-record-collection/?ref=rss</guid>
      <description>I turned my back to music streaming and sadly realized I lost most of my old CDs.</description>
      <content:encoded><![CDATA[<p>At the end of December 2023 I decided to switch back to CDs and stop using Spotify. The idea was triggered by the announced price increase and I thought, that for all the money that I spent on it per Year, I can actually buy a few CDs that I then own. During this thought-process I also remembered a very foolish decision from a few years ago:</p>
<blockquote>
<p>In a basement cleanup session, I decided to throw away a whole box of CDs. I didn&rsquo;t own a CD player at the time and haven&rsquo;t touched the box in years. I thought Spotify will be my music source forever. If I could turn back time and change that decision, I would.</p>
</blockquote>
<p>In the years before music streaming services, I collected all my MP3 files in folders sorted by artist and album. It was the logical thing to do, because CDs contained one artist and album (apart from Bravo Hits and Dream Dance <mark>ᕕ(⌐■_■)ᕗ ♪♬</mark>). Then Spotify came and I had access to virtually everything &ndash; that changed my listening behaviour. I moved from a sorted folder full of artists and their albums to playlists. Since I didn&rsquo;t have my folder collection anymore, I sometimes didn&rsquo;t know what music to listen to. In the end I almost only listened to one particular playlist. Thinking about this today, makes me feel limited somehow. I stopped listening to whole albums, and just played the few songs that I really liked. If you only ever play the really good ones, they <em>can</em> get boring over time.</p>
<p>Now that I decided to buy CDs and rip them myself again, I can&rsquo;t wait to get started. But of course there are some challenges along the way:</p>
<h2 id="copying-discs-requires-a-disc-drive-">Copying discs requires a disc drive 🕵️</h2>
<p>No surprise there, but my current tower has no space for a optical drive (I still love it, though: <a href="https://www.fractal-design.com/products/cases/meshify/meshify-2-compact/black-tg-light-tint/" target="_blank" rel="noopener noreferrer">Meshify 2 Compact from Fractal Design</a>). When I assembled the computer a year ago, I thought the time for optical storage media is over. I still have a drive in the basement and will need to look into something like S-ATA to USB-A or C and simply put it on top of the tower.</p>
<h2 id="transferring-music-files-from-windows-to-my-iphone-">Transferring music files from Windows to my iPhone 📠</h2>
<p>I thought that would be an easy one: use iTunes. It turns out, Apple just released version 1.0 of the <a href="https://www.microsoft.com/store/productId/9PKTQ5699M62" target="_blank" rel="noopener noreferrer">iCloud</a> for Windows app and with that came a couple of new tools as well:</p>
<ul>
<li><a href="https://www.microsoft.com/store/productId/9NP83LWLPZ9K" target="_blank" rel="noopener noreferrer">Apple Devices</a> - Used to manage devices and synchronize selected content</li>
<li><a href="https://www.microsoft.com/store/productId/9PFHDD62MXS1" target="_blank" rel="noopener noreferrer">Apple Music</a> - Used to manage the music library, replaces iTunes but is limited in it&rsquo;s features</li>
</ul>
<p>iTunes also received an update, which removed the music part from it. Now you can only manage your audio books and podcasts, everything else is gone.<mark>(っ °Д °;)っ</mark></p>
<blockquote>
<p>Funny enough, even though Apple introduced the new apps, they still share an error that I already had on iTunes in the past: <a href="https://discussions.apple.com/thread/255358449?sortBy=best" target="_blank" rel="noopener noreferrer">MDCrashReportTool, Backup, Sync, Preparing to Sync</a>.</p>
</blockquote>
<p><strong>Apple Devices</strong> recognizes my iPhone most of the time. If it doesn&rsquo;t, I need to kill <code>MDCrashReporterTool.exe</code>. Selecting <strong>Music</strong> shows an error that the media library from Apple Music couldn&rsquo;t be opened. I only got it working the first time I ever used this app. Since then I always receive this error.</p>
<blockquote>
<p>Die Mediathek von Apple Music konnte nicht geöffnet werden. Öffne die Apple Music-App, um dies zu beheben.</p>
</blockquote>
<p>Clicking on the button to open Apple Music brings the Apple Music app in focus, but does nothing else. (I can see and listen to my music in Apple Music).</p>
<p><img loading="lazy" src="./finding-nemo-bags.gif#center" alt="&ldquo;Now what?&rdquo; meme"  />
</p>
<p>A really long time ago, back when I used my iPod Photo, I had a software from a company with a red chair as logo. They offered a simple tool to transfer MP3 files to the iPod without using iTunes &ndash; after a quick search I found it, the company was actually called &ldquo;Red Chair&rdquo;, the software was called Anapod (<a href="https://web.archive.org/web/20100721234559/http://www.redchairsoftware.com/anapod/" target="_blank" rel="noopener noreferrer">Snapshot at web.archive.org</a>).</p>
<p>So today, I looked for alternatives again and tried <a href="https://www.copytrans.de/copytransmanager/" target="_blank" rel="noopener noreferrer">CopyTrans Manager</a> as well as <a href="https://imazing.com/blog/imazing-3-beta" target="_blank" rel="noopener noreferrer">iMazing 3 Beta</a> to transfer files. Both were disappointing.</p>
<p>CopyTrans Manager works, but the interface is a really scary and not fun to use.</p>
<p>iMazing 3 has too many features. I just want to copy my music to the device. I think the price for iMazing is justified if you use all the features, but for me that doesn&rsquo;t fit. Therefore it&rsquo;s too expensive.</p>
<p>For the moment I will use CopyTrans Manager and simply hope, that Apple fixes the issue with the Windows app <mark>( ˘︹˘ )</mark>.</p>
<h2 id="other-streaming-services">Other Streaming services</h2>
<blockquote>
<p>I would have a huge book library by now, looking at my kindle ebook collection. And I wish I would have bought them all as paperback. (Also, I like looking at shelves full of books).</p>
</blockquote>
<p>I have similar issues with Netflix and other streaming services. I happily switched from the bay to Netflix and enjoyed easy access to current movies for a while. But things dont last. Movies are removed from Netflix from time to time and it&rsquo;s not trivial keeping up to date with that. Also more and more streaming services are popping up, using &ldquo;exclusive&rdquo; blockbusters to get people to use their service. Just another 10$ for this service and another one for that. It doesn&rsquo;t take long and this accumulates to a few hundred bucks a year.</p>
<p>This development is no fun, but I haven&rsquo;t found a good solution for movies yet. (I&rsquo;m too impatient to wait for BluRay to load). And regarding books, I switched back to paperbacks in October already.</p>
]]></content:encoded>
    </item>
    <item>
      <title>gitconfig and includeIf Statements</title>
      <link>https://blog.bdw.li/gitconfig-and-includeif-statements/?ref=rss</link>
      <pubDate>Tue, 13 Feb 2024 23:15:20 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/gitconfig-and-includeif-statements/?ref=rss</guid>
      <description>If/else branches in a configuration file feel like a niche feature, but for mixed work environments it&amp;rsquo;s perfect.</description>
      <content:encoded><![CDATA[<p>Over the day I was using different machines to work on some git files. One machine was running Ubuntu, the other one Windows. Since I started using GPG keys to sign my commits a few weeks ago, I wondered how I could streamline my config files. A dotfile repository seemed to be the answer.</p>
<p>While I did some research on that, I stumbled upon the nifty feature of <code>IncludeIf</code> in <code>.gitconfig</code><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>. I could use this to split up the configuration files to match the different Operating Systems.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">~
</span></span><span class="line"><span class="cl">├───.gitconfig
</span></span><span class="line"><span class="cl">├───.gitconfig-linux
</span></span><span class="line"><span class="cl">├───.gitconfig-windows
</span></span><span class="line"><span class="cl">├───.gitconfig-github
</span></span><span class="line"><span class="cl">└───.gitconfig-gitlab
</span></span></code></pre></div><p><em>VSCodium on Windows seems to require the <code>gitdir/i</code> parameter to work<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, Github<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</em></p>
<h2 id="gitconfig">.gitconfig</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">[</span>includeIf <span class="s2">&#34;gitdir/i:c:/&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">path</span> <span class="o">=</span> ~/.gitconfig-windows
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">[</span>includeIf <span class="s2">&#34;gitdir:/home&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">path</span> <span class="o">=</span> ~/.gitconfig-linux
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">[</span>includeIf <span class="s2">&#34;gitdir:~/Git/&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">path</span> <span class="o">=</span> ~/.gitconfig-github
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">[</span>includeIf <span class="s2">&#34;gitdir:~/Gitlab/&#34;</span><span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">path</span> <span class="o">=</span> ~/.gitconfig-gitlab
</span></span></code></pre></div><p>The tilde &ldquo;<code>~</code>&rdquo; is nowadays an alias for the <code>HOME</code> variable on all major systems. On Windows it will show <code>C:\Users\$username</code>, on Linux it will be <code>/home/$username</code>. (And on macOS probably something like <code>/Users/$username</code>, but I didn&rsquo;t check.)</p>
<p>First, <code>includeIf</code> checks if the path of the git directory we are currently working in, starts with a <code>C:\</code>. If so, we are apparently on a Windows machine and include the configuration from <code>C:\Users\$username\.gitconfig-windows</code>.</p>
<p>The next check is for Linux systems. If the path starts with <code>/home</code> we include the linux config from <code>/home/$username/.gitconfig-linux</code>.</p>
<p>Once these are finished, we check if the path has <code>/Git/</code> or <code>/Gitlab/</code> in it. This is a personal preference of mine. I like to sort the repositories I work on into folders based on the provider.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">Git</span> <span class="o">=</span> Github
</span></span><span class="line"><span class="cl"><span class="nv">Gitlab</span> <span class="o">=</span> Gitlab
</span></span></code></pre></div><h2 id="gitconfig-linux--gitconfig-windows">.gitconfig-linux // .gitconfig-windows</h2>
<p>These files only show the path to the gpg binary, to assist in signing the commits.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># .gitconfig-linux</span>
</span></span><span class="line"><span class="cl"><span class="o">[</span>gpg<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">program</span> <span class="o">=</span> /usr/bin/gpg2
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># .gitconfig-windows</span>
</span></span><span class="line"><span class="cl"><span class="o">[</span>gpg<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">program</span> <span class="o">=</span> c:/Program Files <span class="o">(</span>x86<span class="o">)</span>/GnuPG/bin/gpg.exe
</span></span></code></pre></div><h2 id="gitconfig-github--gitconfig-gitlab">.gitconfig-github // .gitconfig-gitlab</h2>
<p>Again, the files are pretty similar and will share the same configuration items. The content, however, is different.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># .gitconfig-github</span>
</span></span><span class="line"><span class="cl"><span class="o">[</span>user<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">email</span> <span class="o">=</span> 19500486-josephbadow@users.noreply.gitlab.com
</span></span><span class="line"><span class="cl"><span class="nv">name</span> <span class="o">=</span> josephbadow
</span></span><span class="line"><span class="cl"><span class="nv">signingkey</span> <span class="o">=</span> 962215312718E4709B8F48240A05C906BDF59822 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">[</span>commit<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">gpgsign</span> <span class="o">=</span> <span class="nb">true</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># .gitconfig-gitlab</span>
</span></span><span class="line"><span class="cl"><span class="o">[</span>user<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">email</span> <span class="o">=</span> 19500486-josephbadow@users.noreply.gitlab.com
</span></span><span class="line"><span class="cl"><span class="nv">name</span> <span class="o">=</span> josephbadow
</span></span><span class="line"><span class="cl"><span class="nv">signingkey</span> <span class="o">=</span> 962215312718E4709B8F48240A05C906BDF59822 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">[</span>commit<span class="o">]</span>
</span></span><span class="line"><span class="cl"><span class="nv">gpgsign</span> <span class="o">=</span> <span class="nb">true</span>
</span></span></code></pre></div><p>You can actually use <code>git config --show-origin --get gpg.program</code> to let git show you the value of the parameter (<code>gpg.program</code> in this case) and the config file where it was found.</p>
<hr>
<p>All this allows me to use one set of configuration files on all my machines. My commits automagically use the proper gpg binary and git credentials, as long as I stay true to my folder structure with Git for Github and Gitlab for, well, Gitlab.</p>
<p>I like it!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://git-scm.com/docs/git-config" target="_blank" rel="noopener noreferrer">https://git-scm.com/docs/git-config</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://stackoverflow.com/a/55107009/22461849" target="_blank" rel="noopener noreferrer">https://stackoverflow.com/a/55107009/22461849</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>
    <a href="https://github.com/Microsoft/vscode/issues/62921#issuecomment-437693020" target="_blank" rel="noopener noreferrer">https://github.com/Microsoft/vscode/issues/62921#issuecomment-437693020</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Happy Birthday Blog</title>
      <link>https://blog.bdw.li/happy-birthday-blog/?ref=rss</link>
      <pubDate>Thu, 01 Feb 2024 00:15:20 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/happy-birthday-blog/?ref=rss</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.bdw.li/we-are-now-live/&#34;&gt;Pretty much one year ago&lt;/a&gt; I started to blog again, and I&amp;rsquo;m happy with the result. I&amp;rsquo;m tinkering with Hugo themes a lot and so the current theme changed already three times. But this is half of the fun for me and I learn a lot!&lt;/p&gt;
&lt;p&gt;Happy Birthday blog.bdw.li &lt;mark&gt;ヾ( ˃ᴗ˂ )◞ • *✰&lt;/mark&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://blog.bdw.li/we-are-now-live/">Pretty much one year ago</a> I started to blog again, and I&rsquo;m happy with the result. I&rsquo;m tinkering with Hugo themes a lot and so the current theme changed already three times. But this is half of the fun for me and I learn a lot!</p>
<p>Happy Birthday blog.bdw.li <mark>ヾ( ˃ᴗ˂ )◞ • *✰</mark></p>
]]></content:encoded>
    </item>
    <item>
      <title>Bleating Heide</title>
      <link>https://blog.bdw.li/bleating-heide/?ref=rss</link>
      <pubDate>Wed, 24 Jan 2024 22:18:35 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/bleating-heide/?ref=rss</guid>
      <description>Say hello to some fluffy friends 🐑.</description>
      <content:encoded><![CDATA[<p>In January I had time to visit the Döberitzer Heide again. This time I walked in from the north-west side and after passing some interesting bunker ruines, I met these fellas:</p>







	






































	
	

	
		<script src="/shortcode-gallery/jquery-3.7.1.min.js"></script>
	

	
		<script src="/shortcode-gallery/lazy/jquery.lazy.min.js"></script>
	

	<script src="/shortcode-gallery/swipebox/js/jquery.swipebox.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/swipebox/css/swipebox.min.css">

	<script src="/shortcode-gallery/justified_gallery/jquery.justifiedGallery.min.js"></script>
	<link rel="stylesheet" href="/shortcode-gallery/justified_gallery/justifiedGallery.min.css"/>


<style>
	

	
</style>





<div id="gallery-d1c976d1ac3dc1fa2df7b615c92a9861-0-wrapper" class="gallery-wrapper">
<div id="gallery-d1c976d1ac3dc1fa2df7b615c92a9861-0" class="justified-gallery">
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2737.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3<br/>56mm f/1.2 1/4000sec  ISO 80"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AMGDxNe2oRY1iCgcBuprSj8b3iMT9jjkXG4jd0GOvFQ2dtYtfpBMkbx7vmLOVIG3OcH3yK6SK28LW91DC9lHN5/ymTzCwXtg&#43;g5ppz7jtE5vVfG0l1bSRpZpHlSMM2Rkg4zxUEPjZIYYon08METDYYDcfXpXf32n&#43;HLSymuEsLeUxxltgAJbAzgVxU3ifwmLvyJdJltnGCNkfU8jGOD3q/eT1ZGnQ6SFIGALwI3mHH3QD&#43;eKyzcwtr8doLOFVZxkhQeMe4rUg&#43;5D/vVhL/yN0X&#43;//wCy1pIlGxrUFvD5Mq2lswPLB492c4Hr71Yl8O6Q0Xmy6fA7gZJC4BqPXv8AUQ/7q/zFa8v/AB6t9DTSVwZ//9k="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2737_hu_b3d28dcc158030b5.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2746.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3<br/>56mm f/1.2 1/3000sec  ISO 80"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AOXg8DXv22K2kk8t5gWiGASwA578fjW3H8LLmWLcNRQ/NgApjj16n8qv3fibVzbhLWL7PISMyhQxA78VjWvjfxbHdyrPqSCJGyN9um72A4q7wDlkW7j4ZvbiLddM4c4O0Yxx9OaqXHgKJUIWe4cjqRbt6fStq38b6oxu2uGluvOQeSvkDbC2Dz75OK17HXJptOQXMqtcDPmHYFzknAx9KpcjE1JHO2paWGWUMVZATgdD1qYl1t2d2BcAchcdah0//jzuP90/1qaT/j1f/gNSUi4rh4BIsarwQR6gVTkbZHK8bOuw4xuyDVmD/jy/P&#43;dVZv8Aj3uP9/8AqKQz/9k="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2746_hu_5329a566189d4330.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2765.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3<br/>56mm f/1.2 1/4700sec  ISO 160"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AFj0eYcuzdOg6046RcMm4KAO2eua047q2nZlKxMMYJbsfqM1JcX580wxYwijG3OD&#43;FDiilJnE6tpGpkFI4WJzkGMhVU/1qlZ6Rqdvfxz3PmcdePcH&#43;ld/cTbiA6/K3AKoTVaTIDbWV1U4Jfjb9aaSBlONFitwzfPhcjgA/TNMspwreZFEqsyDlvmP1&#43;vH61I/wDx6D/rn/jVWx&#43;6v&#43;4Kb3EtjZgvCZktZIkdZGKZPbHfFZ&#43;oX7xO0XloURuAOO369asQ/wDITt/&#43;u71mat/r5f8AfoewLc//2Q=="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2765_hu_3bdfed4430a94b10.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2789.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3<br/>56mm f/1.2 1/5000sec  ISO 160"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AG6KJpbu4VHMTKoGO5HtXQQWaSSPDNKUwuWjdxk54x0zis603XusyXKFhsQJJ5fAYcHGO/f8q1tSuJYtOMaJsdwSrOOAccGqS01KM&#43;8trKJHjQngquyJsg85wc/SobaG1dGinY7t7EEAfKSfb&#43;dW1K3EZcRM7R4YKAMZ5AyT0rPlmuor1le1jWNpA2eSSMcfj&#43;lNCZaS5PlRSsik8MeMds/0FatzEXVBuyolBwwz1OMdfrWIn/HpF/uj/wBANb833V/31/nVtaEozVeWOeSCNlUY2/cGPvn8f1qzc6fG4WZ1jJUFBhMHBHTrVb/mJP8A73/sxrVn/wCPY/X&#43;lCBn/9k="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2789_hu_ebbad9f19f880336.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2801.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3 + XF23mmF1.4 R<br/>23mm f/4.0 1/550sec  ISO 160"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AN291T7JhBtJYfeJwBUnh&#43;6a/s2k80HDH757V5ddXV0UjjDSHYuCDnv/APrroNF1S902wkRY/mxlAynDHgdfpW6qakcmh2Wq3psY9qFWdunoKdp2tWlzaBbxY1cY6rtz&#43;FcLqOtand73nWEblK7Y8jA/Gs68mupTb4kBYfK2wngA9&#43;PSh1bsSp6EcMET7JXVn34JBc/0rT0&#43;/k0&#43;Usqq67gFVsnH&#43;cVn2/8AqIvp/Spv/ih/WsTU6qLWZZ0gcQxqZCR3OOKfHqMrWRllRHO7BwMdyKy7L/UWf&#43;&#43;f5VZj/wCQW3&#43;//wCzGrTZLR//2Q=="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2801_hu_e852c950639c4665.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2810.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3 + XF23mmF1.4 R<br/>23mm f/2.8 1/750sec  ISO 160"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/APR4dTcRAfaLaTPQo4Oac&#43;owlGWeNFzwCV5zXnOh6Zqen/NBrAcRksVe3DAkjHUnGcCtzUNYu7yJ7dy8R3KWOwDIB6Dmt7PsRp3Na5WJYWc3CxnsxBwKl0ySD7QIhfrKqqXYYwTnpgnHTBrhdekvr2WMw3jW4jj2BJYeD&#43;Jycn1rlLu11&#43;7n84zIXVAo2uF49Mcc0pNsEkj0bS4wlnhS3zckk5NXUVZgUdQdvANVNN/49F&#43;lXLf/AFkn1rdGZTmUQZIAYAkEMOv&#43;fxqjJbQXIG6FE&#43;Y7Sgxj&#43;n6VfvfuP9f6iqkXRf8Aeb&#43;lAz//2Q=="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2810_hu_97033927ed11a111.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
		

			
			

			
			
				
			

			
				
			

			
			
				
					
				
			


			
			

			<div>
				
				
					
					
				

				
				
					
					
				

				<a href="/bleating-heide/photos/DSCF2840.JPG"
					class="galleryImg"
					
						

						
							data-description="X-T3 + XF23mmF1.4 R<br/>23mm f/2.0 1/600sec  ISO 160"
						

						
					
					>
					<img
						width="600" height="400"

						
							
							style="filter: blur(25px);"
							
								src="data:image/jpeg;base64,/9j/2wCEAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&#43;JS5ESUM8SDc9PjsBCgsLDg0OHBAQHDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//AABEIABUAIAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&#43;Tl5ufo6ery8/T19vf4&#43;fr/2gAMAwEAAhEDEQA/AMOzO0jvVTV5LE3M&#43;8SJdlF2SeZhVx7AZ9amsmzKea0vtOoBh5NruhGP3pkAXOPu4xkknHfuK1gTJNrQkvNauNPkEMEu0FMsM&#43;tWPDni0Rjyr1lxITl39/WrV5odpdxrNNvDsuBtI5PpWK3hi3eAus7E7tu1PmxzjmlJz5roIxjy2MbTpCXDewrsdOhi&#43;zRy&#43;Unmf39oz&#43;dcXpvb/dFdtp3/AB4x1dImpsdvDZWs&#43;n26zW8cgEa/eXPas288Naa8glii8hgMHyjtB&#43;uOtbNr/wAeMH/XNf5CmT/dq2kSmz//2Q=="
							
							class="lazy"
							data-src="/bleating-heide/photos/DSCF2840_hu_37c8614f34effdab.JPG"
						

						
							
								
							
						
					>
				</a>
			</div>
		
	
</div>
</div>

<script>
	if (!("HSCGjQuery" in window)) {
		if (!window.jQuery) {
			throw new Error("jQuery is not loaded, hugo-shortcode-gallery wont work without it!");
		}
		window.HSCGjQuery = window.jQuery.noConflict(true);
	}

	
	
	
	
	
	;(function($) {

		$( document ).ready(() => {
			const gallery = $("#gallery-d1c976d1ac3dc1fa2df7b615c92a9861-0");
			

			
			let swipeboxInstance = null;

			
			
			gallery.on('jg.complete', () => {
				
					
					
					$(() => {
						$('.lazy').Lazy({
							visibleOnly: true,
							afterLoad: element => element.css({filter: "none", transition: "filter 1.0s ease-in-out"})
						});
					});
				

				swipeboxInstance = $('.galleryImg').swipebox(
					$.extend({},
						{  }
					)
				);
			});

			
			gallery.justifiedGallery($.extend(
				{
					rowHeight : "150",
					margins : "5",
					border : 0,
					randomize :  false ,
					waitThumbnailsLoad : false,
					lastRow : "justify",
					captions : false,
					
					
				},
				{  }
			));

			
			
		});

	
	
	
	})(window.HSCGjQuery)
</script>

]]></content:encoded>
    </item>
    <item>
      <title>Was machst du eigentlich den ganzen Tag? Januar 2024</title>
      <link>https://blog.bdw.li/was-machst-du-eigentlich-den-ganzen-tag-januar-2024/?ref=rss</link>
      <pubDate>Fri, 05 Jan 2024 21:47:20 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/was-machst-du-eigentlich-den-ganzen-tag-januar-2024/?ref=rss</guid>
      <description>Frau Brüllen sagte, dass man seit anno 2013 am Fünften eines Monats den Tag verbloggen muss. Also tat ich das.</description>
      <content:encoded><![CDATA[<p>Eigentlich hatte ich mir angewöhnt in Englisch zu schreiben, dass geht einfacher von der Hand. Aber der Hashtag <a href="https://duckduckgo.com/?q=WMDEDGT" target="_blank" rel="noopener noreferrer">#WMDEDGT</a> ist Deutsch, also bleiben wir dabei.</p>
<p>So, worum gehts jetzt? Ich las bei assbach.de den <a href="https://assbach.de/blog/wmdedgt-dezember-2023" target="_blank" rel="noopener noreferrer">#WMDEDGT - Dezember 2023</a> und fand die Idee so gut, dass ich sie direkt nachahmen wollte. Und dann habe ich auch noch gelernt, dass die Idee schon &gt;10 Jahre alt ist! Wow, danke <a href="https://bruellen.blogspot.com/2024/01/050124-wmdedgt-erstes-mal-2024.html" target="_blank" rel="noopener noreferrer">Frau Brüllen</a>.</p>
<p>Jetzt aber mal los:</p>
<p>Als sich gegen 04:00 Uhr der Nachwuchs meldet habe ich zwar schon locker sechs Stunden geschlafen, richtig wach war ich in dem Moment trotzdem nicht. Er wünscht sich, im großen Bett bei den Eltern zu schlafen, in seinem Zimmer ist es dunkel. Das es im Schlafzimmer der Eltern ebenfalls dunkel ist, scheint in dem Moment nicht so wichtig zu sein. Normalerweise startet dann das Karussell, bei dem man aufpassen muss nicht aus dem Bett zu fallen, aber diesmal war es unerwartet ruhig und wir haben direkt verschlafen. Statt um Sechs, sind wir erst halb Acht aufgewacht.</p>
<p>Ich mache mich rasch frisch und kurz nach Acht bereinige ich das Auto vom ersten Schnee diesen Jahres. Anschließend flitze ich danach zu Fuß zum Bäcker. Der Sprößling knurrt immer, wenn er vor der Kita nichts zu mampfen bekommt. Kurz vor Neun ist es schon soweit, das Kind wurde erfolgreich in der Kita abgegeben. Schnurstracks zurück ins Home Office, erste E-Mails und Teams Nachrichten beantworten und endlich den ersten Kaffee trinken.</p>
<p>Gegen Zehn gibts einen kurzen Wochenrückblick mit dem Team, danach folgt konzentriertes Arbeiten. Hier ein bisschen <code>vim</code>, da ein bisschen <code>git</code>, noch Händchen halten beim Testen einer hochverfügbaren Datenbank und Bürokratie-Spießrutenlauf beim Klären, wie die Nummer vom Firmenhandy auf mich Privat umgeschrieben werden kann.</p>
<p>Es ist 16:00 Uhr, wir fahren zusammen den Nachwuchs aus der Kita abholen. Er hat sich einen Besuch beim Bäcker gewünscht, um dort einen Kakao zu trinken. Das passt zum heutigen Schnee-Regen-Tag, also los. Wir gehen zum Bäcker im Einkaufszentrum und drehen im Anschluss noch eine Runde durch die Geschäfte. Gekauft haben wir heute allerdings nichts.</p>
<p>Um Sechs sind wir wieder zu Hause und das Kind lässt sich überreden, direkt den Schlafanzug anzuziehen. Es gibt noch ein kleines Abendbrot und dann heißt es <a href="https://youtu.be/G_qdVnZlqj8" target="_blank" rel="noopener noreferrer">Zähne putzen, Pullern, Ab ins Bett</a>! Um Punkt Sieben ist das tatsächlich erledigt. Jetzt erstmal kurz durchatmen und RSS Feeds abgrasen.</p>
<p>Kurz vor Acht zwänge ich mich in die engen Sportklamotten und gehe zum zweiten mal in diesem Jahr laufen. Diesmal habe ich 3,3km in 30 Minuten geschafft. Das war 2018 wesentlich besser - aber da ich gerade erst wieder anfange, und eine kleine Wanne vor mir herschiebe, bin ich zufrieden. Um 20:30 Uhr heißts dann Abdampfen und Duschen. Gegen 21:30 haben wir es dann tatsächlich geschafft, selber noch eine Kleinigkeit zu essen.</p>
<p>Jetzt schreibe ich noch diesen Post aus meinen Notizen zusammen und haue mich dann schon wieder aufs Ohr.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Almost at the watch tower at Döberitzer Heide</title>
      <link>https://blog.bdw.li/almost-at-the-watch-tower-at-d%C3%B6beritzer-heide/?ref=rss</link>
      <pubDate>Sat, 23 Dec 2023 21:44:13 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/almost-at-the-watch-tower-at-d%C3%B6beritzer-heide/?ref=rss</guid>
      <description>This month I took a walk into the Döberitzer Heide for the first time.</description>
      <content:encoded><![CDATA[<p>This month I took a walk into the Döberitzer Heide for the first time. While walking through the woods I noticed a watch tower on the map and decided to take a closer look. Unfortunately it was already pretty dark and the current weather isn&rsquo;t favorable to climb a tower. So I walked into viewing distance and turned back. Definetly a spot I want to visit again during the day. Sadly, I didn&rsquo;t wear proper socks for my boots and was presented with some bloody heels.</p>
<p><img loading="lazy" src="./dark-winter-road.jpg" alt="A muddy road winding through the woods. It&rsquo;s very dark, the trees are only seen as black outline against a cloudy sky."  />
</p>
]]></content:encoded>
    </item>
    <item>
      <title>Analogue photo update</title>
      <link>https://blog.bdw.li/analogue-photo-update/?ref=rss</link>
      <pubDate>Sat, 23 Dec 2023 21:33:53 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/analogue-photo-update/?ref=rss</guid>
      <description>&lt;p&gt;I received the &lt;a href=&#34;https://blog.bdw.li/i-started-to-shoot-analogue-again/&#34;&gt;film&lt;/a&gt; and there were actually some okayish pictures on it. However, due to several distractions I didn&amp;rsquo;t take time to reflect on those images properly.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I received the <a href="https://blog.bdw.li/i-started-to-shoot-analogue-again/">film</a> and there were actually some okayish pictures on it. However, due to several distractions I didn&rsquo;t take time to reflect on those images properly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>App and other defaults</title>
      <link>https://blog.bdw.li/app-and-other-defaults/?ref=rss</link>
      <pubDate>Tue, 07 Nov 2023 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/app-and-other-defaults/?ref=rss</guid>
      <description>The blogosphere does a thing again. This time we talk about defaults, like default sofware that you use.</description>
      <content:encoded><![CDATA[<p>I follow <a href="https://eay.cc" target="_blank" rel="noopener noreferrer">eay.cc</a>&rsquo;s blog and found this great idea of &ldquo;app defaults&rdquo;<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>. The idea is to list your main tools for several categories like Cloud storage, Mail client, Podcatcher etc. It&rsquo;s apparently based on the podcast <a href="https://listen.hemisphericviews.com/097" target="_blank" rel="noopener noreferrer">Hemispheric Views 097 - Duel of the Defaults!</a>.</p>
<p>So I started listening to it and pretty quick the trio was setting the rule, that this whole idea means &ldquo;defaults for apple-based systems&rdquo;. That stopped me for a second, my main work horse is a windows machine, but you know what? I don&rsquo;t care 😁 I like this idea so much, that I&rsquo;m printing my defaults here anyway. I&rsquo;m also adding a few others that came to mind.</p>
<table>
	<thead>
			<tr>
					<th>Category</th>
					<th>Desktop</th>
					<th>Mobile</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>📨 Mail Server</td>
					<td><a href="https://mailbox.org/de/" target="_blank" rel="noopener noreferrer">mailbox.org</a> <sup id="fnref1:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></td>
					<td><a href="https://mailbox.org/de/" target="_blank" rel="noopener noreferrer">mailbox.org</a></td>
			</tr>
			<tr>
					<td>📨 Mail Client</td>
					<td>Mozilla Thunderbird</td>
					<td>Apple Mail</td>
			</tr>
			<tr>
					<td>📝 Notes</td>
					<td><a href="https://notepad-plus-plus.org/" target="_blank" rel="noopener noreferrer">Notepad++</a></td>
					<td>Apple Notes with iCloud</td>
			</tr>
			<tr>
					<td>✅ To-Do</td>
					<td>-</td>
					<td>Apple Reminders with iCloud<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup></td>
			</tr>
			<tr>
					<td>📷 Photo Shooting</td>
					<td>Fujifilm X-T3 😁</td>
					<td>Apple Camera</td>
			</tr>
			<tr>
					<td>📷 Photo Management</td>
					<td>Windows Photos with iCloud</td>
					<td>Apple Photos with iCloud</td>
			</tr>
			<tr>
					<td>📆 Calendar client</td>
					<td>-</td>
					<td>Tiny Calendar</td>
			</tr>
			<tr>
					<td>📆 Calendar server</td>
					<td>-</td>
					<td>Apple iCloud</td>
			</tr>
			<tr>
					<td>☁️ Cloud file storage</td>
					<td><a href="https://nextcloud.com" target="_blank" rel="noopener noreferrer">Nextcloud</a></td>
					<td><a href="https://nextcloud.com" target="_blank" rel="noopener noreferrer">Nextcloud</a> (&amp; iCloud 🤔)</td>
			</tr>
			<tr>
					<td>📰 RSS</td>
					<td><a href="https://apps.nextcloud.com/apps/news" target="_blank" rel="noopener noreferrer">Nextcloud News</a></td>
					<td><a href="https://apps.apple.com/de/app/nextnews/id1573041539" target="_blank" rel="noopener noreferrer">Nextnews</a></td>
			</tr>
			<tr>
					<td>📇 Contacts</td>
					<td>-</td>
					<td>Apple Contacts with iCloud</td>
			</tr>
			<tr>
					<td>🌐 Browser</td>
					<td>Mozilla Firefox</td>
					<td>Apple Safari</td>
			</tr>
			<tr>
					<td>💬 Chat</td>
					<td>Discord</td>
					<td>Discord</td>
			</tr>
			<tr>
					<td>💬 Messaging</td>
					<td>Signal</td>
					<td>Signal</td>
			</tr>
			<tr>
					<td>🔖 Bookmarks</td>
					<td><a href="https://apps.nextcloud.com/apps/bookmarks" target="_blank" rel="noopener noreferrer">Nextcloud Bookmarks</a></td>
					<td><a href="https://floccus.org/" target="_blank" rel="noopener noreferrer">Floccus</a></td>
			</tr>
			<tr>
					<td>📖 Read It Later</td>
					<td><a href="https://apps.nextcloud.com/apps/bookmarks" target="_blank" rel="noopener noreferrer">Nextcloud Bookmarks</a></td>
					<td><a href="https://floccus.org/" target="_blank" rel="noopener noreferrer">Floccus</a></td>
			</tr>
			<tr>
					<td>📝 Word Processing</td>
					<td><a href="https://notepad-plus-plus.org/" target="_blank" rel="noopener noreferrer">Notepad++</a></td>
					<td>Apple Notes with iCloud</td>
			</tr>
			<tr>
					<td>📝 Spreadsheets</td>
					<td>LibreOffice Calc</td>
					<td>-</td>
			</tr>
			<tr>
					<td>📝 Presentations</td>
					<td>-</td>
					<td>-</td>
			</tr>
			<tr>
					<td>🛒 Shopping Lists</td>
					<td>-</td>
					<td>Apple Reminders with iCloud</td>
			</tr>
			<tr>
					<td>🍜 Meal Planning</td>
					<td>–</td>
					<td>-</td>
			</tr>
			<tr>
					<td>💸 Budgeting &amp; Personal Finance</td>
					<td>Online Banking<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup></td>
					<td>Online Banking App</td>
			</tr>
			<tr>
					<td>📰 News</td>
					<td><a href="https://apps.nextcloud.com/apps/news" target="_blank" rel="noopener noreferrer">Nextcloud News</a></td>
					<td><a href="https://apps.apple.com/de/app/nextnews/id1573041539" target="_blank" rel="noopener noreferrer">Nextnews</a> &amp; Mastodon</td>
			</tr>
			<tr>
					<td>🎶 Music</td>
					<td>Spotify<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup></td>
					<td>Spotify</td>
			</tr>
			<tr>
					<td>🎤 Podcasts</td>
					<td>-</td>
					<td><a href="https://pocketcasts.com/" target="_blank" rel="noopener noreferrer">Pocket Casts</a></td>
			</tr>
			<tr>
					<td>🔐 Password Management</td>
					<td>1Password<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup></td>
					<td>1Password</td>
			</tr>
			<tr>
					<td>🔎 Search engine</td>
					<td><a href="https://start.duckduckgo.com/" target="_blank" rel="noopener noreferrer">DuckDuckGo</a></td>
					<td><a href="https://start.duckduckgo.com/" target="_blank" rel="noopener noreferrer">DuckDuckGo</a></td>
			</tr>
			<tr>
					<td>👾 Code Editor</td>
					<td><a href="https://github.com/VSCodium/vscodium/" target="_blank" rel="noopener noreferrer">VSCodium</a></td>
					<td>-</td>
			</tr>
			<tr>
					<td>💻 Terminal</td>
					<td><a href="https://mobaxterm.mobatek.net" target="_blank" rel="noopener noreferrer">MobaXterm</a></td>
					<td>-</td>
			</tr>
			<tr>
					<td>🕹️ Gaming library</td>
					<td>Steam</td>
					<td>-</td>
			</tr>
	</tbody>
</table>
<p>If you find a cool tool in my list or simply want to share yours, let me know.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://eay.cc/2023/my-app-defaults" target="_blank" rel="noopener noreferrer">https://eay.cc/2023/my-app-defaults</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a>&#160;<a href="#fnref1:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>It even comes with a &ldquo;bring-your-own-domain&rdquo; service&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>I&rsquo;m currently trying a physical bullet journal parallel, but I don&rsquo;t know if I can keep this up in the long run. The mobile phone is so damn convenient.&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>I used <a href="https://www.firefly-iii.org/" target="_blank" rel="noopener noreferrer">Firefly III</a> in the past, but my bank introduced budgeting and categories, therefore I don&rsquo;t need a third-party tool anymore.&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5">
<p>I&rsquo;m in the process of cancelling the service and switching back to the good old CDs. Once digitized I&rsquo;m probably going to use Apple iTunes / Apple Music to sync the files to my iPhone. (Blog post already in the works.)&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Link dump #1</title>
      <link>https://blog.bdw.li/link-dump-%231/?ref=rss</link>
      <pubDate>Fri, 03 Nov 2023 19:41:15 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/link-dump-%231/?ref=rss</guid>
      <description>I enjoy reading other peoples link dumps, it&amp;rsquo;s a bit like taking a peek into their living room. It also gives me yet another reason to write something.</description>
      <content:encoded><![CDATA[<p>I enjoy reading other peoples link dumps, it&rsquo;s a bit like taking a peek into their living room. It also gives me yet another reason to write something <mark>○( ＾皿＾)っ</mark> Hehehe…</p>
<p>Without further ado, here are some things I found over the last months. It might be blogs, it might be services or it might be (self-hostable) tools I deem worth mentioning.</p>
<p><a href="https://un.curl.dev/" target="_blank" rel="noopener noreferrer">un.curl.dev</a> &ndash; Uncurled. A &ldquo;book&rdquo; from Daniel Stenberg about managing open source projects. I had this link in my &ldquo;read-later&rdquo; list for quite a while, before I actually started reading it. (Hey, that&rsquo;s what <em>later</em> means!) It gives interesting insides into curl and open source contribution in general. Also Daniel writes in an intriguing way, which makes me want to read further on.</p>
<p><a href="https://sadservers.com" target="_blank" rel="noopener noreferrer">sadservers.com</a> &ndash; &ldquo;Troubleshoot and make a sad server happy!&rdquo; This web page shows more than 25 problematic servers and it is your job to fix them in a given time. Nice way to stay in shape, I think.</p>
<p><a href="https://1nitetent.com/" target="_blank" rel="noopener noreferrer">1nitetent.com</a> &ndash; People in Europe (mostly Germany) offer a place for a tent on their property, free of charge. It&rsquo;s not meant to be a free vacation spot, but more of a layover.</p>
<p><a href="https://www.deimeke.net/dirk/blog/" target="_blank" rel="noopener noreferrer">deimeke.net/dirk/blog</a> &ndash; Dirk writes (in German) about Linux and open source in general, as well as task and time management. (I&rsquo;m sure there are other things as well, but I try to keep this short.) He was also the trigger to create this link dump.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Git submodules and newly cloned repositories</title>
      <link>https://blog.bdw.li/git-submodules-and-newly-cloned-repositories/?ref=rss</link>
      <pubDate>Wed, 01 Nov 2023 08:30:25 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/git-submodules-and-newly-cloned-repositories/?ref=rss</guid>
      <description>A quick reminder for myself</description>
      <content:encoded><![CDATA[<p>As a reminder for my future self: If one clones a repository to a new location, the submodules are not cloned automatically. They need to be initialized and updated once, in order to show the proper content.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git submodule init
</span></span><span class="line"><span class="cl">git submodule update
</span></span></code></pre></div><p>If the theme is a submodule and the customizations are in a different branch, one needs to switch to that particular branch as well. D&rsquo;oh!</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git checkout live
</span></span></code></pre></div>]]></content:encoded>
    </item>
    <item>
      <title>I started to shoot analogue again</title>
      <link>https://blog.bdw.li/i-started-to-shoot-analogue-again/?ref=rss</link>
      <pubDate>Tue, 31 Oct 2023 22:04:18 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/i-started-to-shoot-analogue-again/?ref=rss</guid>
      <description>Using the old Minolta was like a trip to the past.</description>
      <content:encoded><![CDATA[<p>Due to circumstances I got my hands on an analogue Minolta from the 90s. A Dynax 9xi. There was a 35mm film already loaded inside and almost full (24/36) as well. I took a walk through one of the historic parts of the city and finished the film. After a bit of research - many thanks to analoge-fotografie.net<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> - I decided to try my luck with Safelight Berlin<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>. They offered a good price and seemed caring all-in-all. I received an email that the film arrived in their lab today, so I will know more in about two weeks time. I think the film inside the camera was from ~2005, fingers crossed that I will get <em>something</em> out of it!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://analoge-fotografie.net/filme-entwickeln-lassen" target="_blank" rel="noopener noreferrer">https://analoge-fotografie.net/filme-entwickeln-lassen</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://safelightberlin.com" target="_blank" rel="noopener noreferrer">https://safelightberlin.com</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Farming Simulator 22: Mod Folder Location and Controller Fixes</title>
      <link>https://blog.bdw.li/farming-simulator-22-mod-folder-location-and-controller-fixes/?ref=rss</link>
      <pubDate>Tue, 31 Oct 2023 14:29:09 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/farming-simulator-22-mod-folder-location-and-controller-fixes/?ref=rss</guid>
      <description>If you finally found the solution to your coding problem in a deep comment or something after having dozens of tabs open, you should write about it in your own blog.</description>
      <content:encoded><![CDATA[<h2 id="prelude">Prelude</h2>
<p><img loading="lazy" src="./mastodon-post-blog-advice.jpg" alt="Screenshot of a Mastodon post about writing blog posts when you find a solution"  />

The other day Ana Rodrigues (@<a href="mailto:ohhelloana@mastodon.social">ohhelloana@mastodon.social</a>)<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> Mastodon that you should always write blog posts about the things that you successfully found on the interwebs.</p>
<blockquote>
<p>If you finally found the solution to your coding problem in a deep comment or something after having dozens of tabs open, you should write about it in your own blog.
<br /><br />
Really. Describe the problem in your own words and the solution for it, even if the solution seems really obvious now. Doesn’t matter. Give credit and whatever, but use your own words because you will be surprised at how many people will land on it.
<br /><br />
Write the blog post you wish you had found.</p>
</blockquote>
<p>This was my que to write this post!</p>
<h2 id="farming-simulator-playing-the-slow-life">Farming Simulator, playing the slow life</h2>
<p>I&rsquo;m a fan of slow games like Farming Simulator. I played FS17 for a while and then forgot about it in the past years. The other day I stumbled upon FS22 and I&rsquo;m a happy little farmer again.</p>
<h3 id="where-is-that-mod-folder">Where is that mod folder?</h3>
<p>You can download mods directly in the game menu, but certain mods decided<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> to not use this option. Unfortunately, the one I was looking at didn&rsquo;t offer a helpfull readme, to let me know where to install the files. A few minutes of searching my hard drive I found it:</p>
<pre><code>%userprofile%\Documents\My Games\FarmingSimulator2022\mods
</code></pre>
<p>I didn&rsquo;t even have to extract the zip file, just conveniently drag and drop it into the folder.</p>
<h3 id="show-the-proper-controller-icons">Show the proper controller icons</h3>
<p>Steam has integrated support for XBOX and Playstation controllers, which works very well for me so far. I&rsquo;m using a PS4 controller connected by USB cable (I never got Bluetooth to work, but I don&rsquo;t mind the cable). Looking at the controller settings in the games menu showed the proper icons, but when I actually played, it showed the XBOX icons in the help window. Bahamut (from the Steam community) figured out, that FS22 actually uses it&rsquo;s own controller logic and that it&rsquo;s worth a try to disable the Playstation controller support in Steam. Thanks Bahamut, this worked immediately!<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup></p>
<h2 id="conclusion">Conclusion</h2>
<p>Write more blog posts!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://mastodon.social/@ohhelloana/111311922676642744" target="_blank" rel="noopener noreferrer">https://mastodon.social/@ohhelloana/111311922676642744</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://github.com/Stephan-S/FS22_AutoDrive/wiki" target="_blank" rel="noopener noreferrer">https://github.com/Stephan-S/FS22_AutoDrive/wiki</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>
    <a href="https://steamcommunity.com/app/1248130/discussions/0/3183487594853348685/#c3183487594853677255" target="_blank" rel="noopener noreferrer">https://steamcommunity.com/app/1248130/discussions/0/3183487594853348685/#c3183487594853677255</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Restic backup and Windows paths</title>
      <link>https://blog.bdw.li/restic-backup-and-windows-paths/?ref=rss</link>
      <pubDate>Sat, 30 Sep 2023 22:18:07 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/restic-backup-and-windows-paths/?ref=rss</guid>
      <description>If you feel comfortable on the cli, then give restic a try.</description>
      <content:encoded><![CDATA[<p>I recently stumbled upon restic<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> and since I haven&rsquo;t really setup a backup of my windows machine<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, I wanted to give it a try.</p>
<p>I love it <mark>❤</mark> The software is straight to the point, not bloated and using it in a terminal is a bonus for me!</p>
<p>However, there was one pitfall with windows paths (and I&rsquo;m not even surprised by this):</p>
<ul>
<li>When you select the folder for the backup, you can choose absolute or relative paths.</li>
<li>The backup snapshot will always show the absolute path.</li>
<li>Additionally, the path in the snapshot view will be displayed in Windows style (with a colon and backward slashes).</li>
<li>The path in the actual backup will vary depending on your backup command and can only be displayed with <code>ls</code></li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="c"># Backup C:\Users\restic_demo\Git with an absolute path (ID b713711c)</span>
</span></span><span class="line"><span class="cl"><span class="nb">PS </span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">&gt;</span> <span class="n">restic</span> <span class="n">-r</span> <span class="p">.\</span><span class="n">Backup</span><span class="p">\</span> <span class="n">backup</span> <span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">\</span><span class="n">Git</span><span class="p">\</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># Backup C:\Users\restic_demo\Git with a relative path (ID da8fe3c7)</span>
</span></span><span class="line"><span class="cl"><span class="nb">PS </span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">&gt;</span> <span class="n">restic</span> <span class="n">-r</span> <span class="p">.\</span><span class="n">Backup</span><span class="p">\</span> <span class="n">backup</span> <span class="p">.\</span><span class="n">Git</span><span class="p">\</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># Display restic snapshots</span>
</span></span><span class="line"><span class="cl"><span class="nb">PS </span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">&gt;</span> <span class="n">restic</span> <span class="n">-r</span> <span class="p">.\</span><span class="n">Backup</span><span class="p">\</span> <span class="n">snapshots</span>
</span></span><span class="line"><span class="cl"><span class="n">repository</span> <span class="n">ebfaab05</span> <span class="n">opened</span> <span class="p">(</span><span class="n">version</span> <span class="mf">2</span><span class="p">,</span> <span class="n">compression</span> <span class="n">level</span> <span class="n">auto</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">ID</span>        <span class="n">Time</span>                 <span class="n">Host</span>        <span class="n">Tags</span>        <span class="n">Paths</span>
</span></span><span class="line"><span class="cl"><span class="p">--------------------------------------------------------------------------</span>
</span></span><span class="line"><span class="cl"><span class="n">b713711c</span>  <span class="mf">2023</span><span class="p">-</span><span class="mf">09</span><span class="p">-</span><span class="mf">30</span> <span class="mf">21</span><span class="err">:</span><span class="mf">47</span><span class="err">:</span><span class="mf">58</span>  <span class="n">Horscht</span>               <span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">\</span><span class="n">Git</span>
</span></span><span class="line"><span class="cl"><span class="n">da8fe3c7</span>  <span class="mf">2023</span><span class="p">-</span><span class="mf">09</span><span class="p">-</span><span class="mf">30</span> <span class="mf">22</span><span class="err">:</span><span class="mf">03</span><span class="err">:</span><span class="mf">19</span>  <span class="n">Horscht</span>               <span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">\</span><span class="n">Git</span>
</span></span><span class="line"><span class="cl"><span class="p">--------------------------------------------------------------------------</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># Display snapshot files and folders for b713711c</span>
</span></span><span class="line"><span class="cl"><span class="nb">PS </span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">&gt;</span> <span class="n">restic</span> <span class="n">-r</span> <span class="p">.\</span><span class="n">Backup</span><span class="p">\</span> <span class="nb">ls </span><span class="n">b713711c</span>
</span></span><span class="line"><span class="cl"><span class="n">enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">repository</span><span class="err">:</span>
</span></span><span class="line"><span class="cl"><span class="n">repository</span> <span class="n">ebfaab05</span> <span class="n">opened</span> <span class="p">(</span><span class="n">version</span> <span class="mf">2</span><span class="p">,</span> <span class="n">compression</span> <span class="n">level</span> <span class="n">auto</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">snapshot</span> <span class="n">b713711c</span> <span class="n">of</span> <span class="p">[</span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">\</span><span class="n">Git</span><span class="p">]</span> <span class="kd">filter</span><span class="nb">ed</span> <span class="n">by</span> <span class="p">[]</span> <span class="n">at</span> <span class="mf">2023</span><span class="p">-</span><span class="mf">09</span><span class="p">-</span><span class="mf">30</span> <span class="mf">21</span><span class="err">:</span><span class="mf">47</span><span class="err">:</span><span class="mf">58.6977882</span> <span class="mf">+0200</span> <span class="n">CEST</span><span class="p">)</span><span class="err">:</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span><span class="p">/</span><span class="n">Users</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span><span class="p">/</span><span class="n">Users</span><span class="p">/</span><span class="n">restic_demo</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span><span class="p">/</span><span class="n">Users</span><span class="p">/</span><span class="n">restic_demo</span><span class="p">/</span><span class="n">Git</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span><span class="p">/</span><span class="n">Users</span><span class="p">/</span><span class="n">restic_demo</span><span class="p">/</span><span class="n">Git</span><span class="p">/</span><span class="n">blog</span><span class="p">.</span><span class="py">bdw</span><span class="p">.</span><span class="py">li</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">C</span><span class="p">/</span><span class="n">Users</span><span class="p">/</span><span class="n">restic_demo</span><span class="p">/</span><span class="n">Git</span><span class="p">/</span><span class="n">blog</span><span class="p">.</span><span class="py">bdw</span><span class="p">.</span><span class="n">li</span><span class="p">/.</span><span class="py">git</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># Display snapshot files and folders for da8fe3c7</span>
</span></span><span class="line"><span class="cl"><span class="nb">PS </span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">&gt;</span> <span class="n">restic</span> <span class="n">-r</span> <span class="p">.\</span><span class="n">Backup</span><span class="p">\</span> <span class="nb">ls </span><span class="n">da8fe3c7</span>
</span></span><span class="line"><span class="cl"><span class="n">enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">repository</span><span class="err">:</span>
</span></span><span class="line"><span class="cl"><span class="n">repository</span> <span class="n">ebfaab05</span> <span class="n">opened</span> <span class="p">(</span><span class="n">version</span> <span class="mf">2</span><span class="p">,</span> <span class="n">compression</span> <span class="n">level</span> <span class="n">auto</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">snapshot</span> <span class="n">da8fe3c7</span> <span class="n">of</span> <span class="p">[</span><span class="n">C:</span><span class="p">\</span><span class="n">Users</span><span class="p">\</span><span class="n">restic_demo</span><span class="p">\</span><span class="n">Git</span><span class="p">]</span> <span class="kd">filter</span><span class="nb">ed</span> <span class="n">by</span> <span class="p">[]</span> <span class="n">at</span> <span class="mf">2023</span><span class="p">-</span><span class="mf">09</span><span class="p">-</span><span class="mf">30</span> <span class="mf">22</span><span class="err">:</span><span class="mf">03</span><span class="err">:</span><span class="mf">19.7184899</span> <span class="mf">+0200</span> <span class="n">CEST</span><span class="p">)</span><span class="err">:</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">Git</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">Git</span><span class="p">/</span><span class="n">blog</span><span class="p">.</span><span class="py">bdw</span><span class="p">.</span><span class="py">li</span>
</span></span><span class="line"><span class="cl"><span class="p">/</span><span class="n">Git</span><span class="p">/</span><span class="n">blog</span><span class="p">.</span><span class="py">bdw</span><span class="p">.</span><span class="n">li</span><span class="p">/.</span><span class="py">git</span>
</span></span></code></pre></div><p>I no case would I be able to restore the data using the path from the snapshot view <code>C:\Users\restic_demo\Git</code>. It took me a few confused minutes to figure that out. And I didn&rsquo;t find anything about it in the docs<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>. At last in the Github issue #2792<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup> was a note that mentioned the proper paths.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://restic.net/" target="_blank" rel="noopener noreferrer">https://restic.net/</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>A synchronized nextcloud folder ist not a backup <mark>╰(￣ω￣ｏ)</mark>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://restic.readthedocs.io/" target="_blank" rel="noopener noreferrer">https://restic.readthedocs.io/</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>
    <a href="https://github.com/restic/restic/issues/2792#issuecomment-668425658" target="_blank" rel="noopener noreferrer">https://github.com/restic/restic/issues/2792#issuecomment-668425658</a>&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Mailstore Home: Archive mailboxes automatically</title>
      <link>https://blog.bdw.li/mailstore-home-archive-mailboxes-automatically/?ref=rss</link>
      <pubDate>Wed, 30 Aug 2023 19:48:33 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/mailstore-home-archive-mailboxes-automatically/?ref=rss</guid>
      <description>I like Mailstore, but find it very tedious to open the GUI and start the archiving process manually.</description>
      <content:encoded><![CDATA[<p>I&rsquo;m using Mailstore Home<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> to archive my personal emails for a while now. And while I didn&rsquo;t find any specific documentation on command line options, you can actually use <code>/c archive --id=$n</code> to automatically start the archive process on application start. I currently archive three mailboxes and my scheduled task looks something like this:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">MailStoreHome.exe /c archive --id<span class="o">=</span><span class="s2">&#34;1,2,3&#34;</span>
</span></span></code></pre></div><p>At the end I still have to close the Mailstore Window manually. There are tools like AutoIt<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>, that you can use to hide the GUI, but I don&rsquo;t mind closing the window myself. The task runs right after my login and I just let it do it&rsquo;s thing in the background. It usually doesn&rsquo;t take longer then a minute anyway. If you <em>do</em> mind the window, check out the article on andysblog.de<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.mailstore.com/en/products/mailstore-home" target="_blank" rel="noopener noreferrer">https://www.mailstore.com/en/products/mailstore-home</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.autoitscript.com" target="_blank" rel="noopener noreferrer">https://www.autoitscript.com</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://www.andysblog.de/mailstore-home-versteckt-ausfuehren-und-archivieren-mit-rueckgabewert" target="_blank" rel="noopener noreferrer">https://www.andysblog.de/mailstore-home-versteckt-ausfuehren-und-archivieren-mit-rueckgabewert</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>I&#39;m Still Biking!</title>
      <link>https://blog.bdw.li/im-still-biking/?ref=rss</link>
      <pubDate>Wed, 24 May 2023 23:03:19 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/im-still-biking/?ref=rss</guid>
      <description>Four weeks after my first bike ride this year and I already sat on the saddle six more times!</description>
      <content:encoded><![CDATA[<p>Four weeks after my first bike ride this year<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> and I already sat on the saddle six more times! Three out of those six were earnest rides, where I squeezed myself into my lycra and took my race bike Rudi for a spin.</p>
<table>
	<thead>
			<tr>
					<th>Month</th>
					<th>Distance</th>
					<th>Rides</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>May</td>
					<td>96km</td>
					<td>2</td>
			</tr>
			<tr>
					<td>April</td>
					<td>80km</td>
					<td>2</td>
			</tr>
	</tbody>
</table>
<p>I actually wanted to achieve 200km this month but I can already tell, that this is an unrealistic goal. Nevertheless, I don&rsquo;t fret! I am actually looking forward to summer and 100s of kilometers to follow <mark>(～￣▽￣)～</mark>.</p>
<p><img loading="lazy" src="./cloudy-sky-trees.jpg" alt="Clouds in a blue sky framed by tree branches."  />
</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>https://blog.bdw.li/finally-on-the-road-again/&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Keep the hugo theme up-to-date</title>
      <link>https://blog.bdw.li/keep-the-hugo-theme-up-to-date/?ref=rss</link>
      <pubDate>Wed, 24 May 2023 22:34:47 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/keep-the-hugo-theme-up-to-date/?ref=rss</guid>
      <description>Using git submodules I tried to stay up to date with my hugo theme.</description>
      <content:encoded><![CDATA[<p>I found out that my current setup doesn&rsquo;t allow for easy theme updates by the author, since I just cloned the theme folder into my hugo project <mark>⊙﹏⊙</mark>.</p>
<p>But thanks to Adam and his introduction to gits submodule function<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> I was able to work around this.</p>
<h2 id="create-repositories">Create repositories</h2>
<ul>
<li>First I created a repository for my hugo project</li>
<li>Then I created a fork of my current theme Terminal<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup></li>
<li>The theme was then embedded as submodule in my hugo project and received a second git repository as upstream source (this is the magic function right here)</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git submodule add -f https://github.com/&lt;user&gt;/hugo-theme-terminal.git themes/terminal
</span></span><span class="line"><span class="cl">git remote add upstream https://github.com/panr/hugo-theme-terminal.git
</span></span></code></pre></div><ul>
<li>I also followed Adams advise and moved my theme customizations to a different branch</li>
</ul>
<h2 id="get-updates-from-the-theme-author">Get updates from the theme author</h2>
<p>My workflow for theme updates now looks like this:</p>
<ul>
<li>Changes to my customized theme will be added on the <code>live</code> branch</li>
<li>Official updates to the theme will be synced to the <code>master</code> branch and merged to <code>live</code> on demand</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># from ./theme/terminal</span>
</span></span><span class="line"><span class="cl">git checkout master
</span></span><span class="line"><span class="cl">git pull upstream master
</span></span><span class="line"><span class="cl">git push origin master
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">git checkout live
</span></span><span class="line"><span class="cl">git merge master
</span></span></code></pre></div><p>I&rsquo;m still not using Github pages for publishing, I kind of can&rsquo;t let go of my trustworthy VPS.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.adamormsby.com/posts/000/hugo-themes-making-modifications" target="_blank" rel="noopener noreferrer">https://www.adamormsby.com/posts/000/hugo-themes-making-modifications</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://github.com/panr/hugo-theme-terminal" target="_blank" rel="noopener noreferrer">https://github.com/panr/hugo-theme-terminal</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Finally on the Road Again</title>
      <link>https://blog.bdw.li/finally-on-the-road-again/?ref=rss</link>
      <pubDate>Sun, 23 Apr 2023 19:22:01 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/finally-on-the-road-again/?ref=rss</guid>
      <description>A few words about the good feeling of riding my bike the first time this year.</description>
      <content:encoded><![CDATA[<p>After month I finally made it back on the road again.</p>
<p>I bought my race bike in 2017 and I didn&rsquo;t even reach 3000km with it yet. That actually bothers me a lot. Combine that with my somewhat unhealthy life style and increasing age and the result is Monsieur Blubber 🤪</p>
<p>Enough whining, the main thing is I did it again - 20km in 45min 💪</p>
<p><img loading="lazy" src="./road-bike-back-on-the-road.jpg" alt="My road bike taking a break in the sun after months in the shed."  />
</p>
]]></content:encoded>
    </item>
    <item>
      <title>Log analysis with Grafana and Loki</title>
      <link>https://blog.bdw.li/log-analysis-with-grafana-and-loki/?ref=rss</link>
      <pubDate>Fri, 07 Apr 2023 23:04:37 +0200</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/log-analysis-with-grafana-and-loki/?ref=rss</guid>
      <description>Playing around with cloud tools to see what the fuzz is about.</description>
      <content:encoded><![CDATA[<p>I wanted to play around with Grafana and Loki<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> for a while now, but always found something else to do. Then, the other day, I decided to push my logs to Grafanas cloud stack just for the fun of it.</p>
<p>The installation and integration into my Ubuntu server and docker was easy enough. After a few hours I was shocked how many bad ssh logins were detected (&gt;100) and decided to up my fail2ban rule. I am now blocking failed attempts (3 within 24h) for 150 days and I still receive around 5 attempts per hour.</p>
<p>Nevertheless, I enjoy clicking around in graphs, even though it doesn&rsquo;t really add any value <mark>(⌐■_■)</mark>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://grafana.com/logs/" target="_blank" rel="noopener noreferrer">https://grafana.com/logs/</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Ciao Pocket, hello Nextcloud Bookmarks</title>
      <link>https://blog.bdw.li/ciao-pocket-hello-nextcloud-bookmarks/?ref=rss</link>
      <pubDate>Fri, 24 Mar 2023 19:55:39 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/ciao-pocket-hello-nextcloud-bookmarks/?ref=rss</guid>
      <description>Well, that was unexpectedly short-lived.</description>
      <content:encoded><![CDATA[<p>My adventures with a Pocket account were short-lived. Saved links can&rsquo;t be changed. Most menu items ask you to create a premium account, no thank you.</p>
<p>I decided to invest more into Nextcloud for the moment and installed bookmarks<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>. I synchronize them through my devices using floccus<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p>
<p>On my mobile phone it&rsquo;s still not easy to add bookmarks but the developer added a feature for that just yesterday<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>!</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://apps.nextcloud.com/apps/bookmarks" target="_blank" rel="noopener noreferrer">https://apps.nextcloud.com/apps/bookmarks</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://floccus.org" target="_blank" rel="noopener noreferrer">https://floccus.org</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://github.com/floccusaddon/floccus/commit/bab8a2fda23aa5633842fe704fc8f339141d6945" target="_blank" rel="noopener noreferrer">https://github.com/floccusaddon/floccus/commit/bab8a2fda23aa5633842fe704fc8f339141d6945</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>I love RSS!</title>
      <link>https://blog.bdw.li/i-love-rss/?ref=rss</link>
      <pubDate>Wed, 22 Mar 2023 19:29:43 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/i-love-rss/?ref=rss</guid>
      <description>Who doesn&amp;rsquo;t ツ</description>
      <content:encoded><![CDATA[<p>After using Google Reader for years (who didn&rsquo;t <mark>¯\<em>(ツ)</em>/¯</mark>) I went to feedly for some time (who didn&rsquo;t <mark>¯\<em>(ツ)</em>/¯</mark>). But I don&rsquo;t remember if it was ads or my motivation to self-host, that brought me to Nextcloud News<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<p>Since buying a NAS three years ago, I seldomly use Nextcloud for anything else than reading my feed. And for a feed reader it&rsquo;s quite bloated. Yes there are also other nice apps for Nextcloud, but I just don&rsquo;t use them.</p>
<p>Where was I? Right, RSS, love it. I want to switch to a different, self-hosted system, but haven&rsquo;t decided which one yet.</p>
<p>I also don&rsquo;t have a proper read-later/bookmark tool. My &ldquo;bookmarks&rdquo; are a mess. Some links are on my mobiles &ldquo;read later&rdquo; function of the browser, some are faved entries on my Nextcloud News. I need to find a proper way to aggregate that. I used Instapaper all the way back in 2010 for a good long time, but never found a good alternative after it was sold.</p>
<p>Why am I rambling about bookmarking tools now? I already found one or two interesting RSS tools to try, but I don&rsquo;t remember where I saved the link <mark>(⊙＿⊙&rsquo;)</mark></p>
<p>Now, after thinking for 30 seconds I decided on a whim to give Pocket<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> a try. I use Firefox almost exclusively anyway and will see how well it works.</p>
<p>And if your feedreader doesn&rsquo;t find my rss feed automagically, let me help you: <a href="https://blog.bdw.li/index.xml" target="_blank" rel="noopener noreferrer">https://blog.bdw.li/index.xml</a>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://apps.nextcloud.com/apps/news" target="_blank" rel="noopener noreferrer">https://apps.nextcloud.com/apps/news</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://getpocket.com" target="_blank" rel="noopener noreferrer">https://getpocket.com</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Streamlined publishing</title>
      <link>https://blog.bdw.li/streamlined-publishing/?ref=rss</link>
      <pubDate>Thu, 02 Mar 2023 22:27:31 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/streamlined-publishing/?ref=rss</guid>
      <description>The daily struggle of a windows user.</description>
      <content:encoded><![CDATA[<p>Maybe I can make writing a habit by simply doing it once a day. But the process of publishing would need to be simpler.</p>
<p>I still struggle with a hybrid world. Hugo<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> is currently only running on my windows workstation and <code>rysnc</code> only works on my WSL.</p>
<p>I could try to debug my hugo installation on WSL, but I am too lazy to do that. I could also use <code>robocopy</code> instead of <code>rsync</code>, but I don&rsquo;t want to go that way either (working with ssh keys was a bit of a pain).</p>
<p>Now I created a quick &amp; dirty script to do my tedious tasks of publishing new posts:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># cleaning the public folder</span>
</span></span><span class="line"><span class="cl">Remove-Item ./public/* -Force -Recurse
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># generating new static content</span>
</span></span><span class="line"><span class="cl">hugo
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># uploading content</span>
</span></span><span class="line"><span class="cl">wsl rsync -avz --delete public/ user@server:/path
</span></span></code></pre></div><p>Thoughts on further improvement:</p>
<ul>
<li>Create a separate user with a passwordless key to remove the necessity to enter the ssh passphrase</li>
<li>The separate user would need to be restricted to the hugo html folder</li>
<li>Instead of <code>robocopy</code> I could look into the <code>winscp</code> cli commands</li>
<li>Thinking about a server installation of hugo &ndash; Currently posting is restricted to my workstation</li>
<li>Github Pages<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> (or something similar) would also work, but I like that I am not depending on a third party service.</li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://gohugo.io" target="_blank" rel="noopener noreferrer">https://gohugo.io</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://gohugo.io/hosting-and-deployment/hosting-on-github" target="_blank" rel="noopener noreferrer">https://gohugo.io/hosting-and-deployment/hosting-on-github</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>How to start (´。＿。｀)</title>
      <link>https://blog.bdw.li/how-to-start/?ref=rss</link>
      <pubDate>Thu, 02 Mar 2023 20:24:46 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/how-to-start/?ref=rss</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been four weeks since I opened this blog and I haven&amp;rsquo;t published anything new yet. Let me just drop a few thoughts off my head:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I am impatiently waiting for a free slot on the Pixelfed mobile app&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; beta on testflight! The mobile web page&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; simply doesn&amp;rsquo;t feel as smooth as a proper app.&lt;/li&gt;
&lt;li&gt;After looking at a couple of photo books (Ethiopia by Joey Lawrence&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; and Juggling is easy by Peggy Nolan&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;) I really want to dig out my old analog Nikon and start shooting black and white films.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://pixelfed.org/mobile-apps&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://pixelfed.org/mobile-apps&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://pixelfed.social/jwb&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://pixelfed.social/jwb&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://joeylshop.com/pages/ethiopia-book&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://joeylshop.com/pages/ethiopia-book&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://tbwbooks.com/products/juggling-is-easy&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://tbwbooks.com/products/juggling-is-easy&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s been four weeks since I opened this blog and I haven&rsquo;t published anything new yet. Let me just drop a few thoughts off my head:</p>
<ul>
<li>I am impatiently waiting for a free slot on the Pixelfed mobile app<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> beta on testflight! The mobile web page<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup> simply doesn&rsquo;t feel as smooth as a proper app.</li>
<li>After looking at a couple of photo books (Ethiopia by Joey Lawrence<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup> and Juggling is easy by Peggy Nolan<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>) I really want to dig out my old analog Nikon and start shooting black and white films.</li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://pixelfed.org/mobile-apps" target="_blank" rel="noopener noreferrer">https://pixelfed.org/mobile-apps</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://pixelfed.social/jwb" target="_blank" rel="noopener noreferrer">https://pixelfed.social/jwb</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://joeylshop.com/pages/ethiopia-book" target="_blank" rel="noopener noreferrer">https://joeylshop.com/pages/ethiopia-book</a>&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p><a href="https://tbwbooks.com/products/juggling-is-easy" target="_blank" rel="noopener noreferrer">https://tbwbooks.com/products/juggling-is-easy</a>&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>We are now live</title>
      <link>https://blog.bdw.li/we-are-now-live/?ref=rss</link>
      <pubDate>Wed, 01 Feb 2023 23:24:37 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/we-are-now-live/?ref=rss</guid>
      <description>Hello World!</description>
      <content:encoded><![CDATA[<p>Tonight I finally finished tinkering with a hugo theme and uploaded everything to my server.</p>
<p>The current process isn&rsquo;t pretty but it works <mark>シ</mark> Once I have a new post I need to follow these steps:</p>
<ul>
<li>Empty hugos local <code>public</code> folder</li>
<li>Render new html files with the simple <code>hugo</code> command</li>
<li><code>rsync</code> everything to my server with <code>rsync -avz --delete public/ user@server:/path/to/html/</code></li>
</ul>
<p>Somehow I broke my hugo installation on the WSL. So now I have to run the <code>hugo</code> rendering command in PowerShell but still use WSL for the <code>rsync</code> command, since that is never going to be available in Windows<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://github.com/PowerShell/Win32-OpenSSH/issues/1266" target="_blank" rel="noopener noreferrer">rsync support - out of scope</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>I still remember using these 💾</title>
      <link>https://blog.bdw.li/i-still-remember-using-these/?ref=rss</link>
      <pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/i-still-remember-using-these/?ref=rss</guid>
      <description>During my first internship at school I accidentically broke off a lock lever of a 5¼ floppy disk drive, because I was too impatient.</description>
      <content:encoded><![CDATA[<p>I still remember using 5¼ and 2½ floppies in my early pc years. Even though nobody calls it PC any more. I also remember blogs but never got around to have my own for long. Let&rsquo;s see if it works this time.</p>
<p>I finally found the time to spin up a hugo instance and play around with it. I have to say, I like it a lot! Goodbye Wordpress <mark>(╯°□°)╯︵<sub>ssǝɹdpɹoʍ</sub></mark>.</p>
<p>Since I don&rsquo;t want to start with an empty page, I am going through my pictures and write down some stories from the past month.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bad Labeling</title>
      <link>https://blog.bdw.li/bad-labeling/?ref=rss</link>
      <pubDate>Thu, 01 Dec 2022 20:07:48 +0100</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/bad-labeling/?ref=rss</guid>
      <description>One of the first things that greeted me, when I once had to set up a new office floor with network.</description>
      <content:encoded><![CDATA[<p>I was documenting some infrastructure and stumbled upon handwritten labels on patch panels, that I haven&rsquo;t seen so far.</p>
<p>Looks like the patch panels were added later, as the numbers don&rsquo;t match the rest of the rack. I guess it&rsquo;s still better then no label at all <mark>¯\<em>(ツ)</em>/¯</mark>.</p>
<p><img loading="lazy" src="./network-cables-bad-labeling.jpg" alt="Mess of yellow network cables with some very questionable hand-written labels."  />
</p>
]]></content:encoded>
    </item>
    <item>
      <title>A long walk</title>
      <link>https://blog.bdw.li/a-long-walk/?ref=rss</link>
      <pubDate>Sat, 19 Nov 2022 00:00:00 +0000</pubDate><author>hello@bdw.li (jwb)</author>
      <guid>https://blog.bdw.li/a-long-walk/?ref=rss</guid>
      <description>My dad invited me and a couple of friends to a walk through our home town Eberswalde. He was born there and wanted to share some of his memorys, while enjoying a nice walk with friends and family.</description>
      <content:encoded><![CDATA[<p>My dad invited me and a couple of friends to a walk through our home town Eberswalde. He was born there and wanted to share some of his memorys, while enjoying a nice walk with friends and family.</p>
<p>Right at the start it began to snow and we had so much fun, that things got slightly out of control. Instead of the planned round trip around the city center we also visited a village nearby and walked through a pretty winter forest. A total distance of 27km all in all.</p>
<p>My dad also brought his tiny gas cooker to offer us all a decent <a href="https://en.wikipedia.org/wiki/Gl%C3%B6gg" target="_blank" rel="noopener noreferrer">Glögg</a> during the tour.</p>
<p><img loading="lazy" src="./night-break-gas-cooker.jpg" alt="People making hot drinks with a gas cooker at night, lit by red headlamps."  />
</p>
<p>12/10 would walk again.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
