<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home on webman.at</title>
    <link>https://webman.at/cms/</link>
    <description>Recent content in Home on webman.at</description>
    <generator>Hugo</generator>
    <language>de-DE</language>
    <managingEditor>bernd@webman.at (Bernd Öggl)</managingEditor>
    <webMaster>bernd@webman.at (Bernd Öggl)</webMaster>
    <lastBuildDate>Sat, 04 Apr 2026 09:00:00 +0000</lastBuildDate>
    <atom:link href="https://webman.at/cms/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>iPROT</title>
      <link>https://webman.at/cms/projekte/iprot/</link>
      <pubDate>Tue, 14 Jul 2020 10:04:16 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/iprot/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/images/iprot.png&#34; alt=&#34;iprot&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;iPROT ist eine web-basierte Lösung zum Verfassen und Versenden von Protokollen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Universitäre Lehre</title>
      <link>https://webman.at/cms/projekte/uni/</link>
      <pubDate>Wed, 18 Mar 2020 12:53:26 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/uni/</guid>
      <description>&lt;h3 id=&#34;gis-und-datenbanken-an-der-uni-innsbruck&#34;&gt;GIS und Datenbanken an der &lt;a href=&#34;https://www.uibk.ac.at/&#34;&gt;Uni Innsbruck&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SS 2024: &lt;a href=&#34;https://vis.uibk.ac.at/uivis/lfuonline_lv.details?sem_id_in=24S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;. Wieder mit &lt;a href=&#34;https://geographie.uibk.ac.at/webmapping/contest&#34;&gt;großartigen Projekt-Präsentationen&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;SS 2023: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=23S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;SS 2022: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=22S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;SS 2021: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=21S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;. Wurde wegen Covid-19 als Distance Learning Kurs gehalten.&lt;/li&gt;&#xA;&lt;li&gt;SS 2020: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=20S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;. Wurde wegen Covid-19 als Distance Learning Kurs gehalten.&lt;/li&gt;&#xA;&lt;li&gt;SS 2019: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=19S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SS 2018: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=18S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SS 2017: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=17S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SS 2016: &lt;a href=&#34;https://orawww.uibk.ac.at/public/lfuonline_lv.details?sem_id_in=16S&amp;amp;lvnr_id_in=716409&#34;&gt;Web-mapping&lt;/a&gt; mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SS 2009: &lt;a href=&#34;https://orawww.uibk.ac.at/public_prod/owa/lfuonline_lv.details?sem_id_in=09S&amp;amp;lvnr_id_in=716024&#34;&gt;Anwendung von Geoinformatik&lt;/a&gt; mit &lt;a href=&#34;https://www.uibk.ac.at/geographie/personal/heller/&#34;&gt;Armin Heller&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WS 2008: Online Visualisierung von Geodaten mit &lt;a href=&#34;https://svg.cc/&#34;&gt;Klaus Förster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SS 2008: &lt;a href=&#34;https://orawww.uibk.ac.at/public_prod/owa/lfuonline_lv.details?sem_id_in=08S&amp;amp;lvnr_id_in=716024&#34;&gt;Anwendung von Geoinformatik&lt;/a&gt; mit &lt;a href=&#34;https://www.uibk.ac.at/geographie/personal/heller/&#34;&gt;Armin Heller&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WS 2007: &lt;a href=&#34;https://orawww.uibk.ac.at/public_prod/owa/lfuonline_lv.details?sem_id_in=07W&amp;amp;lvnr_id_in=716042&#34;&gt;Spezielle Geoinformatik&lt;/a&gt; Digitale Visualisierung u. Geokommunikation&lt;/li&gt;&#xA;&lt;li&gt;SS 2007: &lt;a href=&#34;https://orawww.uibk.ac.at/public_prod/owa/lfuonline_lv.details?sem_id_in=07S&amp;amp;lvnr_id_in=716029&#34;&gt;Relationale Datenbanken&lt;/a&gt; Relationale Datenbanken&lt;/li&gt;&#xA;&lt;li&gt;WS 2006: Linux und TNTMips&lt;/li&gt;&#xA;&lt;li&gt;SS 2006: Relationale Datenbanken&lt;/li&gt;&#xA;&lt;li&gt;WS 2005: Linux und TNTMips&lt;/li&gt;&#xA;&lt;li&gt;SS 2005: Geodatabase – SDE&lt;/li&gt;&#xA;&lt;li&gt;WS 2004: Relationale Datenbanken&lt;/li&gt;&#xA;&lt;li&gt;SS 2004: Geodatabase&lt;/li&gt;&#xA;&lt;li&gt;WS 2003: Applikationsentwicklung mit FreeGis Produkten&lt;/li&gt;&#xA;&lt;li&gt;SS 2003: Datenbanken&lt;/li&gt;&#xA;&lt;li&gt;SS 2002: Arbeiten mit TNTMips&lt;/li&gt;&#xA;&lt;li&gt;WS 2001: GIS: Datenbankprogrammierung&lt;/li&gt;&#xA;&lt;li&gt;SS 2001: EDV 2 für Geographen/Innen&lt;/li&gt;&#xA;&lt;li&gt;WS 2000: Internet für GeographInnen&lt;/li&gt;&#xA;&lt;li&gt;SS 2000: EDV 2 für Geographen/Innen&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Gründach</title>
      <link>https://webman.at/cms/projekte/gruendach/</link>
      <pubDate>Tue, 25 Oct 2022 08:01:52 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/gruendach/</guid>
      <description>&lt;h1 id=&#34;gründach-lebensraum-in-zeiten-von-klimawandel-und-biodiversitätskrise&#34;&gt;Gründach: Lebensraum in Zeiten von Klimawandel und Biodiversitätskrise&lt;/h1&gt;&#xA;&lt;p&gt;Wir sind Teil des &lt;a href=&#34;https://www.sparklingscience.at/&#34;&gt;Sparkling-Science&lt;/a&gt;&#xA;Projektes &lt;a href=&#34;http://www.vielfaltdach.at&#34;&gt;„Lebensraum Gründach“&lt;/a&gt;! In diesem Projekt untersuchen wir die&#xA;Biodiversität und die Extrembedingungen auf Gründächern. Wir, das sind&#xA;Wissenschaftler:innen der Universität Innsbruck und der Tiroler Landesmuseen,&#xA;Schüler:innen und deren Lehrer:innen gemeinsam. Angesichts der&#xA;Biodiversitätskrise und des Klimawandels ist eine zukunftsfähige Gestaltung&#xA;unseres Lebensraums – dem Siedlungsraum - von großer Bedeutung. Im Projekt&#xA;erforschen wir welchen Beitrag Gründächer zur Förderung der Biodiversität&#xA;leisten können, und ob diese den Folgen des Klimawandels gewachsen sind.&#xA;Wissenschaftler:innen und Schüler:innen arbeiten dabei zusammen und erfassen&#xA;die Insektenvielfalt mit modernsten Methoden: von Tagfalterbeobachtungen bis&#xA;hin zu genetischen Analysen. Auch die Pflanzen und deren Umwelt werden&#xA;untersucht – mittels direkter Beobachtungen sowie Boden- und Klimamessungen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>viel-falter</title>
      <link>https://webman.at/cms/projekte/vielfalter/</link>
      <pubDate>Sun, 20 Jan 2013 10:08:32 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/vielfalter/</guid>
      <description>&lt;p&gt;&lt;strong&gt;viel-falter&lt;/strong&gt; ist ein Projekt das im Rahmen des Förderprogramms &lt;a href=&#34;https://www.sparklingscience.at/&#34;&gt;Sparkling Science&lt;/a&gt; durchgeführt wird und vom &lt;a href=&#34;https://www.bmwf.gv.at/&#34;&gt;Bundesministerium für Wissenschaft und Forschung&lt;/a&gt; gefördert wird.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Watermanagement System bei Aquis</title>
      <link>https://webman.at/cms/projekte/wms/</link>
      <pubDate>Mon, 13 Jul 2020 12:10:49 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/wms/</guid>
      <description>&lt;p&gt;Frontend Webapplikation für das &lt;a href=&#34;https://aquis-systems.ch/sanitaer-loesungen.html#wasser-management-system&#34;&gt;Watermanagement System&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/images/aq2.jpg&#34; alt=&#34;wms&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>snowhow</title>
      <link>https://webman.at/cms/projekte/snowhow/</link>
      <pubDate>Thu, 20 Aug 2015 10:15:08 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/snowhow/</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://snowhow.info/&#34;&gt;snowhow&lt;/a&gt;&lt;/strong&gt; versucht dir bei der Planung deiner Freeride- oder Skitour in den Alpen zu helfen. Wir haben dazu eine Webseite mit Neuschnee- und Wettersuche, eine freie Karte auf Basis von Openstreetmap und ein App für Android und iOS, das dir auch offline im Gelände helfen soll.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-wetter--und-neuschneesuche-snowhow-web&#34;&gt;Die Wetter- und Neuschneesuche: snowhow-web&lt;/h2&gt;&#xA;&lt;p&gt;Mit sehr präzisen Wetterprognose Daten (&lt;a href=&#34;https://www.zamg.ac.at/&#34;&gt;ZAMG&lt;/a&gt;) über den ganzen Alpenraum kannst du dir den Platz suchen, wo am meisten Neuschnee, die meiste Sonne oder die niedrigsten Temperaturen in den nächsten Tagen sein werden. Die Suchergebnisse enthalten außer dem Wetterbericht auch den aktuellen Lawinenlagebericht (für AT/DE/IT), ein paar Webcams und die Übersichtskarte. Du findest die Wetter- und Neuschneesuche unter &lt;a href=&#34;https://snowhow.info/&#34;&gt;https://snowhow.info&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>timeline</title>
      <link>https://webman.at/cms/webman/</link>
      <pubDate>Wed, 01 Jul 2020 08:01:02 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/webman/</guid>
      <description>&lt;div style=&#34;text-align:center;&#34;&gt;&#xA;&#xA;Eine Auswahl der realisierten Projekte von webman.at.&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;link title=&#34;timeline-styles&#34; rel=&#34;stylesheet&#34; href=&#34;https://webman.at/cms/css/timeline.css&#34;&gt;&#xA;&lt;script src=&#34;https://webman.at/cms/js/timeline.js&#34;&gt;&lt;/script&gt;&#xA;&lt;div id=&#39;tl&#39; style=&#34;width: 100%; height: 900px;&#34;&gt;&lt;/div&gt;&#xA;&#xA;&lt;script defer&gt;&#xA;  const opts = {&#xA;    timenav_height_percentage: 55,&#xA;    marker_width_min: 90,&#xA;    marker_height_min: 10,&#xA;    hash_bookmark: true,&#xA;    start_at_end: true&#xA;    &#xA;  }&#xA;  &#xA;  &#xA;  const timeline = new TL.Timeline(&#39;tl&#39;, {&#34;events&#34;:[{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/uni.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2001},&#34;text&#34;:{&#34;headline&#34;:&#34;Uni Innsbruck&#34;,&#34;text&#34;:&#34;\u003cp\u003eLehrveranstaltung EDV2 für Geographen\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/uni.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2005},&#34;text&#34;:{&#34;headline&#34;:&#34;Uni Innsbruck&#34;,&#34;text&#34;:&#34;\u003cp\u003eLehrveranstaltung Geodatabase\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;end_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2001},&#34;media&#34;:{&#34;caption&#34;:&#34;Swarowski&#34;,&#34;credit&#34;:&#34;hyve&#34;,&#34;url&#34;:&#34;img/gem_motiv.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:2,&#34;year&#34;:2001},&#34;text&#34;:{&#34;headline&#34;:&#34;Swarowski: Gem motivs&#34;,&#34;text&#34;:&#34;\u003cp\u003eInteraktive Web-Applikation zum Konfigurieren von Glas-Steinchen-Motiven\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/umn.png&#34;},&#34;start_date&#34;:{&#34;year&#34;:2003},&#34;text&#34;:{&#34;headline&#34;:&#34;Mapserver&#34;,&#34;text&#34;:&#34;\u003cp\u003eSysadmin Tätigkeiten bei der Firma Planalp\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/tt_openoffice.jpg&#34;},&#34;start_date&#34;:{&#34;year&#34;:2006},&#34;text&#34;:{&#34;headline&#34;:&#34;TT: Artikel zu IT-Themen&#34;,&#34;text&#34;:&#34;\u003cp\u003eMehrere Artikel zu Themen wie Wikipedia, Google, Datenspeicher\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/skiline_db.jpg&#34;},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/skiline06.png&#34;},&#34;start_date&#34;:{&#34;year&#34;:2004},&#34;text&#34;:{&#34;headline&#34;:&#34;skiline.cc&#34;,&#34;text&#34;:&#34;\u003cp\u003eInteraktive Web-Plattform zur Auswertung von SkifahrerInnen\u003c/p\u003e\u003cp\u003e2004 konnten wir die ersten Abfragen an die skidata-Datenbanken ausführen&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/infar.png&#34;},&#34;start_date&#34;:{&#34;year&#34;:2002},&#34;text&#34;:{&#34;headline&#34;:&#34;Infar&#34;,&#34;text&#34;:&#34;\u003cp\u003eWebsite zu Infar-Tirol. Mit Anmeldung zur Alkohollenker Nachschulung :-) \u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/pd.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2007},&#34;text&#34;:{&#34;headline&#34;:&#34;Public Display&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin Informationssystem auf der Basis von RSS-Feeds.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Digitab App&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/dt2.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2013},&#34;text&#34;:{&#34;headline&#34;:&#34;Digitab v2&#34;,&#34;text&#34;:&#34;\u003cp\u003eWeiterentwicklungen zur Digitab-App.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Digitab App&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/digitab.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2011},&#34;text&#34;:{&#34;headline&#34;:&#34;Digitab&#34;,&#34;text&#34;:&#34;\u003cp\u003eAndroid/IOS App zum Kartieren am Tablet/Handy (Auftrag von ILF)\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/npht.png&#34;},&#34;start_date&#34;:{&#34;year&#34;:2011},&#34;text&#34;:{&#34;headline&#34;:&#34;Nationalpark Hohe Tauern: Public Display&#34;,&#34;text&#34;:&#34;\u003cp\u003eEine weitere Implementierung von Public Display für den Nationalpark Hohe Tauern\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/iprot.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:12,&#34;year&#34;:2010},&#34;text&#34;:{&#34;headline&#34;:&#34;iPROT&#34;,&#34;text&#34;:&#34;\u003cp\u003eSoftware zum Erstellen von interaktiven Protokollen. Mit PDF-Versand, Benachrichtigungen, ...\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;&#34;},&#34;start_date&#34;:{&#34;year&#34;:2013},&#34;text&#34;:{&#34;headline&#34;:&#34;FIRE&#34;,&#34;text&#34;:&#34;\u003cp\u003eWeb-Applikation im medizinischen Umfeld. Mit Michael Kofler (Auftraggeber aus der Schweiz)\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/snowhow_app_v0.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:12,&#34;year&#34;:2011},&#34;text&#34;:{&#34;headline&#34;:&#34;snowhow app&#34;,&#34;text&#34;:&#34;\u003cp\u003eApp für Freeride SkifahreInnen\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/snowhow_app_v2.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2018},&#34;text&#34;:{&#34;headline&#34;:&#34;snowhow app v3&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin vollständiger Rewrite der App. Das auf Angular aufsetzende ionic-Framework stellt die technische Basis der Applikation dar. Der Fokus liegt jetzt mehr auf der Vermarktung von Partner-Gebieten als auf technischen Feinheiten. Die Track-Aufzeichnung und Verwaltung fliegt hinaus.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/snowhow_app_v1.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:12,&#34;year&#34;:2013},&#34;text&#34;:{&#34;headline&#34;:&#34;snowhow app&#34;,&#34;text&#34;:&#34;\u003cp\u003eApp für Freeride SkifahreInnen\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/greece_2.jpg&#34;},&#34;end_date&#34;:{&#34;month&#34;:9,&#34;year&#34;:2015},&#34;media&#34;:{&#34;caption&#34;:&#34;Kreta&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/greece_work.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:2,&#34;year&#34;:2015},&#34;text&#34;:{&#34;headline&#34;:&#34;Greece :)&#34;,&#34;text&#34;:&#34;\u003cp\u003eEine kleine Auszeit vom Tagesgeschäft.\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/aq1.jpg&#34;},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/aq2.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:4,&#34;year&#34;:2016},&#34;text&#34;:{&#34;headline&#34;:&#34;Aquis: WMS&#34;,&#34;text&#34;:&#34;\u003cp\u003e\u003cem\u003eWater Management System\u003c/em\u003e: Steuerung von Sanitär-Armaturen über das Netzwerk.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/node_logo.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2016},&#34;text&#34;:{&#34;headline&#34;:&#34;Workshop ZAMG&#34;,&#34;text&#34;:&#34;\u003cp\u003e2-tägiger Workshop zu moderner Web-Entwicklung (SPA, Nodejs) und Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/esd.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:9,&#34;year&#34;:2015},&#34;text&#34;:{&#34;headline&#34;:&#34;CHES&#34;,&#34;text&#34;:&#34;\u003cp\u003eSysadmin Tätigkeiten bei der Firma ESD\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/docker_logo.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2018},&#34;text&#34;:{&#34;headline&#34;:&#34;Workshop: Docker&#34;,&#34;text&#34;:&#34;\u003cp\u003e2-tägiger Workshop zu Docker beim SOS-Kinderdorf in Innsbruck\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/container.jpg&#34;},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Dockerbuch&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler&#34;,&#34;thumbnail&#34;:&#34;img/dc.png&#34;,&#34;url&#34;:&#34;img/dc.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2018},&#34;text&#34;:{&#34;headline&#34;:&#34;Dockerbuch&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin Buch über Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Git&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/git-buch.png&#34;,&#34;url&#34;:&#34;img/git-buch.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:7,&#34;year&#34;:2020},&#34;text&#34;:{&#34;headline&#34;:&#34;\u003ca href=&#39;https://webman.at/cms/buecher/git&#39;\u003eGitbuch\u003c/a\u003e&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin sehr cooles Buch mit viel Praxisbeispielen.\u003c/p\u003e&#34;}},{&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/la.png&#34;},&#34;start_date&#34;:{&#34;year&#34;:2017},&#34;text&#34;:{&#34;headline&#34;:&#34;Landärzte Tirol&#34;,&#34;text&#34;:&#34;\u003cp\u003eInstallation und endlose Diskussionen um die Plattform Landärzte Tirol.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;PHP und MySQL&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/php.jpg&#34;},&#34;start_date&#34;:{&#34;year&#34;:2007},&#34;text&#34;:{&#34;headline&#34;:&#34;Buch: PHP \u0026 MySQL&#34;,&#34;text&#34;:&#34;\u003cp\u003eTeamwork mit Michael Kofler\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/php53a.jpg&#34;},&#34;start_date&#34;:{&#34;year&#34;:2009},&#34;text&#34;:{&#34;headline&#34;:&#34;Buch: PHP \u0026 MySQL 2. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eTeamwork mit Michael Kofler\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/html5.jpg&#34;},&#34;start_date&#34;:{&#34;year&#34;:2010},&#34;text&#34;:{&#34;headline&#34;:&#34;Buch: HTML5&#34;,&#34;text&#34;:&#34;\u003cp\u003eTeamwork mit Klaus Förster\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/html5_en.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2010},&#34;text&#34;:{&#34;headline&#34;:&#34;Buch: HTML5 Englisch&#34;,&#34;text&#34;:&#34;\u003cp\u003eTeamwork mit Klaus Förster\u003c/p\u003e&#34;}},{&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/malawi.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:&#34;10&#34;,&#34;year&#34;:&#34;2019&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;SOS Außendienst Malawi&#34;,&#34;text&#34;:&#34;\u003cp\u003eFeldeinsatz bei SOS Malawi in Lilongwe\u003c/p\u003e&#34;}},{&#34;end_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2020},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/angular.svg&#34;},&#34;start_date&#34;:{&#34;month&#34;:&#34;08&#34;,&#34;year&#34;:&#34;2019&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;SOS Kinderdorf&#34;,&#34;text&#34;:&#34;\u003cp\u003eFrontend Entwicklung für SOS Kinderdorf.\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/container.jpg&#34;},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Dockerbuch&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler&#34;,&#34;thumbnail&#34;:&#34;img/dc2.png&#34;,&#34;url&#34;:&#34;img/dc2.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:5,&#34;year&#34;:2019},&#34;text&#34;:{&#34;headline&#34;:&#34;Dockerbuch 2. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 2. Auflage des erfolgreichen Buchs über Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Webman&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/wman.svg&#34;,&#34;url&#34;:&#34;img/wman.svg&#34;},&#34;start_date&#34;:{&#34;month&#34;:7,&#34;year&#34;:2020},&#34;text&#34;:{&#34;headline&#34;:&#34;Webman&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin extrem cooles Re-branding\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;viel-falter.at&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/vf1.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:6,&#34;year&#34;:2014},&#34;text&#34;:{&#34;headline&#34;:&#34;Vielfalter&#34;,&#34;text&#34;:&#34;\u003cp\u003eWeb-App zur systematischen Aufnahme von Tagfaltern. Im Auftrag der Universität Innsbruck.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;viel-falter.at&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/vf.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:5,&#34;year&#34;:2020},&#34;text&#34;:{&#34;headline&#34;:&#34;Vielfalter Updates&#34;,&#34;text&#34;:&#34;\u003cp\u003eAusbau der Web-App zur systematischen Aufnahme von Tagfaltern.\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/faltergamev2.png&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:&#34;3&#34;,&#34;year&#34;:&#34;2021&#34;},&#34;start_date&#34;:{&#34;month&#34;:&#34;02&#34;,&#34;year&#34;:&#34;2021&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;Viel-Falter Spiel v2&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 2. Auflage des Arten-Erkennungsspiel mit Vue.js und einer JSON-REST Api. \u003ca href=&#39;https://viel-falter.at/game&#39;\u003eProbier es aus\u003c/a\u003e.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;end_date&#34;:{&#34;month&#34;:7,&#34;year&#34;:2021},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/uni.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2021},&#34;text&#34;:{&#34;headline&#34;:&#34;Uni Innsbruck&#34;,&#34;text&#34;:&#34;\u003cp\u003eLehrveranstaltung Webmapping\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/novo-ss.png&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:&#34;7&#34;,&#34;year&#34;:&#34;2021&#34;},&#34;start_date&#34;:{&#34;month&#34;:&#34;12&#34;,&#34;year&#34;:&#34;2020&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;COVID Test-Data processing&#34;,&#34;text&#34;:&#34;\u003cp\u003eDatenverwaltung für COVID-Test Labor Daten\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/container.jpg&#34;},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Dockerbuch&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler&#34;,&#34;thumbnail&#34;:&#34;img/dc3.jpg&#34;,&#34;url&#34;:&#34;img/dc3.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2021},&#34;text&#34;:{&#34;headline&#34;:&#34;Dockerbuch 3. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 3. Auflage des erfolgreichen Buchs über Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Git&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/git-buch.png&#34;,&#34;url&#34;:&#34;img/git-buch.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2022},&#34;text&#34;:{&#34;headline&#34;:&#34;\u003ca href=&#39;https://webman.at/cms/buecher/git&#39;\u003eGitbuch 2. Auflage\u003c/a\u003e&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie zweite, erweiterte Auflage des sehr cooles Buchs mit viel Praxisbeispielen.\u003c/p\u003e&#34;}},{&#34;end_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2022},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/angular.svg&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2021},&#34;text&#34;:{&#34;headline&#34;:&#34;SOS Kinderdorf&#34;,&#34;text&#34;:&#34;\u003cp\u003eFrontend Entwicklung für SOS Kinderdorf.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;end_date&#34;:{&#34;month&#34;:7,&#34;year&#34;:2022},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/uni.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2022},&#34;text&#34;:{&#34;headline&#34;:&#34;Uni Innsbruck&#34;,&#34;text&#34;:&#34;\u003cp\u003eLehrveranstaltung Webmapping\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/node_logo.png&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:10,&#34;year&#34;:2021},&#34;start_date&#34;:{&#34;month&#34;:9,&#34;year&#34;:2021},&#34;text&#34;:{&#34;headline&#34;:&#34;COVID Test-Data processing&#34;,&#34;text&#34;:&#34;\u003cp\u003eDatenverwaltung für COVID-Test Labor Daten\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/iprot_en.jpg&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:6,&#34;year&#34;:2023},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/iPROT-Logo.png&#34;,&#34;url&#34;:&#34;img/iPROT-Logo.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:6,&#34;year&#34;:2022},&#34;text&#34;:{&#34;headline&#34;:&#34;iPROT v4&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin major-Update für unser erfolgreiches Software-Projekt.\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/gruendach.png&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:6,&#34;year&#34;:2023},&#34;media&#34;:{&#34;caption&#34;:&#34;Gründach&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/gd.svg&#34;,&#34;url&#34;:&#34;img/gd.svg&#34;},&#34;start_date&#34;:{&#34;month&#34;:2,&#34;year&#34;:2023},&#34;text&#34;:{&#34;headline&#34;:&#34;\u003ca href=&#39;https://app.vielfaltdach.at/&#39;\u003eGründach\u003c/a\u003e&#34;,&#34;text&#34;:&#34;\u003cp\u003eLebensraum Gründach in Zeiten von Klimawandel und Biodiversitätskrise\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/container.jpg&#34;},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Dockerbuch&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler&#34;,&#34;thumbnail&#34;:&#34;img/dc3.jpg&#34;,&#34;url&#34;:&#34;img/dc4.jpg&#34;},&#34;start_date&#34;:{&#34;month&#34;:8,&#34;year&#34;:2023},&#34;text&#34;:{&#34;headline&#34;:&#34;Dockerbuch 4. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 4. Auflage des erfolgreichen Buchs über Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;url&#34;:&#34;img/coding-mit-ki2.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:1,&#34;year&#34;:2026},&#34;text&#34;:{&#34;headline&#34;:&#34;Workshops zu Coding mit KI&#34;,&#34;text&#34;:&#34;\u003cp\u003eWorkshops zu KI-gestütztem Programmieren\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;media&#34;:{&#34;caption&#34;:&#34;Git&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/git-buch.png&#34;,&#34;url&#34;:&#34;img/git-buch.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:7,&#34;year&#34;:2025},&#34;text&#34;:{&#34;headline&#34;:&#34;\u003ca href=&#39;https://webman.at/cms/buecher/git&#39;\u003eGitbuch 3. Auflage\u003c/a\u003e&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie dritte, erweiterte Auflage des sehr coolen Buchs mit viel Praxisbeispielen.\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Coding mit KI&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler/Sebastian Springer&#34;,&#34;thumbnail&#34;:&#34;img/coding-mit-ki2.png&#34;,&#34;url&#34;:&#34;img/coding-mit-ki2.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:9,&#34;year&#34;:2024},&#34;text&#34;:{&#34;headline&#34;:&#34;Coding mit KI, 1. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin Buch über KI-gestütztes Programmieren\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/iprot_en.jpg&#34;},&#34;display_data&#34;:true,&#34;end_date&#34;:{&#34;month&#34;:&#34;4&#34;,&#34;year&#34;:&#34;2026&#34;},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;&#34;,&#34;thumbnail&#34;:&#34;img/iPROT-Logo.png&#34;,&#34;url&#34;:&#34;img/iPROT-Logo.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:&#34;08&#34;,&#34;year&#34;:&#34;2025&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;iPROT v5&#34;,&#34;text&#34;:&#34;\u003cp\u003eEin weiteres major-Update für unser erfolgreiches Meeting-Minutes-Softwareprojekt.\u003c/p\u003e&#34;}},{&#34;background&#34;:{&#34;url&#34;:&#34;img/container.jpg&#34;},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Dockerbuch&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler&#34;,&#34;thumbnail&#34;:&#34;img/docker5.png&#34;,&#34;url&#34;:&#34;img/docker5.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:11,&#34;year&#34;:2025},&#34;text&#34;:{&#34;headline&#34;:&#34;Dockerbuch 5. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 5. Auflage des erfolgreichen Buchs über Docker\u003c/p\u003e&#34;}},{&#34;background&#34;:{},&#34;display_data&#34;:true,&#34;media&#34;:{&#34;caption&#34;:&#34;Coding mit KI&#34;,&#34;credit&#34;:&#34;Bernd Öggl/Michael Kofler/Sebastian Springer&#34;,&#34;thumbnail&#34;:&#34;img/coding-mit-ki2.png&#34;,&#34;url&#34;:&#34;img/coding-mit-ki2.png&#34;},&#34;start_date&#34;:{&#34;month&#34;:3,&#34;year&#34;:2026},&#34;text&#34;:{&#34;headline&#34;:&#34;Coding mit KI, 2. Auflage&#34;,&#34;text&#34;:&#34;\u003cp\u003eDie 2., aktualisierte und erweiterte Auflage des Buchs über KI-gestütztes Programmieren\u003c/p\u003e&#34;}}],&#34;title&#34;:{&#34;background&#34;:{&#34;url&#34;:&#34;img/code.jpg&#34;},&#34;media&#34;:{&#34;caption&#34;:&#34;&#34;,&#34;credit&#34;:&#34;komplett.cc&#34;,&#34;url&#34;:&#34;img/wman.svg&#34;},&#34;text&#34;:{&#34;headline&#34;:&#34;webman.at / komplett.cc&#34;,&#34;text&#34;:&#34;\u003cp\u003eEine unvollständige Aufzählung einiger Projekte aus vielen Jahre IT-Arbeit\u003c/p\u003e&#34;}}}, opts)&#xA;  console.log(&#39;H: &#39;, tl)&#xA;&lt;/script&gt;&#xA;&#xA;&lt;!-- __webman.at__ (früher komplett.cc) wurde 2001 von Bernd Öggl gegründet und --&gt;&#xA;&lt;!-- entwickelt seither, oft mit Partnern, moderne Web-Applikationen.  --&gt;&#xA;&lt;!-- Mithilfe von modernen --&gt;&#xA;&lt;!-- Web-Technologien (&lt;a title=&#34;HTML5&#34; href=&#34;https://webman.at/cms/&#34;&gt;HTML5&lt;/a&gt;, &lt;a --&gt;&#xA;&lt;!-- href=&#34;http://html5.komplett.cc/code/index_en.html&#34;&gt;Javascript&lt;/a&gt;, &lt;a --&gt;&#xA;&lt;!-- href=&#34;http://html5.komplett.cc/code/chap_websockets/index_en.html&#34;&gt;Websockets&lt;/a&gt;, --&gt;&#xA;&lt;!-- &amp;#8230;) und durch langjährige Erfahrung mit Computer-Netzwerken wurden --&gt;&#xA;&lt;!-- erfolgreiche Projekte wie die Plattform &lt;a title=&#34;skiline.cc&#34; --&gt;&#xA;&lt;!-- href=&#34;https://webman.at/cms/projekte/skiline/&#34;&gt;skiline.cc&lt;/a&gt;, &lt;a --&gt;&#xA;&lt;!-- href=&#34;https://snowhow.info&#34;&gt;snowhow.info&lt;/a&gt;, oder das Informationssystem --&gt;&#xA;&lt;!-- &lt;em&gt;&lt;a title=&#34;Public Display&#34; --&gt;&#xA;&lt;!-- href=&#34;https://komplett.cc/cms/projekte/pd/&#34;&gt;Public Display&lt;/a&gt;&lt;/em&gt; umgesetzt. --&gt;&#xA;&lt;!-- __webman.at hostet unter anderem auch folgende Projekte__: --&gt;&#xA;&lt;!--  --&gt;&#xA;&lt;!-- * [snowhow.info](https://snowhow.info/): Informationen und Camps für Freerider und Skitourengeher. --&gt;&#xA;&lt;!-- * &lt;a href=&#34;https://schullawinenkurse.at/&#34;&gt;snowhow Schullawinenkurse&lt;/a&gt; (auch in &lt;a title=&#34;snowhow Bayern&#34; href=&#34;http://schullawinenkurse.de/&#34;&gt;Bayern&lt;/a&gt;). Eine Initiative um SchülerInnen eine kostenlose Ausbildung zur Naturgefahr Lawine zu bieten. --&gt;&#xA;&lt;!-- * [climbhow.info](https://climbhow.info/) Die BergführerInnen von snowhow sind nicht nur im Schnee, sondern auch am Fels unterwegs. Egal ob Anfänger oder bereits engagierter Sportkletterer. Sie werden für Euch das richtige Angebot haben. --&gt;&#xA;&lt;!-- * [klauskranebitter.com](https://klauskranebitter.com/) Fotos vom Profi. --&gt;&#xA;&lt;!--  --&gt;&#xA;&lt;!-- Nach 15 Jahren bei webman.at, sind folgende Websites seit 2019 auf einem eigenen (Cloud) Server unter der Obhut von Klaus Förster: --&gt;&#xA;&lt;!--  --&gt;&#xA;&lt;!-- * [univ.cc](https://univ.cc/) Universities worldwide. Die seit 1997 intensiv betreute Datenbank von Universitäten und Colleges weltweit. --&gt;&#xA;&lt;!-- * [svg.cc](https://svg.cc/) Die private Webseite von Klaus Förster --&gt;&#xA;&lt;!-- * [hemetsberger.cc](https://hemetsberger.cc) Univ.Prof. Andrea Hemetsberger --&gt;&#xA;&lt;!--  --&gt;</description>
    </item>
    <item>
      <title>Public Display</title>
      <link>https://webman.at/cms/projekte/pd/</link>
      <pubDate>Fri, 18 Mar 2011 12:55:39 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/pd/</guid>
      <description>&lt;p&gt;&lt;em&gt;Public Display&lt;/em&gt; ist ein Client-Server System, das Kurznachrichten aus unterschiedlichen Quellen laut Vorgaben sortiert, formatiert und in HTML konvertiert. Mit modernen Webtechniken werden Text, Bilder und Videos ohne Benutzerinteraktion angezeigt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;clients&#34;&gt;Clients&lt;/h2&gt;&#xA;&lt;p&gt;Als Anzeigegerät für Ihre &lt;em&gt;Public Display&lt;/em&gt; Nachrichten reicht ein Standard-PC mit einem Bildschirm. Einmal eingerichtet sind die Stationen praktisch wartungsfrei (wir haben 15+ Jahre Erfahrung). Unsere Service-Levels am Client unterscheiden sich von&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Zero-Service: wir bieten keine Support zu Ihren Clients&lt;/li&gt;&#xA;&lt;li&gt;Browser-Level: wir überprüfen Inkompatibilitäten mit den von Ihnen eingesetzten Browsern&lt;/li&gt;&#xA;&lt;li&gt;OS-Level: wir überprüfen den kompletten PC Client&lt;/li&gt;&#xA;&lt;li&gt;Site-Level: wir warten und überprüfen alle ihre PD-Clients (in der Regel mit einer Terminal Server Installation)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;geschichte&#34;&gt;Geschichte&lt;/h2&gt;&#xA;&lt;p&gt;Die hier besprochene &lt;em&gt;Public Display&lt;/em&gt; Software hat eine lange Geschichte: Eine erste Version von &lt;em&gt;Public Display&lt;/em&gt; entstand bereits im Jahr 1996, wo am Institut für Geographie der Universität Innsbruck ein Bedarf für ein Online-Nachrichten System bestand. Das neue &lt;em&gt;schwarze Brett&lt;/em&gt; sollte aber auch verfügbar sein, ohne dass man am Computer angemeldet ist. Mit handwerklich massivem Einsatz wurde ein ausrangierter 40 kg(!) schwerer IBM Monitor an einer Wand des Instituts montiert und die Informationen „tickerten“ dort für alle Studierenden sichtbar vor sich hin.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Digitab</title>
      <link>https://webman.at/cms/projekte/digitab/</link>
      <pubDate>Thu, 26 Jul 2012 15:36:54 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/digitab/</guid>
      <description>&lt;h2 id=&#34;einführung&#34;&gt;Einführung&lt;/h2&gt;&#xA;&lt;p&gt;Digitab ist eine App für Android Tablet-PCs (und große Smartphones) zum digitalisieren von geometrischen Formen. Wie von Geographischen Informationssystemen bekannt, kann die erstellte Geometrie mit anderen (thematischen) Inhalten verknüpft werden. Als Grundlage werden in der Regel Orthofotos verwendet. DigiTab kann aber auch auf online-Karten (OpenStreetMap, Bing-Maps, …) zugreifen.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;installation&#34;&gt;Installation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;screenshots&#34;&gt;Screenshots&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;features&#34;&gt;Features&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;changelog&#34;&gt;ChangeLog&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2012/07/digitab_autocomplete_device-2012-07-26-235343.jpg&#34;&gt;&lt;img src=&#34;https://webman.at/cms/wp-content/uploads/2012/07/digitab_autocomplete_device-2012-07-26-235343-1024x640.jpg&#34; alt=&#34;&#34; title=&#34;Autovervollständigen von Arten in DigiTab&#34; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Viel-Falter TCS</title>
      <link>https://webman.at/cms/projekte/vielfalter-tcs/</link>
      <pubDate>Sat, 17 Dec 2016 10:39:54 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/vielfalter-tcs/</guid>
      <description>&lt;h2 id=&#34;viel-falter-tcs-2016--2017&#34;&gt;Viel-Falter TCS (2016 &amp;ndash; 2017)&lt;/h2&gt;&#xA;&lt;p&gt;Im Rahmen von &lt;a href=&#34;https://viel-falter.at/cms/top-citizen-science-modul/&#34;&gt;Viel-Falter Top Citizen Science (TCS)&lt;/a&gt; wird untersucht, ob und wie Schmetterlingsbeobachtungen von Laien zur Unterstützung eines dauerhaften Biodiversitätsmonitorings herangezogen werden können.&lt;/p&gt;&#xA;&lt;h2 id=&#34;forschungsziel&#34;&gt;Forschungsziel&lt;/h2&gt;&#xA;&lt;p&gt;Können Schmetterlingslebensräume mit einer einfachen aber wissenschaftlich korrekten Bewertungsmethode von Laien beobachtet werden? Können so gesammelte Daten ein dauerhaftes Tagfalter-Monitoring in Österreich unterstützen? Mit diesen und weiteren Fragen beschäftigt sich das Projekt Viel-Falter TCS. Wenn es gelingt eine entsprechende Datenqualität sicherzustellen, dann kann das dringend notwendige Erheben von Biodiversitätsdaten mit wichtigen Zielen einer Bildung für eine nachhaltige Entwicklung verknüpft werden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Skiline</title>
      <link>https://webman.at/cms/projekte/skiline/</link>
      <pubDate>Fri, 18 Mar 2011 13:11:10 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/skiline/</guid>
      <description>&lt;p&gt;Die „skiline marketing GmbH“ (skiline.cc) wurde 2006 von Bernd&#xA;Öggl, Stephan und Hans-Peter Gruber gegründet und stellt einen einzigartigen&#xA;Dienst für SkifahrerInnen in ausgewählten Skigebieten zur Verfügung. Durch die&#xA;Auswertung der Zutrittsdaten können Gäste des Skigebiets einen ansprechenden&#xA;grafischen Linienzug, ihre &lt;strong&gt;skiline&lt;/strong&gt; im Internet abrufen. An Terminals im&#xA;Skigebiet ist es möglich die Grafik auch sofort auszudrucken. Der Service ist&#xA;in über 100 Skigebieten weltweit verfügbar. Für eine Liste aller Skigebiete&#xA;besuchen sie skiline.cc. Bis zum Ende der Saison 2009 war Bernd Öggl für alle&#xA;technischen Aspekte rund um den online-Service allein verantwortlich.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Links</title>
      <link>https://webman.at/cms/links/</link>
      <pubDate>Fri, 18 Mar 2011 12:56:28 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/links/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://snowhow.info/&#34;&gt;snowhow.info&lt;/a&gt;: Informationen zu Wetter, Schnee und Lawinen&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://html5.komplett.cc/&#34;&gt;html5.komplett.cc&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://univ.cc/&#34;&gt;Universities worldwide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://univ.cc/geolinks&#34;&gt;Geography Departments worldwide&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://andrealueth.at/&#34;&gt;Andrea Lüth&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://webman.at/cms/css/hugo-easy-gallery.css&#34; /&gt;&#xA;&lt;div class=&#34;box&#34; &gt;&#xA;  &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;    &lt;div class=&#34;img&#34;&gt;&#xA;      &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://webman.at/cms/images/bg.jpg&#34; alt=&#34;/cms/images/bg.jpg&#34;/&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;a href=&#34;https://webman.at/cms/images/bg.jpg&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Docker, 5. Auflage</title>
      <link>https://webman.at/cms/post/2026-04-docker-5/</link>
      <pubDate>Sat, 04 Apr 2026 09:00:00 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2026-04-docker-5/</guid>
      <description>&lt;h2 id=&#34;docker-5-auflage&#34;&gt;Docker, 5. Auflage&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Das Praxisbuch für Entwickler und DevOps-Teams&lt;/em&gt;,&#xA;von Bernd Öggl und &lt;a href=&#34;https://kofler.info&#34;&gt;Michael Kofler&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker, 4. Auflage</title>
      <link>https://webman.at/cms/post/2023-10-02_dockerv4/</link>
      <pubDate>Mon, 02 Oct 2023 11:53:25 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2023-10-02_dockerv4/</guid>
      <description>&lt;h2 id=&#34;docker-4-auflage&#34;&gt;Docker, 4. Auflage&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Das Praxisbuch für Entwickler und DevOps-Teams&lt;/em&gt;,&#xA;von Bernd Öggl und &lt;a href=&#34;https://kofler.info&#34;&gt;Michael Kofler&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mastodon, here we go!</title>
      <link>https://webman.at/cms/post/2022-11-mastodon/</link>
      <pubDate>Mon, 09 Jan 2023 17:44:46 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2022-11-mastodon/</guid>
      <description>Wieso bei Mastodon einsteigen? Nur weil ein wild gewordener Turbo-Kapitalist die Micro-Blogging-Plattform Nummer eins (Twitter) gekauft hat und am besten Weg ist diese zu zerstören? Nein. Mastodon verfolgt einen technisch sehr spannenden Ansatz, der Unabhängigkeit von großen Firmen garantiert.</description>
    </item>
    <item>
      <title>Pimp your Web-App mit Alpine.js</title>
      <link>https://webman.at/cms/post/2022-05-alpinejs/</link>
      <pubDate>Fri, 13 May 2022 07:05:48 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2022-05-alpinejs/</guid>
      <description>&lt;h2 id=&#34;das-problem&#34;&gt;Das Problem&lt;/h2&gt;&#xA;&lt;p&gt;Wer Anfang der 2010er Jahre (oder gar noch früher) Web-Applikationen entwickelt&#xA;hat, kam wohl um die Programmiersprache PHP nicht ganz herum. So verwendeten&#xA;auch &lt;a href=&#34;https://iprot.info/cms/ueber-uns/&#34;&gt;wir&lt;/a&gt; zu dieser Zeit PHP bei der&#xA;Erstellung des neuen Projekts &lt;a href=&#34;https://iprot.info/&#34;&gt;&lt;strong&gt;iPROT&lt;/strong&gt;&lt;/a&gt;. Erste Frontend&#xA;Frameworks wie &lt;a href=&#34;http://backbonejs.org/&#34;&gt;Backbone.js&lt;/a&gt; oder&#xA;&lt;a href=&#34;https://angularjs.org/&#34;&gt;Angularjs&lt;/a&gt; waren zwar gerade entstanden, wir&#xA;vertrauten aber auf Bewährtes und bauten die Logik hauptsächlich auf der&#xA;Server-Seite in PHP.&lt;/p&gt;&#xA;&lt;p&gt;Natürlich kam auch &lt;a href=&#34;https://jquery.com&#34;&gt;jQuery&lt;/a&gt; zum Einsatz. Es war in dieser&#xA;Zeit, in der sich nicht alle Browser an den HTML-Standard hielten (sprich&#xA;&lt;strong&gt;IE&lt;/strong&gt;), eine Riesenerleichterung für die Frontend-Entwicklung. Ja es&#xA;funktionierte so gut, dass wir immer mehr jQuery-Code ergänzten, was die Sache&#xA;irgendwann unübersichtlich werden ließ.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android rsync</title>
      <link>https://webman.at/cms/post/2021-11-android-ssh/</link>
      <pubDate>Fri, 05 Nov 2021 18:59:34 +0100</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2021-11-android-ssh/</guid>
      <description>&lt;h2 id=&#34;tldr&#34;&gt;tl;dr&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;termux&lt;/code&gt; App unter Android installieren&lt;/li&gt;&#xA;&lt;li&gt;App starten openssh installieren und &lt;code&gt;sshd&lt;/code&gt; aufrufen&lt;/li&gt;&#xA;&lt;li&gt;am PC &lt;code&gt;adb&lt;/code&gt; mit Port-forwarding aktivieren&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;rsync&lt;/code&gt; am PC aufrufen&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;warum&#34;&gt;Warum&lt;/h2&gt;&#xA;&lt;p&gt;Vor vielen Jahren (7.5 um genau zu sein) habe ich ein Blogpost zum Thema &lt;a href=&#34;https://webman.at/cms/2013/04/datentransfer-mit-rsync-openssh-und-cyanogenmod-am-galaxy-nexus/&#34;&gt;Datentransfer zwischen Android und PC&lt;/a&gt;&#xA;geschrieben. Ich bin damals schier verzweifelt mit den nicht vorhandenen&#xA;Möglichkeiten Daten effizient zwischen Android und meinem Linux PC zu&#xA;transferieren (&lt;code&gt;adb pull&lt;/code&gt; geht, kann aber keine &lt;em&gt;Wildcards&lt;/em&gt;, ich möchte die&#xA;Möglichkeiten die &lt;code&gt;rsync&lt;/code&gt; bietet).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker</title>
      <link>https://webman.at/cms/buecher/docker/</link>
      <pubDate>Fri, 24 Sep 2021 15:26:22 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/buecher/docker/</guid>
      <description>&lt;p&gt;von Bernd Öggl und &lt;a href=&#34;https://kofler.info/&#34;&gt;Michael Kofler&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;496 Seiten, 2021, gebunden (&lt;strong&gt;3. Auflage&lt;/strong&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Rheinwerk Computing,&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ISBN&lt;/strong&gt;: 78-3-8362-8634-3&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Docker Buch, 3. Auflage</title>
      <link>https://webman.at/cms/post/2021-09-docker-buch/</link>
      <pubDate>Fri, 24 Sep 2021 12:42:21 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2021-09-docker-buch/</guid>
      <description>&lt;h2 id=&#34;docker&#34;&gt;Docker&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;Das Praxisbuch für Entwickler und DevOps-Teams&lt;/em&gt;,&#xA;von Bernd Öggl und &lt;a href=&#34;https://kofler.info&#34;&gt;Michael Kofler&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Buch erschienen</title>
      <link>https://webman.at/cms/post/2020-09-git-buch/</link>
      <pubDate>Wed, 16 Sep 2020 13:33:51 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2020-09-git-buch/</guid>
      <description>&lt;p&gt;Es ist zwar schon seit zwei Wochen im Handel erhältlich, aber ein aktuelles&#xA;Projekt ließ mir nicht einmal die Zeit den kurzen Blog-Eintrag dazu zu&#xA;verfassen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android SSH-App mit Yubikey Support</title>
      <link>https://webman.at/cms/post/android-ssh-yubikey/</link>
      <pubDate>Thu, 16 Jul 2020 08:06:10 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/android-ssh-yubikey/</guid>
      <description>&lt;p&gt;Da der anstehende Urlaub der erste seit langer Zeit ohne Laptop sein wird (die&#xA;Fahrradtaschen bieten nur begrenzt Speicherplatz), suchte ich nach einem&#xA;seriösen SSH-Client für das Android Mobiltelefon. Da die Zugänge auf meinen&#xA;Servern inzwischen ausschließlich mit den SSH-Keys auf meinen beiden Yubikeys&#xA;abgesichert sind, war die Anforderung, dass der Client die Schlüssel von dem&#xA;Hardware-Token verwenden kann.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alles neu</title>
      <link>https://webman.at/cms/post/webman/</link>
      <pubDate>Mon, 13 Jul 2020 16:04:03 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/webman/</guid>
      <description>&lt;p&gt;Nach ziemlich genau 19,5  Jahren wird aus komplett.cc&#xA;webman.at.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git</title>
      <link>https://webman.at/cms/buecher/git/</link>
      <pubDate>Mon, 13 Jul 2020 12:11:05 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/buecher/git/</guid>
      <description>&lt;link rel=&#34;stylesheet&#34; href=&#34;https://webman.at/cms/css/hugo-easy-gallery.css&#34; /&gt;&#xA;&lt;div class=&#34;box&#34; &gt;&#xA;  &lt;figure  itemprop=&#34;associatedMedia&#34; itemscope itemtype=&#34;http://schema.org/ImageObject&#34;&gt;&#xA;    &lt;div class=&#34;img&#34;&gt;&#xA;      &lt;img itemprop=&#34;thumbnail&#34; src=&#34;https://webman.at/cms/images/git-buch.png&#34; alt=&#34;/cms/images/git-buch.png&#34;/&gt;&#xA;    &lt;/div&gt;&#xA;    &lt;a href=&#34;https://webman.at/cms/images/git-buch.png&#34; itemprop=&#34;contentUrl&#34;&gt;&lt;/a&gt;&#xA;  &lt;/figure&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Erschienen&lt;/strong&gt;: Ende April 2022 (2. Auflage)&lt;br&gt;&#xA;&lt;strong&gt;Umfang&lt;/strong&gt;: 424 Seiten&lt;br&gt;&#xA;&lt;strong&gt;ISBN&lt;/strong&gt;: 978-3-8362-8845-3&lt;br&gt;&#xA;&lt;strong&gt;Preis&lt;/strong&gt;: Euro 39,90 (in D inkl. MWSt.)&lt;/p&gt;&#xA;&lt;p&gt;Autoren: &lt;a href=&#34;https://webman.at&#34;&gt;Bernd Öggl&lt;/a&gt; &lt;a href=&#34;https://social.uibk.ac.at/@BerndOeggl&#34; aria-label=&#34;mastodon bö&#34; rel=&#34;me&#34;&gt;🐘&lt;/a&gt; und &lt;a href=&#34;https://kofler.info&#34;&gt;Michael Kofler&lt;/a&gt; &lt;a href=&#34;https://home.social/@michaelkofler&#34; aria-label=&#34;mastodon mk&#34;&gt;🐘&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.rheinwerk-verlag.de/git_4943/?GPP=kofler&#34;&gt;Buchseite beim Rheinwerk Verlag&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;English edition&lt;/strong&gt;: This book has been translated. The English edition is&#xA;available at &lt;a href=&#34;https://www.sap-press.com/git_5555/&#34;&gt;www.sap-press.com&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;inhalt&#34;&gt;Inhalt&lt;/h3&gt;&#xA;&lt;p&gt;Git gehört zum unverzichtbaren Handwerkszeug aller IT-Profis und darf in keiner&#xA;Toolbox fehlen. Dabei macht es keinen Unterschied, ob Sie Konfigurationsdateien&#xA;versionieren wollen, an Open-Source-Projekten mitarbeiten oder im Team komplexe&#xA;Anwendungen entwickeln: Git sorgt dafür, dass Sie den Überblick behalten. Daher&#xA;lernen Sie hier nicht nur, wie Sie Änderungen einchecken und fremde&#xA;Repositorien klonen, sondern erfahren, wie Git Ihnen den Arbeitsalltag leichter&#xA;macht.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker 2. Auflage</title>
      <link>https://webman.at/cms/post/docker_v2/</link>
      <pubDate>Wed, 12 Feb 2020 08:43:43 +0100</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/docker_v2/</guid>
      <description>&lt;p&gt;Auch wenn es derzeit &lt;a href=&#34;https://www.heise.de/developer/meldung/Kommentar-Docker-hat-s-vergeigt-4586232.html&#34;&gt;nicht nur positive&#xA;Entwicklungen&lt;/a&gt;&#xA;für die Firma Docker Inc. gibt, so ist die Container-Technologie doch gekommen&#xA;um zu bleiben. Lesen Sie in der 2. Auflage unseres Docker Buches unter anderem über&#xA;&lt;strong&gt;podman&lt;/strong&gt;, eine Alternative zum Docker Kommandozeilenprogramm.  Außerdem wurde&#xA;der Text und alle Beispiele für die 2. Auflage vollständig aktualisiert.&lt;/p&gt;&#xA;&lt;p&gt;Den Quellcode für alle Beispiele können Sie von&#xA;&lt;a href=&#34;https://github.com/docbuc/dockerbuch&#34;&gt;github.com/docbuc&lt;/a&gt; laden.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/images/docker_v2.png&#34; alt=&#34;Docker&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mehr zum Inhalt finden Sie auf &lt;a href=&#34;https://dockerbuch.info/&#34;&gt;Webseite zum Buch&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker</title>
      <link>https://webman.at/cms/post/2018-10-docker-buch/</link>
      <pubDate>Tue, 02 Oct 2018 20:14:47 +0200</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/post/2018-10-docker-buch/</guid>
      <description>&lt;h2 id=&#34;out-now&#34;&gt;Out now&lt;/h2&gt;&#xA;&lt;p&gt;Unser &lt;a href=&#34;https://webman.at/cms/buecher/docker&#34;&gt;Docker-Buch&lt;/a&gt; gibt es zwar schon seit über einen&#xA;Monat zu kaufen, aber bislang fehlten mir für einen Blog-Eintrag eigene Bilder&#xA;von Docker Containern. Das Wochenende in Hamburg konnte hier Abhilfe schaffen&#xA;:-)&lt;/p&gt;&#xA;&lt;p&gt;Das Buch richtet sich an Entwickler und DevOps, die die faszinierende Docker&#xA;Technologie gerne &lt;em&gt;hands-on&lt;/em&gt; ausprobieren möchten. Wir stellen viele Beispiele&#xA;vor, die weit über das Hello-World Niveau hinausgehen und einen Einblick geben&#xA;sollen, wo Docker bei der täglichen Arbeit helfen kann.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WMTS Tilestore von PNG nach JPEG konvertieren</title>
      <link>https://webman.at/cms/2018/03/wmts-tiles-von-png-nach-jpg/</link>
      <pubDate>Fri, 23 Mar 2018 09:50:31 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2018/03/wmts-tiles-von-png-nach-jpg/</guid>
      <description>&lt;p&gt;Die Karten bei &lt;a href=&#34;https://snowhow.info/map&#34;&gt;snowhow-maps&lt;/a&gt; basieren auf den Daten&#xA;von Openstreetmap und werden um Geländeinformationen ergänzt. Das Ergebnis sind&#xA;über 7 Millionen &lt;em&gt;Karten-Kacheln&lt;/em&gt; im PNG-Format für den Alpenraum, die mit&#xA;Carto-CSS und Mapnik (Kosmtik) erzeugt werden.&lt;/p&gt;&#xA;&lt;p&gt;Da wir unter anderem Felszeichnung und Schummerung in der Karte verwenden, kann&#xA;mit dem JPEG-Format bei relativ geringem Qualitätsverlust einiges an Platz&#xA;gespart werden. Um die mächtige Dateistruktur mit einem &lt;em&gt;Einzeiler&lt;/em&gt; von PNG in&#xA;JPEG zu konvertieren und dabei noch ansprechende Dateinamen zu erhalten, kann&#xA;man folgendes Kommando im Wurzelverzeichnis des Tilestore verwenden:&lt;/p&gt;</description>
    </item>
    <item>
      <title>i3 - Mein neuer Linux Desktop</title>
      <link>https://webman.at/cms/2017/11/mein-neuer-linux-desktop/</link>
      <pubDate>Thu, 23 Nov 2017 15:50:31 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2017/11/mein-neuer-linux-desktop/</guid>
      <description>&lt;p&gt;Mein Desktop-Verhalten ist sicher nicht &lt;em&gt;mehrheitsfähig&lt;/em&gt;: Die meiste Zeit&#xA;meiner Arbeit verbringe ich in Konsole-Fenstern, dann ist da noch&#xA;&lt;a href=&#34;https://www.mozilla.org/de/firefox/&#34;&gt;Firefox&lt;/a&gt; (und manchmal&#xA;&lt;a href=&#34;https://www.chromium.org/&#34;&gt;Chromium&lt;/a&gt;). Statt Thunderbird verwende ich wieder&#xA;Mutt, weil es einfach schneller geht (ein &lt;a href=&#34;https://www.rainloop.net/&#34;&gt;gutes&#xA;Web-Mail&lt;/a&gt; muss manchmal aushelfen).&#xA;&lt;a href=&#34;https://vim.sourceforge.io/&#34;&gt;Vim&lt;/a&gt; ist natürlich der beste Editor der Welt.&#xA;Für manche Projekte verwende ich aber auch &lt;a href=&#34;https://atom.io&#34;&gt;Atom&lt;/a&gt; oder &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;VSCode&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;früher--mein-hintergrund&#34;&gt;Früher &amp;ndash; mein Hintergrund&lt;/h2&gt;&#xA;&lt;p&gt;Mein erster Kontakt mit Linux reicht in das Jahr 1994 zurück (ja, da war gerade Linux kernel 1.0). Mit den Mailprogrammen &lt;code&gt;elm&lt;/code&gt; und später &lt;code&gt;pine&lt;/code&gt; vergingen die 90er Jahre, ge-chatted wurde mit Unix &lt;code&gt;talk&lt;/code&gt;. &lt;em&gt;NCSA Mosaic&lt;/em&gt; und später &lt;em&gt;Netscape Navigator&lt;/em&gt; waren sowieso grandios. Aber auch die Freude über die aufkommenden Linux Desktops war groß: KDE selbst zu kompilieren war zwar eine große Aufgabe, aber einen Desktop &lt;em&gt;wie Windows&lt;/em&gt; unter Linux zu haben war sensationell.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gitlab Docker registry</title>
      <link>https://webman.at/cms/2017/10/gitlab-docker-container-registry/</link>
      <pubDate>Sun, 01 Oct 2017 15:50:31 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2017/10/gitlab-docker-container-registry/</guid>
      <description>&lt;p&gt;Schon seit längerer Zeit verwende ich eine selbst gehostete &lt;a href=&#34;https://gitlab.com/gitlab-org/gitlab-ce/&#34;&gt;gitlab&lt;/a&gt; Instanz um meine Programmierprojekte zu verwalten. Die Features dieser OpenSource Software sind wirklich sehr beeindruckend.&lt;/p&gt;&#xA;&lt;p&gt;Bei einem closed source Projekt entstand kürzlich die Notwendigkeit &lt;a href=&#34;https://www.docker.com/&#34;&gt;docker images&lt;/a&gt; gemeinsam zu verwenden. Die in gitlab integrierte docker registry macht das ohne große Klimmzüge möglich:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker login gitlab.komplett.cc:4567&#xD;&#xA;docker docker build -t gitlab.komplett.cc:4567/meinegruppe/meinprojekt .&#xD;&#xA;docker push gitlab.komplett.cc:4567/meinegruppe/meinprojekt .&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Und schwubdiwupp ist das docker image für alle Projektbeteiligten mit dem Kommando&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPv4 1.2.3.4</title>
      <link>https://webman.at/cms/2015/08/ipv4-1-2-3-4/</link>
      <pubDate>Thu, 13 Aug 2015 17:09:31 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2015/08/ipv4-1-2-3-4/</guid>
      <description>&lt;p&gt;Als ich kürzlich die Zeilen&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Waiting for 1.2.3.4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;und dann noch&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Transferring from 1.2.3.4&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;in der Status-Zeile des Firefox Browser las wurde ich etwas unrund. Die aufgerufene Seite (&lt;a href=&#34;http://snowhow.info/&#34;&gt;http://snowhow.info&lt;/a&gt;) hatte ich selbst entwickelt und ganz sicher keinen Link auf http://1.2.3.4 eingebaut. Irgendwie schaute die Seite auch anders aus, aber nicht wesentlich. Also den Quellcode der Seite studiert und da steht es: Vor der &lt;code&gt;head&lt;/code&gt;-Anweisung hat jemand Javascript-Code aus einer anderen Domain eingeschleust:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nodejs und WordPress mit gemeinsamer Authentifizierung</title>
      <link>https://webman.at/cms/2014/11/nodejs-und-wordpress-mit-gemeinsamer-authentifizierung/</link>
      <pubDate>Wed, 05 Nov 2014 23:20:29 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/11/nodejs-und-wordpress-mit-gemeinsamer-authentifizierung/</guid>
      <description>&lt;h2 id=&#34;das-problem&#34;&gt;Das Problem&lt;/h2&gt;&#xA;&lt;p&gt;Bei &lt;a href=&#34;https://snowhow.info/&#34;&gt;snowhow&lt;/a&gt; verwenden wir &lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; als Content-Management-System. Die Benutzer-Accounts für die snowhow User werden auch in WordPress verwaltet. Warum? Das System ist sehr weit verbreitet, die User-Verwaltung sollte also ausgereift sein (ge-hashte Passwörter, Passwort per E-Mail zurücksetzen).&lt;/p&gt;&#xA;&lt;p&gt;Außerhalb von WordPress als CMS setzen wir auf &lt;a href=&#34;http://nodejs.org/&#34;&gt;Nodejs&lt;/a&gt; und &lt;a href=&#34;http://mongodb.org&#34;&gt;MongoDB&lt;/a&gt;. Die aufgezeichneten &lt;a href=&#34;http://snowhow.info/map/?tid=514c93dc2675c7e26d7719ec&#34;&gt;Freeride-Tracks&lt;/a&gt; und &lt;a href=&#34;http://snowhow.info/map/?tid=534fdcebede116444cb8c004&#34;&gt;Skitouren&lt;/a&gt; kommen als GeoJSON direkt in die MongoDB und können dort via räumlicher Suche gefunden werden, herrlich unkompliziert. Aber wie kann der Nodejs-Server (&lt;a href=&#34;http://expressjs.com/&#34;&gt;express&lt;/a&gt;) auf die Authentifizierung von WordPress zugreifen?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reverse ssh tunnel mit autossh</title>
      <link>https://webman.at/cms/2014/09/reverse-ssh-tunnel-mit-autossh/</link>
      <pubDate>Fri, 12 Sep 2014 06:15:12 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/09/reverse-ssh-tunnel-mit-autossh/</guid>
      <description>&lt;p&gt;Eigentlich ist das Port-Forwarding im Router so eingestellt, dass der Remote Zugriff auf den Heimserver problemlos funktioniert. Leider hat der Provider aber die Möglichkeit den Router neu zu initialisieren (und damit meine Forward-Regeln zu löschen) und er macht auch massiv Gebrauch davon. Zwar kann der Server dann weiterhin mit dem Internet kommunizieren (und so auch als nagios-Server andere Server überwachen), der Zugriff von außen funktioniert aber nicht mehr.&lt;/p&gt;&#xA;&lt;p&gt;Mit einem Server im Internet lässt sich dem Problem ein Schnippchen schlagen, in dem man den Heimserver anweist einen &lt;em&gt;reverse ssh tunnel&lt;/em&gt; aufzubauen. Über diesen kann man später auf das Heimnetz zugreifen und die Port-Forwarding Regeln neu einspielen. Damit der Tunnel nach der Unterbrechung durch den Provider wieder hergestellt wird hilft &lt;a href=&#34;http://www.harding.motd.ca/autossh/&#34;&gt;autossh&lt;/a&gt;. Mit folgendem Eintrag in &lt;code&gt;/etc/rc.local&lt;/code&gt; (Ubuntu Server):&lt;/p&gt;</description>
    </item>
    <item>
      <title>vsftp mit chroot für sehr eingeschränktes FTP</title>
      <link>https://webman.at/cms/2014/09/vsftp-mit-chroot-fuer-sehr-eingeschraenktes-ftp/</link>
      <pubDate>Thu, 04 Sep 2014 21:20:42 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/09/vsftp-mit-chroot-fuer-sehr-eingeschraenktes-ftp/</guid>
      <description>&lt;p&gt;Für verschiedene Dienste bekommen wir stündlich, beziehungsweise täglich Daten von unseren Partnern. Diese Systeme verwenden FTP für den Transfer, weshalb wir einen eigenen FTP-Server (vsftp) betreiben müssen. Der Zugriff wird mehrstufig abgesichert:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Firewall-Regeln, die den Dienst auf das Subnetz des Partners einschränken&lt;/li&gt;&#xA;&lt;li&gt;FTP-Zugriff auf die entsprechenden User einschränken. Dazu wird die &lt;code&gt;vsftp.conf&lt;/code&gt; um folgende Einträge ergänzt:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;userlist_deny&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;NO&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;userlist_enable&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;YES&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;userlist_file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/etc/vsftpd.user_list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das entsprechende &lt;code&gt;/etc/vsftpd.user_list&lt;/code&gt; File enthält nur die Benutzernamen der erlaubten FTP-Accounts (einer pro Zeile)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cordova/Phonegap Plugin als Android Service</title>
      <link>https://webman.at/cms/2014/07/cordova-plugin-als-android-service/</link>
      <pubDate>Wed, 30 Jul 2014 08:20:14 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/07/cordova-plugin-als-android-service/</guid>
      <description>&lt;h2 id=&#34;das-problem&#34;&gt;Das Problem&lt;/h2&gt;&#xA;&lt;p&gt;App-Entwicklung mit &lt;a href=&#34;https://cordova.apache.org/&#34;&gt;Cordova&lt;/a&gt; funktioniert großartig. Beim Aufzeichnen von GPS Tracks stößt man aber an die Grenzen der Technologie, da es keine Möglichkeit gibt, einen Prozess zu starten, der nicht automatisch vom System beendet werden kann. Dazu benötigt man ein Plugin…&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2014/07/wpid-screenshot_2014-07-30-10-13-30.png&#34;&gt;&lt;img src=&#34;https://webman.at/cms/wp-content/uploads/2014/07/wpid-screenshot_2014-07-30-10-13-30.png&#34; alt=&#34;wpid-screenshot_2014-07-30-10-13-30.png&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;ein-android-service&#34;&gt;Ein Android Service&lt;/h2&gt;&#xA;&lt;p&gt;Mit ein wenig Java Kenntnissen ist es einfach einen Hintergrund-Dienst (&lt;em&gt;Service&lt;/em&gt;) als &lt;a href=&#34;https://github.com/snowhow/cordova-plugin-gpstrack/&#34;&gt;Plugin für Cordova&lt;/a&gt; zu realisieren. Android kann den Service zwar auch beenden, startet ihn aber sofort wieder, wodurch das GPS tracking fortgesetzt wird. Einen Haken gibt es bei der Sache allerdings: Die Kommunikation zwischen Plugin und der Web-app ist schwierig. Die vorhandene Schnittstelle über den Callback-Context funkioniert (nach meinem Wissen) nicht, da der Service abgekoppelt läuft.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snapshot Backups der virtuellen Maschinen</title>
      <link>https://webman.at/cms/2014/05/snapshot-backups-der-virtuellen-maschinen/</link>
      <pubDate>Thu, 15 May 2014 20:49:54 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/05/snapshot-backups-der-virtuellen-maschinen/</guid>
      <description>&lt;p&gt;Nach dem letzten Crash bin ich dazu übergegangen die virtuellen Maschinen jede Nacht per lvm-snapshot mit lzop komprimiert zu sichern. Eine separat eingebaute Festplatte (&lt;code&gt;/mnt/backup&lt;/code&gt;) hält diese backups. Das ultra-kurze Skript dazu sieht so aus:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LVMS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;snowhow komplett root&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VG&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;vg0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BUP_DST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/mnt/backup/snapshot_vms&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;NICE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;15&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VERBOSE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## cron needs full path to commands&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LVCR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/sbin/lvcreate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LVRM&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/sbin/lvremove&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LVS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/sbin/lvs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VIRSH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/virsh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;getopts&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;:vl:&amp;#34;&lt;/span&gt; opt&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$opt&lt;/span&gt; in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    v&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nv&#34;&gt;VERBOSE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    l&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nv&#34;&gt;LVMS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$OPTARG&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;esac&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;function&lt;/span&gt; doBackup &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  logger -t SNAPSHOT_BACKUP &lt;span class=&#34;s2&#34;&gt;&amp;#34;starting backup for &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -f &lt;span class=&#34;nv&#34;&gt;$BUP_DST&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;-snap.lzo &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    mv &lt;span class=&#34;nv&#34;&gt;$BUP_DST&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;-snap.lzo &lt;span class=&#34;nv&#34;&gt;$BUP_DST&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;-snap.lzo.old&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$VIRSH&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;suspend&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$LVCR&lt;/span&gt; -L1G -s -n &lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;-snap /dev/&lt;span class=&#34;nv&#34;&gt;$VG&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$VIRSH&lt;/span&gt; resume &lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$VERBOSE&lt;/span&gt; -eq &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$LVS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;SIZE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LVS&lt;/span&gt; --nosuffix --units b -o lv_size --rows --separator &lt;span class=&#34;s1&#34;&gt;&amp;#39;:&amp;#39;&lt;/span&gt; /dev/&lt;span class=&#34;nv&#34;&gt;$VG&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; cut -d&lt;span class=&#34;s1&#34;&gt;&amp;#39;:&amp;#39;&lt;/span&gt; -f2&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$SIZE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    nice -n &lt;span class=&#34;nv&#34;&gt;$NICE&lt;/span&gt; bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;dd if=/dev/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$VG&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-snap bs=4M | pv -s &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$SIZE&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; | lzop -c | dd of=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$BUP_DST&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-snap.lzo bs=4M&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$LVS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    nice -n &lt;span class=&#34;m&#34;&gt;15&lt;/span&gt; bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;dd if=/dev/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$VG&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-snap bs=4M | lzop -c | dd of=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$BUP_DST&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-snap.lzo bs=4M&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$LVRM&lt;/span&gt; -f /dev/&lt;span class=&#34;nv&#34;&gt;$VG&lt;/span&gt;/&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;-snap&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  logger -t SNAPSHOT_BACKUP &lt;span class=&#34;s2&#34;&gt;&amp;#34;done backup for &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LV&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; i in &lt;span class=&#34;nv&#34;&gt;$LVMS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;LV&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  doBackup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die Parameter funktionieren folgendermaßen: Wird der &lt;code&gt;-l&lt;/code&gt; switch angegeben, so werden die &lt;em&gt;default&lt;/em&gt; Logical Volumes &lt;code&gt;snowhow komplett root&lt;/code&gt; überschrieben. Mit &lt;code&gt;-v&lt;/code&gt; gibt es eine graphische Ausgabe des Fortschritts. Damit die VM im &lt;em&gt;suspend&lt;/em&gt; Modus gesichert werden kann, muss die KVM Instanz den gleichen Namen haben wie das LV auf dem sie liegt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapnik tiles für einen Ausschnitt neu erzeugen</title>
      <link>https://webman.at/cms/2014/02/mapnik-tiles-fuer-einen-ausschnitt-neu-erzeugen/</link>
      <pubDate>Thu, 06 Feb 2014 13:37:32 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2014/02/mapnik-tiles-fuer-einen-ausschnitt-neu-erzeugen/</guid>
      <description>&lt;p&gt;Unsere &lt;a href=&#34;http://snowhow.info/cms/snowhow-map/&#34;&gt;Basiskarte&lt;/a&gt; wird laufend um Informationen ergänzt (zum Beispiel ein Shapefile mit Skipisten). Nach einer solchen Ergänzung soll nicht der gesamte Karten-Cache (mod_tile/renderd) neu gerechnet werden, sondern nur der Ausschnitt in dem Veränderungen stattgefunden haben.&lt;/p&gt;&#xA;&lt;h2 id=&#34;lösung&#34;&gt;Lösung&lt;/h2&gt;&#xA;&lt;p&gt;Drei Schritte um die Kartenkacheln neu zu erzeugen:&lt;/p&gt;&#xA;&lt;h3 id=&#34;extent-des-shapefiles-ermitteln&#34;&gt;Extent des Shapefiles ermitteln&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ogrinfo -geom&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;SUMMARY pp.shp pp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Extent: &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;11.015149, 46.848712&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; - &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;11.085476, 46.911385&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;liste-der-tiles-für-diesen-ausschnitt-erzeugen&#34;&gt;Liste der Tiles für diesen Ausschnitt erzeugen&lt;/h3&gt;&#xA;&lt;p&gt;Die maximale Zoomstufe meiner Karte ist 17. Jetzt nur noch die Bounding Box des Shapefiles angeben und die gewünschte Ausgabe (nach grep und awk) in eine Datei umleiten.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP requests aus Javascript auf der Entwicklermaschine</title>
      <link>https://webman.at/cms/2013/10/http-requests-aus-javascript/</link>
      <pubDate>Wed, 09 Oct 2013 16:48:53 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/10/http-requests-aus-javascript/</guid>
      <description>&lt;p&gt;Ein Problem, das vermutlich mehrere Entwickler haben, die in einer Web-Applikation mit Javascript auf ein backend zugreifen: Entwicklet wird auf der lokalen Maschine, das backend liegt (zum Entwickeln) auf einem anderen Server.&lt;/p&gt;&#xA;&lt;p&gt;Browser lassen HTTP-Requests in Javascript von &lt;code&gt;localhost&lt;/code&gt; auf eine andere Domain nicht zu (hier gilt die &lt;a href=&#34;https://de.wikipedia.org/wiki/Same-Origin-Policy&#34;&gt;same origin policy&lt;/a&gt;). Auf den Seiten des &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS&#34;&gt;Mozilla Developer Network&lt;/a&gt; wird sehr übersichtlich erklärt, wie man diese Einschränkung sicher umgehen kann. Da wir im content der requests &lt;em&gt;json&lt;/em&gt; verschicken müssten unsere Zugriffe recht aufwändig als &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS#Preflighted_requests&#34;&gt;preflighted requests&lt;/a&gt; behandelt werden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSMAnd-App</title>
      <link>https://webman.at/cms/2013/08/eigene-kartenebenen-in-osmand/</link>
      <pubDate>Wed, 07 Aug 2013 16:33:47 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/08/eigene-kartenebenen-in-osmand/</guid>
      <description>&lt;p&gt;Die tolle &lt;a href=&#34;https://play.google.com/store/apps/details?id=net.osmand&#34;&gt;OSMAnd-App für Android&lt;/a&gt; bietet ein reichhaltiges Set von Funktionen für mobile Kartenanwendungen. Unter anderem ist es auch möglich, eigene Tile-Layer einzubinden.&lt;/p&gt;&#xA;&lt;p&gt;Hier die einfache Variante für Tiles vom mapnik Server: Im Verzeichnis &lt;code&gt;/sdcard/osmand/tiles&lt;/code&gt; einen Ordner anlegen (hier &lt;code&gt;snowhow&lt;/code&gt;). In diesem Ordner die Datei &lt;code&gt;.metainfo&lt;/code&gt; mit folgendem Inhalt erzeugen:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;shell@android:/sdcard/osmand/tiles/snowhow $ cat .metainfo                     &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;url_template&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://mein.tileserver.com/osm/&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;0&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;/&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;1&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;/&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;2&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;.png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;.png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;min_zoom&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;max_zoom&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;17&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;tile_size&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;256&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;img_density&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;8&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;avg_img_size&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;18000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Und wenn die Tiles im TMS-Format vorliegen (also mit umgedrehter y-Achse), auch kein Problem:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server-backup mit duplicity auf Amazon S3</title>
      <link>https://webman.at/cms/2013/07/server-backup-mit-duplicity-auf-amazon-s3/</link>
      <pubDate>Fri, 19 Jul 2013 17:32:33 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/07/server-backup-mit-duplicity-auf-amazon-s3/</guid>
      <description>&lt;p&gt;Das Backup für PCs und Laptops macht &lt;a href=&#34;https://komplett.cc/cms/2012/05/backuppc-zum-sichern-von-desktops/&#34; title=&#34;Backuppc zum Sichern von Desktops&#34;&gt;Backuppc sehr fein&lt;/a&gt;, aber für die Root-Server braucht es eine andere Lösung.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://duplicity.nongnu.org/&#34;&gt;Duplicity&lt;/a&gt; macht gpg-verschlüsselte Backups und unterstützt die unterschiedlichsten Endpunkte wie ftp, rsync, scp, ssh, webdav[s] und auch Amazon S3. Hier mein Mini-Bash-Skript mit dem ich meine Server dorthin sichere:&lt;/p&gt;&#xA;&lt;pre class=&#34;brush: bash; auto-links: false; title: ; notranslate&#34; title=&#34;&#34;&gt;#!/bin/bash&#xD;&#xA;&#xD;&#xA;BDIRS=&#34;/etc /home /&#34;&#xD;&#xA;LOGDIR=&#39;/var/log/duplicity&#39;&#xD;&#xA;BAC=&#34;s3+http://ihr_bucket_name.s3.amazonaws.com&#34;&#xD;&#xA;# symmetrische verschluesselung fuer gpg&#xD;&#xA;export PASSPHRASE=&#39;einelangeschwierigepassphrase&#39;&#xD;&#xA;export AWS_SECRET_ACCESS_KEY=&#34;amazon_aws_secret_access_key&#34;&#xD;&#xA;export AWS_ACCESS_KEY_ID=&#34;amazon_aws_access_key&#34;&#xD;&#xA;##### end of config ##########&#xD;&#xA;&#xD;&#xA;BCLIENT=$(hostname);&#xD;&#xA;for FULL_DIR in $BDIRS&#xD;&#xA;do&#xD;&#xA;  DIR=$(basename $FULL_DIR)&#xD;&#xA;  if [ $DIR == &#34;/&#34; ]&#xD;&#xA;  then&#xD;&#xA;    DIR=&#34;root&#34;&#xD;&#xA;  fi&#xD;&#xA;  EXCLUDELIST=&#34;/usr/local/etc/duplicity-exclude-$DIR.conf&#34;&#xD;&#xA;  if [ -f $EXCLUDELIST ]; then&#xD;&#xA;    EXCLUDE=&#34;--exclude-filelist $EXCLUDELIST&#34;&#xD;&#xA;  else&#xD;&#xA;    EXCLUDE=&#39;&#39;&#xD;&#xA;  fi&#xD;&#xA;  duplicity remove-older-than 60D -v3 --force $BAC/$BCLIENT_$DIR &amp;gt;&amp;gt; $LOGDIR/$DIR.log&#xD;&#xA;  duplicity --full-if-older-than 30D -v3 $EXCLUDE $FULL_DIR $BAC/$BCLIENT-$DIR &#xD;&#xA;    &amp;gt;&amp;gt; $LOGDIR/$DIR.log&#xD;&#xA;done&#xD;&#xA;&#xD;&#xA;export PASSPHRASE=&#34;&#34;&#xD;&#xA;export AWS_SECRET_ACCESS_KEY=&#34;&#34;&#xD;&#xA;export AWS_ACCESS_KEY_ID=&#34;&#34;&#xD;&#xA;&#xD;&#xA;exit 0&#xD;&#xA;&lt;/pre&gt;&#xA;&lt;p&gt;Das Skript entstand in Anlehnung an ein &lt;a href=&#34;http://wiki.hetzner.de/index.php/Duplicity_Script&#34;&gt;Backup-Skript von Hetzner&lt;/a&gt;, wobei ich es noch weiter vereinfacht und auf S3 umgestellt habe. Backups werden 60 Tage aufbewahrt, wobei alle 30 Tage ein volles Backup gemacht wird. In den Zeilen 3 bis 9 sind die entsprechenden Anpassungen zu machen. Aufgerufen wird das Skript jede Nacht von cron:&lt;/p&gt;</description>
    </item>
    <item>
      <title>No space left on device?</title>
      <link>https://webman.at/cms/2013/07/no-space-left-on-device/</link>
      <pubDate>Thu, 11 Jul 2013 08:07:38 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/07/no-space-left-on-device/</guid>
      <description>&lt;p&gt;Nachdem der Server eigenartige Verhaltensweisen an den Tag legte und im syslog die Meldung „&lt;code&gt;No space left on device&lt;/code&gt;“ erschien, war ich einigermaßen verwundert: Immerhin zeigte &lt;code&gt;df&lt;/code&gt; an, dass alle relevanten Partitionen mehr als 50% freien Speicher haben. Ein Lesefehler auf der (virtuellen) Festplatte? Glücklicherweise nicht. Das Kommando&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tune2fs -l /dev/mapper/vg0-var&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;brachte die entscheidende Information ans Licht:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Filesystem OS type:       Linux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Inode count:              &lt;span class=&#34;m&#34;&gt;10076160&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Block count:              &lt;span class=&#34;m&#34;&gt;40296448&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Reserved block count:     &lt;span class=&#34;m&#34;&gt;2014822&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Free blocks:              &lt;span class=&#34;m&#34;&gt;12087119&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Free inodes:              &lt;span class=&#34;m&#34;&gt;9&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;First block:              &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Block size:               &lt;span class=&#34;m&#34;&gt;4096&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Free inodes 9. Das habe ich auch noch nicht erlebt, dass auf einer Linux (&lt;code&gt;ext4&lt;/code&gt;) Partition die inodes ausgehen, aber natürlich kommt das nicht von ungefähr: Das Erstellen der Karten-Kacheln für den ganzen Alpenraum erzeugte die vielen Dateien.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSD – Super Speed Disk</title>
      <link>https://webman.at/cms/2013/07/ssd-super-speed-disk/</link>
      <pubDate>Thu, 04 Jul 2013 18:48:28 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/07/ssd-super-speed-disk/</guid>
      <description>&lt;p&gt;Ja, ich weiß, das ist inzwischen ein alter Hut, aber auch mir hing die Kinnlade herunter und die Augen starrten ungläubig auf den Laptop: Boot in 5 Sekunden (mit Apache/MongoDB/MySQL) und Firefox-Start in unter einer Sekunde.&lt;/p&gt;&#xA;&lt;h2 id=&#34;hardware-upgrade&#34;&gt;Hardware-Upgrade&lt;/h2&gt;&#xA;&lt;p&gt;Nach langem Zögern wurde jetzt doch investiert: Der Dell-Laptop L502x (Core i5-2410M) mit 4GB Ram bekommt eine Samsung-SSD und wird auf den maximalen Arbeitsspeicher von 8GB aufgerüstet. Rund 150 EUR kostet die Hardware dafür und der Unterschied ist wie eingangs beschrieben, unbeschreiblich. Einige Hinweise in Foren, dass das Austauschen der Festplatte bei diesem Modell besonders schwierig sei und nur von Fachpersonal durchgefürht werden sollte, hielt mich einige Zeit von dem Upgrade ab, im Nachhinein völlig zu unrecht. Das Abnehmen der Tastatur gelingt auch dem durchschittlichen Heimwerker in wenigen Minuten ohne Hardware-Schäden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Von jqplot Diagrammen zu einer PDF Datei</title>
      <link>https://webman.at/cms/2013/05/von-jqplot-diagrammen-zu-einer-pdf-datei/</link>
      <pubDate>Tue, 14 May 2013 22:36:35 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/05/von-jqplot-diagrammen-zu-einer-pdf-datei/</guid>
      <description>&lt;p&gt;ich sags gleich, ein steiniger Weg.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-anforderung&#34;&gt;Die Anforderung&lt;/h2&gt;&#xA;&lt;p&gt;Zum Zweck der analogen Archivierung musste ich für ein aktuelles Projekt&#xA;(&lt;a href=&#34;http://ches.at/&#34;&gt;CHES&lt;/a&gt;) eine moderne HTML-Seite (mit mehreren Canvas-Elementen) in eine&#xA;druckbare Form bringen. Mit CSS-Anweisungen ist es mir nicht gelungen, nur in&#xA;zwei modernen Browsern ein halbwegs vergleichbares Layout zu Papier zu bringen.&#xA;Mit viel Javascript ging es eher in diese Richtung, aber im dritten Browser war&#xA;dann auch da wieder alles anders.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Datentransfer mit rsync, openssh und cyanogenmod am Galaxy Nexus</title>
      <link>https://webman.at/cms/2013/04/datentransfer-mit-rsync-openssh-und-cyanogenmod-am-galaxy-nexus/</link>
      <pubDate>Sun, 21 Apr 2013 15:39:53 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/04/datentransfer-mit-rsync-openssh-und-cyanogenmod-am-galaxy-nexus/</guid>
      <description>&lt;h2 id=&#34;datentransfer&#34;&gt;Datentransfer&lt;/h2&gt;&#xA;&lt;p&gt;Um unter Linux Dateien auf das Galaxy Nexus zu kopieren gibt es leider keine einfache und performante Lösung. Mit &lt;a href=&#34;http://airdroid.com&#34;&gt;Airdroid&lt;/a&gt; kann man wunderbar ein, zwei Dateien hin und her kopieren, der Transfer läuft über das Wlan, was von haus aus schon eine Geschwindigkeitsbeschränkung mit sich bringt. Alle meine Versuche mit mtp (auch unter Ubuntu 13.04) brachen regelmäßig ab und waren auch nicht von hohen Geschwindigkeiten gekennzeichnet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cyanogenmod-openssh-rsync&#34;&gt;cyanogenmod, openssh, rsync&lt;/h2&gt;&#xA;&lt;p&gt;Ganz anders verhält es sich mit rsync über ssh, getunnelt durch adb via USB. Hier erreicht man wirklich sehr zufriedenstellende Transferraten (für große Dateien lesend 15 MB/s). Eine ausführliche Anleitung dazu gibt es bei &lt;a href=&#34;http://alainwolf.ch/en/tech-talk/ssh-cyanogenmod/&#34;&gt;alainwolf.ch&lt;/a&gt;. Hier eine Kurzfassung, wie ich den Kopiervorgang starte. Voraussetzungen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaflet Vektor Layer mit PostGIS</title>
      <link>https://webman.at/cms/2013/04/leaflet-vektor-layer-mit-postgis/</link>
      <pubDate>Fri, 19 Apr 2013 09:20:22 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/04/leaflet-vektor-layer-mit-postgis/</guid>
      <description>&lt;p&gt;In der &lt;a href=&#34;http://viel-falter.at/cms/karte/&#34;&gt;Karte&lt;/a&gt; im &lt;a href=&#34;https://komplett.cc/cms/viel-falter/&#34; title=&#34;viel-falter&#34;&gt;Viel-Falter&lt;/a&gt; Projekt sollte zu den gekachelten Rasterlayern ein weiterer Layer mit der Biotop-Kartierung von Tirol dazukommen. Da die gesamte Vektor-Geometrie mit über 200 MB im GeoJSON Format zu Buche schlägt, muss der Datensatz auf die Ausmaße aktuellen Ansicht (BoundingBox) eingeschränkt werden. Einigermaßen überrascht stellte ich fest, dass es hierzu (fast) keine fertige Lösung gibt. Hier mein Weg:&lt;/p&gt;&#xA;&lt;h2 id=&#34;postgis&#34;&gt;PostGIS&lt;/h2&gt;&#xA;&lt;p&gt;Da der Vektordatensatz aus vielen kleinen Polygonen besteht eignet er sich wunderbar für Einschränkungen anhand der aktuellen BoundingBox. Postgresql in Kombination mit PostGIS macht diese Berechnungen sehr einfach und mit einem räumlichen Index auch sehr schnell. Also war der erste Schritt den Vektordatensatz im Shapefile Format in die Postgresql Datenbank zu importieren.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Das Galaxy Nexus will nicht schlafen</title>
      <link>https://webman.at/cms/2013/03/das-galaxy-nexus-will-nicht-schlafen/</link>
      <pubDate>Sun, 31 Mar 2013 16:50:52 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/03/das-galaxy-nexus-will-nicht-schlafen/</guid>
      <description>&lt;h2 id=&#34;das-gn&#34;&gt;Das GN&lt;/h2&gt;&#xA;&lt;p&gt;Das Galaxy Nexus ist das coolste Smartphone das ich bisher hatte, was bei meinem zweijährigen Neukaufzyklus nicht weiter verwunderlich ist. Seit fast einem Jahr verwende ich es jetzt schon und bin immer noch sehr zufrieden: Es ist superdünn, hat ein großes Display und einen schnellen Prozessor. Mit cyanogenmod 10.1 experimental ist man auch mit der nicht mehr ganz akutellen Hardware softwaremäßig immer noch am Puls der Zeit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;schlaflosigkeit&#34;&gt;Schlaflosigkeit&lt;/h2&gt;&#xA;&lt;p&gt;Doch seit einigen Tagen schaltete sich das Display des tollen Geräts immer wieder ungefragt ein und leerte so den Akku in weniger als der halben Zeit als gewohnt. Auch sonst zeigte mein Handy einige merkwürdige Verhaltensweisen, die ich nicht reproduzieren konnte. Jetzt habe ich das Gerät wirklich nicht sehr geschont und es wurde auch ab und zu einer gewissen Feuchtigkeit ausgesetzt. Deshalb war meine erste Vermutung, dass es sich um einen feuchtigkeitsbedingten Hardware Defekt handelt. Wie so oft, wurde ich von google eines besseren belehrt, denn &lt;a href=&#34;http://www.google.com/search?hl=en&amp;amp;q=galaxy+nexus+turning+on+itself&#34;&gt;das Problem&lt;/a&gt; ist weit verbreitet und was noch viel erfreulicher ist: es lässt sich in wenigen Sekunden beheben (zumindest in meinem Fall):&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2013/04/gn_usb.jpg&#34;&gt;&lt;img class=&#34;size-full wp-image-536 alignnone&#34; alt=&#34;gn_usb&#34; src=&#34;https://webman.at/cms/wp-content/uploads/2013/04/gn_usb.jpg&#34; /&gt;&lt;/a&gt; Der USB Anschluss wurde beim (schlampigen) Anstecken des Ladekabels wohl ganz leicht verbogen, auf jeden Fall reichte es den Abstand zwischen der sehr feinen Zunge (im Foto in der Mitte unten) und dem unteren Rand mit einem Zahnstocher etwas zu vergrößern. Ich hatte dazu den Akku entfernt und war &lt;em&gt;sehr&lt;/em&gt; vorsichtig 😉&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unity Application switcher</title>
      <link>https://webman.at/cms/2013/03/unity-application-switcher/</link>
      <pubDate>Wed, 27 Mar 2013 11:01:23 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/03/unity-application-switcher/</guid>
      <description>&lt;p&gt;Nach langem hin und her bin ich jetzt (Ubuntu 13.04 beta) doch auch bei der Ubuntu Unity Oberfläche gelandet, denn unter xfce (xubuntu) gab es auch so manches Problemchen (ich sag nur Sound, Netzwerkmanager, …). Einige Sachen sind gewöhnungsbedürftig, aber was gar nicht geht ist der Unity-application-switcher. Die &lt;strong&gt;ALT-TAB&lt;/strong&gt; Kombination wurde in ihrem Verhalten verändert, worauf ich mich trotz gutem Willen nicht umstellen kann.&lt;/p&gt;&#xA;&lt;p&gt;Glücklicherweise kann das relativ einfach geändert werden (siehe &lt;a href=&#34;http://askubuntu.com/a/68880&#34;&gt;askubuntu&lt;/a&gt; ). Was in der default Installation von Ubuntu allerdings fehlte war das Paket compiz-plugins, das die rettende Option „Static Application Switcher“ enthält. Also &lt;strong&gt;apt-get install compiz-plugins&lt;/strong&gt; und (fast) alles wird gut.&lt;/p&gt;</description>
    </item>
    <item>
      <title>E-Mails von /var/mail nach ~/Maildir</title>
      <link>https://webman.at/cms/2013/01/e-mails-von-varmail-nach-maildir/</link>
      <pubDate>Fri, 04 Jan 2013 16:15:03 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/01/e-mails-von-varmail-nach-maildir/</guid>
      <description>&lt;p&gt;Eigentlich speichere ich meine E-Mails in &lt;code&gt;$HOME/Maildir&lt;/code&gt; im Maildir Format. Durch eine Fehlkonfiguration im MTA kann es aber passieren, dass die E-Mails in &lt;code&gt;/var/mail/&amp;lt;username&amp;gt;&lt;/code&gt; landen. Um diesen Fehler für alle Benutzer am System nachträglich zu korrigieren reicht der Einzeiler:&lt;/p&gt;&#xA;&lt;pre class=&#34;brush: bash; title: ; notranslate&#34; title=&#34;&#34;&gt;for i in /var/mail/* ; do formail -s procmail -d ${i##*/} &amp;lt; $i ; done&#xD;&#xA;&lt;/pre&gt;&#xA;&lt;p&gt;Dazu muss natürlich das &lt;strong&gt;procmail&lt;/strong&gt; Paket installiert sein und die entsprechenden procmail-Regeln entweder im Benutzerverzeichnis als &lt;code&gt;~/.procmailrc&lt;/code&gt; oder in &lt;code&gt;/etc/procmailrc&lt;/code&gt; liegen. Hier ein Beispiel:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server-Migration</title>
      <link>https://webman.at/cms/2013/01/server-migration/</link>
      <pubDate>Fri, 04 Jan 2013 15:00:24 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2013/01/server-migration/</guid>
      <description>&lt;p&gt;Es hat sich so ergeben, dass ich circa alle zwei Jahre meine Server auf neue Hardware verlege. Bei den gemieteten root-servern kommen dabei immer neue IP-Adressen ins Spiel. Da das Update der DNS-Einträge ein wenig zeitversetzt geschieht und das den Zeitpunkt der Umstellung nicht ganz genau planen lässt, ist es günstig alle Anfragen von der alten IP-Adresse auf die neue umzuleiten. Mit iptables ist das sehr einfach, hier das Skript, das nicht nur Webanfragen, sondern auch Mailserver (SMTP und IMAP/POP) umleitet. Das Skript muss am alten Server ausgeführt werden, wobei 10.0.0.1 hier die IP-Adresse des neuen Servers ist.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xfce und xfrun</title>
      <link>https://webman.at/cms/2012/10/xfce-und-xfrun/</link>
      <pubDate>Fri, 19 Oct 2012 08:29:06 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/10/xfce-und-xfrun/</guid>
      <description>&lt;p&gt;Die merkwürdigen Userinterface Änderungen der letzten Ubuntu Versionen (Unity) haben mich bereits vor geraumer Zeit bewogen, auf Xfce als Desktop System umzusteigen. Ich bin äußerst zufrieden, da es eigentlich alles beinhaltet, was ich am Desktop benötige. Leider gibt es in der aktuellen Version (Xfce 4.10 in Ubuntu 12.10) ein Problem mit dem Programm-Starter &lt;code&gt;xfrun4&lt;/code&gt; (das jetzt &lt;code&gt;xfce4-appfinder&lt;/code&gt; heißt und IMO etwas überladen ist), der über &lt;code&gt;ALT-F2&lt;/code&gt; aufgerufen wird (mehrere Bugreports, zum Beispiel &lt;a href=&#34;https://bugs.launchpad.net/ubuntu/+source/xfce4-appfinder/+bug/1058814&#34;&gt;hier&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Digitab ChangeLog</title>
      <link>https://webman.at/cms/projekte/digitab/changelog/</link>
      <pubDate>Thu, 06 Sep 2012 12:12:08 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/digitab/changelog/</guid>
      <description>&lt;h4 id=&#34;version-130-7-juni-2016&#34;&gt;Version 1.3.0, 7. Juni 2016&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Anpassungen für Android 5 und Android 6 (Speicherpfad)&lt;/li&gt;&#xA;&lt;li&gt;KML Unterstützung für zusätzliche Vektor Dateien&lt;/li&gt;&#xA;&lt;li&gt;kleine Bugfixes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;version-127-1-august-2013&#34;&gt;Version 1.2.7, 1. August 2013&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Änderung des Speicherpfades funktioniert ohne Neustart&lt;/li&gt;&#xA;&lt;li&gt;TMS-Layer können auch im Google Format (verkehrte y-Achse) offline verwendet werden&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;version-126-14-mai-2013&#34;&gt;Version 1.2.6, 14. Mai 2013&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vektor-Layer werden nicht standardmäßig angezeigt&lt;/li&gt;&#xA;&lt;li&gt;kleinere Bugfixes zur Positionsbestimmung&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;version-125-6-september-2012&#34;&gt;Version 1.2.5, 6. September 2012&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;neue Launcher-Icons&lt;/li&gt;&#xA;&lt;li&gt;GPS: Feedback bei Positionsbestimmung (Vibration und &lt;em&gt;loading-Icon&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;version-124-1-august-2012&#34;&gt;Version 1.2.4, 1. August 2012&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Unterstützung für das Global Mapper XML-Fileformat&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;version-123-31-juli-2012&#34;&gt;Version 1.2.3, 31. Juli 2012&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hilfe Funktion in der App&lt;/li&gt;&#xA;&lt;li&gt;Möglichkeit beliebige CSV-Dateien einzubinden&lt;/li&gt;&#xA;&lt;li&gt;Bugfixes und Erweiterung bei der Verwendung von Liniengeometrien (Layer)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>/var auf eine andere Partition linken</title>
      <link>https://webman.at/cms/2012/09/var-auf-eine-andere-partition-linken/</link>
      <pubDate>Thu, 06 Sep 2012 11:10:50 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/09/var-auf-eine-andere-partition-linken/</guid>
      <description>&lt;h4 id=&#34;das-problem-kein-platz-mehr-auf-var&#34;&gt;Das Problem: Kein Platz mehr auf /var&lt;/h4&gt;&#xA;&lt;p&gt;Es ist also wieder einmal passiert: Der Heimserver, der eigentlich nie für große Datenbank-Arbeiten gedacht war schlägt sich tapfer als &lt;em&gt;Tileserver&lt;/em&gt; für Openstreetmap Karten. Nachdem das bei der Installation nicht abzusehen war, habe ich &lt;code&gt;/var&lt;/code&gt; nicht auf eine eigene Partition gelegt und die root-Partition ist jetzt natürlich voll.&lt;/p&gt;&#xA;&lt;p&gt;Jetzt könnte man ein bestehendes Logical Volume verkleinern (zuvor natürlich auch das unterliegende Filesystem) und den neu freigegebenen Platz für ein neues LV verwenden und dieses dann unter &lt;code&gt;/var&lt;/code&gt; mounten. Der &lt;em&gt;Quick-and-dirty-workaround&lt;/em&gt; ist &lt;code&gt;/var&lt;/code&gt; einfach auf eine bestehende Partition zu verschieben und dann zu verlinken (softlink). Gesagt, getan, nur apparmor, der Sicherheitsdienst von Ubuntu-Linux ist damit nicht ganz einverstanden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kontaktdaten von Telefonnummern aus dem eigenen Adressbuch</title>
      <link>https://webman.at/cms/2012/08/kontaktdaten-von-telefonnummern-aus-dem-eigenen-adressbuch/</link>
      <pubDate>Thu, 30 Aug 2012 23:11:23 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/08/kontaktdaten-von-telefonnummern-aus-dem-eigenen-adressbuch/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring2a.png&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-414&#34; title=&#34;SMS vom Mobilfunk Provide&#34; src=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring2a-300x187.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;Bei manchen Mobilfunk-Anbietern in Österreich bekommt man eine SMS, wenn jemand versucht hat anzurufen und man selbst gerade nicht erreichbar war. Die SMS schaut dann so ähnlich aus wie der erste Screenshot.&lt;/p&gt;&#xA;&lt;p&gt;Aus technischen Gründen kann in der SMS nur die Nummer, nicht aber der Name des Anrufers aus meinem Telfonbuch stehen. Das wäre aber gerade recht spannend, denn ich kann mir leider nicht alle Namen zu den Nummern in meinem Adressbuch merken (dann wäre das Adressbuch ja auch umsonst). Um das so unkompliziert wie möglich zu lösen, habe ich eine winzige App geschrieben, die als Eingabe den Text der SMS nimmt und die dort enthaltenen Nummern im Adressbuch auflöst. Super simpel.&lt;br&gt;&#xA;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring1.png&#34;&gt;&lt;img class=&#34;alignnone  wp-image-402&#34; title=&#34;Suche Telefonnummern im Text und schau im Adressbuch nach&#34; src=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring1-576x1024.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring3.png&#34;&gt;&lt;img class=&#34; wp-image-407 alignright&#34; title=&#34;Kontakte von Nummern&#34; src=&#34;https://webman.at/cms/wp-content/uploads/2012/08/contactfromstring3-576x1024.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>owncloud upgrade</title>
      <link>https://webman.at/cms/2012/08/owncloud-upgrade/</link>
      <pubDate>Mon, 20 Aug 2012 09:30:38 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/08/owncloud-upgrade/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://owncloud.org/&#34;&gt;Owncloud&lt;/a&gt; finde ich ein spannendes Projekt, hauptsächlich wegen der Möglichkeit von unterschiedlichen Geräten und mit unterschiedlichen Personen Daten auszutauschen. Für Kalender und Adressen verwende ich andere Systeme. (&lt;strong&gt;Update Aug. 2013:&lt;/strong&gt; Jetzt werden auch der Kalender und die Kontakte von owncloud verwaltet).&lt;/p&gt;&#xA;&lt;p&gt;Installation und upgrade ist eigentlich ganz einfach, dazu gibt es genügend Anleitungen im Netz (&lt;a href=&#34;http://owncloud.org/support/install/&#34;&gt;owncloud Installation&lt;/a&gt;). Zum Upgrade reicht es, das neue Archiv über das alte zu entpacken, Konfigurationsdateien und Daten werden dabei nicht verändert. Hat man jedoch nach der Installation das owncloud Verzeichnis umbenannt, benötigt man einen speziellen switch beim entpacken des Archivs:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mongoimport von CSV Dateien mit X/Y Koordinaten</title>
      <link>https://webman.at/cms/2012/08/mongoimport-von-csv-dateien-mit-xy-koordinaten/</link>
      <pubDate>Thu, 16 Aug 2012 17:29:49 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/08/mongoimport-von-csv-dateien-mit-xy-koordinaten/</guid>
      <description>&lt;p&gt;Die Daten von &lt;a href=&#34;http://geonames.org/&#34;&gt;Geonames&lt;/a&gt; können in einem wunderbaren CSV-Format länderweise heruntergeladen werden. Der Import der Daten in mongo ist wirklich einfach. Zuerst benötigen wir eine Header-Datei, in der die Spalten definiert sind (siehe dazu das entsprechende &lt;a href=&#34;http://download.geonames.org/export/dump/readme.txt&#34;&gt;readme&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat header.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;id&#x9;name&#x9;asciiname&#x9;alternatenames&#x9;latitude&#x9;longitude&#x9;featureclass&#x9;featurecode&#x9;countrycode&#x9;cc2&#x9;admin1&#x9;admin2&#x9;admin3&#x9;admin4&#x9;population&#x9;elevation&#x9;dem&#x9;timezone&#x9;modification&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die Felder müssen natürlich mit Tabulatoren getrennt sein, wie in der von mir heruntergeladenen AT.txt Datei mit den Geonames Einträgen für Österreich. Anschließend den Header und die Daten zusammen kopieren und mit &lt;code&gt;mongoimport&lt;/code&gt; in die Datenbank einspielen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DigiTab Version 1.2.1</title>
      <link>https://webman.at/cms/2012/07/digitab-version-1-2-1/</link>
      <pubDate>Fri, 27 Jul 2012 16:57:35 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/07/digitab-version-1-2-1/</guid>
      <description>&lt;p&gt;Digitab ist eine App für Android Tablet-PCs (und große Smartphones) zum digitalisieren von geometrischen Formen. Zu den Funktionen von DigiTab zählt unter anderem:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Digitalisieren von Geometrie und speichern im GML-Format&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Cloud-Speicher&lt;/em&gt; auf komplett.cc wo GML auch gleichzeit in das Shapefile Format konvertiert wird&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;intelligentes&lt;/em&gt; Autovervollständigen für ihre thematischen Informationen (Grundlagen als CSV)&lt;/li&gt;&#xA;&lt;li&gt;Online Karten: OpenStreetMap, Bing-Maps (auf Wunsch weitere)&lt;/li&gt;&#xA;&lt;li&gt;Offline Karten: Raster auf dem Device-Speicher im TMS-Format, Vektoren im GML-Format&lt;/li&gt;&#xA;&lt;li&gt;CSV-Export der thematischen Daten&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Finden Sie alle Informationen zur App auf der &lt;a href=&#34;https://webman.at/cms/digitab/&#34;&gt;eigenen Seite dazu&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DigiTab Screenshots</title>
      <link>https://webman.at/cms/projekte/digitab/screenshots/</link>
      <pubDate>Fri, 27 Jul 2012 16:28:42 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/digitab/screenshots/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/wp-content/uploads/2012/07/digitab_edit_device-2012-07-26-195724.jpg&#34; alt=&#34;Edit&#34;&gt;&lt;/p&gt;&#xA;&lt;!-- ![Polygon](/cms/wp-content/uploads/2012/07/digitab_device-2012-07-26-195601.jpg) --&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/wp-content/uploads/2012/07/digitab_autocomplete_device-2012-07-26-235343.jpg&#34; alt=&#34;Autovervollstänigen&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://webman.at/cms/wp-content/uploads/2012/07/digitab_layer_device-2012-07-26-2352461.jpg&#34; alt=&#34;Layer&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>DigiTab Features</title>
      <link>https://webman.at/cms/projekte/digitab/features/</link>
      <pubDate>Fri, 27 Jul 2012 16:25:56 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/digitab/features/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;Digitalisieren von Geometrie und speichern im GML-Format&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Cloud-Speicher&lt;/em&gt; auf komplett.cc wo GML auch gleichzeit in das Shapefile Format konvertiert wird&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;intelligentes&lt;/em&gt; Autovervollständigen für ihre thematischen Informationen (Grundlagen als CSV)&lt;/li&gt;&#xA;&lt;li&gt;Online Karten: OpenStreetMap, Bing-Maps (auf Wunsch weitere)&lt;/li&gt;&#xA;&lt;li&gt;Offline Karten: Raster auf dem Device-Speicher im TMS-Format, Vektoren im GML-Format&lt;/li&gt;&#xA;&lt;li&gt;CSV-Export der thematischen Daten&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Digitab Installation</title>
      <link>https://webman.at/cms/projekte/digitab/installation/</link>
      <pubDate>Thu, 26 Jul 2012 15:49:47 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/projekte/digitab/installation/</guid>
      <description>&lt;h2 id=&#34;kartengrundlagen&#34;&gt;Kartengrundlagen&lt;/h2&gt;&#xA;&lt;p&gt;Als Kartengrundlagen verwendet die Applikation intern einerseits das offene &lt;a href=&#34;https://en.wikipedia.org/wiki/Tile_Map_Service&#34;&gt;TMS-Format&lt;/a&gt; (Raster) und andererseits &lt;a href=&#34;https://en.wikipedia.org/wiki/Geography_Markup_Language&#34;&gt;GML&lt;/a&gt; für Vektoren. Dadurch kann DigiTab auf online-Ressourcen wie OpenStreetMap oder Microsoft Bing Maps zurürckgreifen, oder offline auf Daten aus dem Speicher des Gerätes (meist SD-Karten).&lt;/p&gt;&#xA;&lt;p&gt;Beim Start duchsucht die Applikation den in den Einstellungen angegebenen Pfad nach Unterverzeichnissen. Jeder Ordner wird als &lt;em&gt;Projekt&lt;/em&gt; angesehen und muss folgende Struktur enthalten:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;projektname/&#xD;&#xA;     |-tiles/&#xD;&#xA;     |     |-10/&#xD;&#xA;     |     |-11/&#xD;&#xA;     |     |-...&#xD;&#xA;     |     |-tilemapresource.xml&#xD;&#xA;     |-gml/&#xD;&#xA;     |-kml/&#xD;&#xA;     |-csv/&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;offline-raster&#34;&gt;Offline Raster&lt;/h3&gt;&#xA;&lt;p&gt;Der Ordner &lt;code&gt;tiles&lt;/code&gt; enthält die umgewandelte Raster-Grundlage (zum Beispiel ein Orthofoto). Für die Konvertierung in das TMS-Format gibt es sowohl Open-Source-Software, als auch kommerzielle Programme. &lt;strong&gt;Wichtig ist, dass die tile-size der einzelnen Kacheln auf 256×256 Pixel eingestellt wird.&lt;/strong&gt; Die Raster Daten müssen in der Projektion WGS 84 / Pseudo-Mercator (&lt;a href=&#34;http://wiki.openstreetmap.org/wiki/EPSG:3857&#34;&gt;EPSG:3857&lt;/a&gt;) vorliegen. Die Konfirutationsdatei muss &lt;code&gt;tilemapresource.xml&lt;/code&gt; heißen und im Verzeichnis &lt;code&gt;tiles&lt;/code&gt; liegen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alte Logfiles in Awstats einspielen (Ubuntu)</title>
      <link>https://webman.at/cms/2012/06/awstats-unter-ubuntu-alte-apache-logfiles-einspielen/</link>
      <pubDate>Fri, 22 Jun 2012 13:30:48 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/06/awstats-unter-ubuntu-alte-apache-logfiles-einspielen/</guid>
      <description>&lt;p&gt;Ubuntu legt die Apache Logfiles als gzippte Dateien in &lt;code&gt;/var/log/apache2&lt;/code&gt; ab. Um von alten Logdateien nachträglich eine Statistik zu erstellen kann folgendes Kommando nützlich sein:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; i in &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;ls -tr /var/log/apache2/ssl_meinhost.com*access*gz&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  gunzip -c &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;gt&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; /tmp/ssl_log.txt&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; /usr/lib/cgi-bin/awstats.pl&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    -config&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ssl.meinhost.com -LogFile&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/tmp/ssl_log.txt &lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;ssl_meinhost.com&lt;/code&gt; bzw. &lt;code&gt;ssl.meinhost.com&lt;/code&gt; sind natürlich auf die entsprechenden Logfiles bzw. awstats-Konfiguration anzupassen.&lt;/p&gt;&#xA;&lt;h4 id=&#34;links&#34;&gt;Links:&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://help.ubuntu.com/community/AWStats&#34;&gt;https://help.ubuntu.com/community/AWStats&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://awstats.sourceforge.net/&#34;&gt;http://awstats.sourceforge.net/&lt;/a&gt; &lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Backuppc zum Sichern von Desktops</title>
      <link>https://webman.at/cms/2012/05/backuppc-zum-sichern-von-desktops/</link>
      <pubDate>Wed, 23 May 2012 08:44:27 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2012/05/backuppc-zum-sichern-von-desktops/</guid>
      <description>&lt;p&gt;Dazu gibt es schon viele Anleitungen, aber ein Problem bei meinem Linux-Desktop ließ mich nicht los:&lt;/p&gt;&#xA;&lt;pre class=&#34;brush: plain; title: ; notranslate&#34; title=&#34;&#34;&gt;Remote[1]: rsync: readlink_stat(&#34;/home/bernd/.gvfs&#34;) failed: Permission denied (13)&#xD;&#xA;&lt;/pre&gt;&#xA;&lt;p&gt;Der dritte Eintrag im Thread &lt;a href=&#34;http://ubuntuforums.org/showpost.php?s=e16b12882f026838f0c95f3d16c110d3&amp;amp;p=5474631&amp;amp;postcount=3&#34;&gt;http://ubuntuforums.org/showthread.php?t=767311&lt;/a&gt; half schließlich: Mit &lt;code&gt;--one-file-system&lt;/code&gt; wird rsync angewiesen, das gemountete fuse-Filesystem unter &lt;code&gt;~/.gvfs&lt;/code&gt; nicht zu sichern.&lt;/p&gt;&#xA;&lt;p&gt;Die entsprechende Config-Zeile in /etc/backuppc/&lt;em&gt;hostname&lt;/em&gt;.pl sieht dann bei mir folgendermaßen aus:&lt;/p&gt;&#xA;&lt;pre class=&#34;brush: perl; title: ; notranslate&#34; title=&#34;&#34;&gt;$Conf{RsyncClientCmd} = &#39;$sshPath -q -x -l backuppc --one-file-system $host sudo $rsyncPath $argList+&#39;;&#xD;&#xA;$Conf{RsyncClientRestoreCmd} = &#39;$sshPath -q -x -l backuppc $host sudo $rsyncPath $argList+&#39;;&#xD;&#xA;$Conf{RsyncArgsExtra} = [&#xD;&#xA;  &#39;--one-file-system&#39;&#xD;&#xA;];&#xD;&#xA;&lt;/pre&gt;&#xA;&lt;p&gt;Zur Erklärung der RsyncClient -Zeilen: Ich verwende &lt;code&gt;rsync&lt;/code&gt; über &lt;code&gt;ssh&lt;/code&gt; als Methode, wobei der User &lt;code&gt;backuppc&lt;/code&gt; am host &lt;code&gt;sudo&lt;/code&gt;-Rechte für das &lt;code&gt;rsync&lt;/code&gt;-Kommando braucht.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Impressum</title>
      <link>https://webman.at/cms/imprint/</link>
      <pubDate>Tue, 17 Jan 2012 14:50:38 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/imprint/</guid>
      <description>&lt;h3 id=&#34;information-gemäß-e-commerce-gesetz&#34;&gt;Information gemäß e-commerce-Gesetz&lt;/h3&gt;&#xA;&lt;p&gt;Verantwortlich für den Inhalt:&lt;/p&gt;&#xA;&lt;p&gt;webman.at&lt;br&gt;&#xA;Mag. Bernd Öggl&lt;br&gt;&#xA;Planötzenhofstr. 19&lt;br&gt;&#xA;6020 Innsbruck&lt;br&gt;&#xA;AUSTRIA&lt;br&gt;&#xA;UID: ATU71076113&lt;/p&gt;&#xA;&lt;!-- Tel.: +43 (0) 512 / 328048   --&gt;&#xA;&lt;p&gt;Web: &lt;a href=&#34;https://webman.at&#34;&gt;https://webman.at&lt;/a&gt;&lt;br&gt;&#xA;eMail: &lt;a href=&#34;mailto:info@webman.at&#34;&gt;info@webman.at&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Fachgruppe: Unternehmensberatung, Buchhaltung und Informationstechnologie&lt;br&gt;&#xA;Prod./Dienstl.: Dienstleistungen in der automatischen Datenverarbeitung und Informationstechnik&lt;br&gt;&#xA;Behörde gem. ECG: Magistrat der Stadt Innsbruck&lt;br&gt;&#xA;Kammer: Wirtschaftskammer Tirol&lt;/p&gt;&#xA;&lt;p&gt;Logo by: &lt;a href=&#34;http://mr-grafikdesign.com/&#34;&gt;Mister KG&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;rechtliches&#34;&gt;Rechtliches&lt;/h3&gt;&#xA;&lt;p&gt;Alle Angaben werden ständig aktualisiert. Angebote und Bereichsdefinitionen&#xA;sind veränderlich und können vom Webinhalt abweichen. Satz- und Textfehler&#xA;vorbehalten.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTML5</title>
      <link>https://webman.at/cms/buecher/html5/</link>
      <pubDate>Fri, 19 Aug 2011 12:29:29 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/buecher/html5/</guid>
      <description>&lt;p&gt;Unser neues Buch &lt;em&gt;HTML5: Leitfaden für Webentwickler von Klaus Förster und Bernd Öggl&lt;/em&gt; ist im November 2010 im Addison-Wesley Verlag erschienen. Die &lt;a href=&#34;https://www.amazon.com/gp/product/0321772741/&#34;&gt;aktualisierte englische&lt;/a&gt; Fassung ist im Juli 2011 ebenfalls bei Addison Wesley erschienen.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://html5.komplett.cc/&#34;&gt;Die Webseite zum Buch&lt;/a&gt; zeigt alle Beispiele aus dem Buch online.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Public Display goes „Nationalpark Hohe Tauern“</title>
      <link>https://webman.at/cms/2011/07/public-display-goes-nationalpark-hohe-tauern/</link>
      <pubDate>Fri, 22 Jul 2011 20:45:12 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/2011/07/public-display-goes-nationalpark-hohe-tauern/</guid>
      <description>&lt;p&gt;Das von &lt;a href=&#34;http://svg.cc&#34;&gt;Klaus Förster&lt;/a&gt; und Bernd Öggl (beide &lt;a href=&#34;https://komplett.cc&#34;&gt;komplett.cc&lt;/a&gt;) entwickelte, innovative Informationssystem &lt;a href=&#34;https://komplett.cc/cms/pd/&#34; title=&#34;Public Display&#34;&gt;&lt;em&gt;Public Display&lt;/em&gt;&lt;/a&gt; wird jetzt auch vom &lt;a href=&#34;http://www.hohetauern.at/&#34;&gt;Nationalpark Hohe Tauern&lt;/a&gt; eingesetzt. Die Nationalparkverwaltung war auf der Suche nach einem flexiblen und offenen System um die Besucher im Nationalpark über neue Veranstaltungen, Öffnungszeiten und aktuelle Ereignisse im Park zu informieren. Public Display konnte überzeugen.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://webman.at/cms/wp-content/uploads/2011/07/npht_gletscherlehrweg.png&#34;&gt;&lt;img class=&#34;alignnone size-medium wp-image-123&#34; title=&#34;Gletscherlehrweg&#34; src=&#34;https://webman.at/cms/wp-content/uploads/2011/07/npht_gletscherlehrweg-300x133.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Wenn sie auch an dem offenen Infosystem interessiert sind, wenden Sie sich an &lt;a href=&#34;mailto:info@komplett.cc&#34;&gt;info@komplett.cc&lt;/a&gt; .&lt;/p&gt;</description>
    </item>
    <item>
      <title>PHP5</title>
      <link>https://webman.at/cms/buecher/php5/</link>
      <pubDate>Fri, 18 Mar 2011 13:04:41 +0000</pubDate><author>bernd@webman.at (Bernd Öggl)</author>
      <guid>https://webman.at/cms/buecher/php5/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.amazon.de/PHP-5-3-MySQL-5-4-Programmiertechniken/dp/3827328764/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1251328317&amp;amp;sr=1-2&#34;&gt;PHP 5.3 &amp;amp; MySQL&#xA;5.4&lt;/a&gt;&#xA;von Michael Kofler und Bernd Öggl.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
