<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://www.tauceti.net/roller/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">TauCeti.NET</title>
    <subtitle type="html">The lost star colony...</subtitle>
    <id>https://www.tauceti.net/roller/cetixx/feed/entries/atom</id>
        <link rel="self" type="application/atom+xml" href="https://www.tauceti.net/roller/cetixx/feed/entries/atom" />
    <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/" />
    <updated>2026-03-29T13:51:17+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/vdradmin-go-als-vdradmin-am</id>
        <title type="html">vdradmin-go als vdradmin(-am) Alternative</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/vdradmin-go-als-vdradmin-am"/>
        <published>2026-02-16T21:29:13+00:00</published>
        <updated>2026-02-16T21:29:13+00:00</updated> 
        <category term="News" label="News" />
        <category term="vdr" scheme="http://roller.apache.org/ns/tags/" />
        <category term="vdradmin" scheme="http://roller.apache.org/ns/tags/" />
        <category term="video" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Ich benutze &lt;a href=&quot;https://github.com/vdr-projects/vdradmin-am&quot; target=&quot;_blank&quot;&gt;vdradmin-am&lt;/a&gt; jetzt schon seit etlichen Jahren um meinen &lt;a href=&quot;https://tvdr.de/&quot; target=&quot;_blank&quot;&gt;VDR&lt;/a&gt; (Video Disc Recorder) zu steuern. Hauptsächlich um Sendungen aufzuzeichnen und zu guggen, was so um Fernsehen läuft. Für Live-TV nehme ich den VDR so gut wie nicht her, da ich alles aufzeichne, was ich anschauen will. vdradmin-am hat jetzt doch schon einige Jahre auf dem Buckel und ist in Perl geschrieben. Ich hatte schon seit Jahren die Idee, dass mal in Go neu zu schreiben, aber war zeitlich etwas schwierig. Mit KI sieht die Sache jetzt anders aus. Es hat mich zwar trotz KI einige Abende und Wochenenden gekostet, bis alles soweit lief, wie ich das wollte, aber jetzt habe ich tatsächlich &lt;a href=&quot;https://github.com/githubixx/vdradmin-go&quot; target=&quot;_blank&quot;&gt;vdradmin-go&lt;/a&gt; fertig.&lt;/p&gt;&lt;p&gt;Man kann von KI halten was man will, aber mich fasziniert das immer wieder, was man damit machen kann. Ich hab jetzt genau den vdradmin, denn ich schon immer haben wollte. Die Hauptziele waren hauptsächlich:&lt;/p&gt;&lt;p&gt;&lt;b&gt;- Moderne Architektur:&lt;/b&gt; Hexagonale Architektur (ports &amp;amp; adapters)&lt;br&gt;&lt;b&gt;- Clean code&lt;/b&gt;, geschrieben in Go und Go best practices&lt;br&gt;&lt;b&gt;- Moderne UI&lt;/b&gt;: Modernes CSS, minimales JavaScript und wo man es doch braucht &lt;a href=&quot;https://htmx.org/&quot; target=&quot;_blank&quot;&gt;htmx&lt;/a&gt; für die Interaktion&lt;br&gt;&lt;b&gt;- Themes&lt;/b&gt;: Sind schon über 30 fertige Themes drin und lässt sich auch leicht um Neue erweitern&lt;br&gt;&lt;b&gt;- Archiv&lt;/b&gt;: Wenn ich eine Sendung archivieren will, brauche ich jetzt bloß auf den Archiv Button zu drücken bei der Aufnahme und schon wird das Ganze im Hintergrund in .mp4 oder .mkv konvertiert. Danach sind die Aufnahmen erheblich kleiner als die ganzen .ts files. Das System ist allerdings ziemlich meinen Bedürfnissen angepasst.&lt;br&gt;- Das &lt;b&gt;Konfigurationsdatei&lt;/b&gt; ist eine YAML-Datei, dass man entweder selber editiert oder über die UI ändert.&lt;br&gt;&lt;b&gt;- Fernsehen&lt;/b&gt; kann man direkt im Browser. Das benötigt dann das&amp;nbsp;&lt;a href=&quot;https://github.com/vdr-projects/vdr-plugin-streamdev&quot; target=&quot;_blank&quot;&gt;vdr-streamdev-server&lt;/a&gt; Plugin und auch &lt;b&gt;ffmpeg&lt;/b&gt;.&lt;br&gt;- Damit das mit der &lt;b&gt;EPG Suche&lt;/b&gt; etwas besser klappt, wird das&amp;nbsp;&lt;a href=&quot;https://github.com/vdr-projects/vdr-plugin-epgsearch&quot; target=&quot;_blank&quot;&gt;vdr-epgsearch&lt;/a&gt; Plugin benötigt.&lt;/p&gt;&lt;p&gt;Ansonsten ist das Ganze ein Go Binary und damit kann man dann schon Einiges anfangen. Die o.g. Plugins und &lt;b&gt;ffmpeg&lt;/b&gt; sollte man trotzdem installieren, damit man die volle Funktionalität hat. Und so sieht das Ganze dann aus (oben das &amp;quot;Dark&amp;quot; und unten &amp;quot;Spaceship Grey Dark&amp;quot; Theme):&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/e05de49a-3d27-4996-a014-4997be49a4cb&quot;&gt;&lt;img src=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/e05de49a-3d27-4996-a014-4997be49a4cb?t=true&quot; alt=&quot;vdradmin-go_channels_01.png&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/ab990646-1009-4aaf-96ab-3326bfd9c62b&quot;&gt;&lt;img src=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/ab990646-1009-4aaf-96ab-3326bfd9c62b?t=true&quot; alt=&quot;vdradmin-go_watch_tv_01.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&amp;nbsp;&lt;a href=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/ca493ae5-8322-4204-ab55-3b64b72f7311&quot;&gt;&lt;img src=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/ca493ae5-8322-4204-ab55-3b64b72f7311?t=true&quot; alt=&quot;spaceship_grey_dark_channels-fs8.png&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/2de25228-6f11-46e6-8589-2524c0c31ad7&quot;&gt;&lt;img src=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/2de25228-6f11-46e6-8589-2524c0c31ad7?t=true&quot; alt=&quot;spaceship_grey_dark_now-fs8.png&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/3cb805bd-a312-4064-a013-5bfc6012960c&quot;&gt;&lt;img src=&quot;https://www.tauceti.net/roller/cetixx/mediaresource/3cb805bd-a312-4064-a013-5bfc6012960c?t=true&quot; alt=&quot;spaceship_grey_dark_playing-fs8.png&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/eigenen-kubernetes-cluster-bei-scaleway</id>
        <title type="html">Eigenen Kubernetes Cluster bei Scaleway hosten</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/eigenen-kubernetes-cluster-bei-scaleway"/>
        <published>2017-12-04T21:56:40+00:00</published>
        <updated>2017-12-04T21:56:40+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="cluster" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kubernetes" scheme="http://roller.apache.org/ns/tags/" />
        <category term="scaleway" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Gab schon länger kein Update mehr auf meiner Seite, aber ich war mit anderen Dingen beschäftigt ;-) U.a. habe ich einige Posts für mein englisches Blog geschrieben, wie man seinen eigenen Kubernetes Cluster mit Hilfe von Ansible bei Scaleway hochzieht, den man produktiv durchaus einsetzen kann und das für nicht allzu viel Geld.&lt;/p&gt; 
  &lt;p&gt;Hier eine Übersicht über meine bisherigen Posts:&lt;/p&gt; 
  &lt;p&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-1/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 1 - The basics&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-2/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 2 - Harden the instances&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-3/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 3 - Peervpn&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-4/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 4 - Certificate authority (CA) [updated for K8s v1.8]&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-5/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 5 - etcd cluster [updated for K8s v1.8]&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-6/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 6 - Control plane [updated for K8s v1.8]&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-7/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 7 - The worker [updated for K8s v1.8]&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-8/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 8 - Ingress with Traefik&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-9/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 9 - Upgrading Kubernetes&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://www.tauceti.blog/post/kubernetes-the-not-so-hard-way-with-ansible-at-scaleway-part-10/&quot; target=&quot;_blank&quot;&gt;Kubernetes the not so hard way with Ansible (at Scaleway) - Part 10 - Network policies with kube-router&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/m4a-dateien-in-mp3-konvertieren</id>
        <title type="html">m4a Dateien in mp3 konvertieren mit ffmpeg unter Linux</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/m4a-dateien-in-mp3-konvertieren"/>
        <published>2016-12-28T18:34:27+00:00</published>
        <updated>2016-12-28T18:34:27+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="ffmpeg" scheme="http://roller.apache.org/ns/tags/" />
        <category term="m4a" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mp3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sound" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Mit folgender Kommandozeile kann man mit ffmpeg &lt;strong&gt;m4a&lt;/strong&gt; Sounddateien ins &lt;strong&gt;mp3&lt;/strong&gt; Format umwandeln:&lt;/p&gt;
  &lt;p&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&lt;strong&gt;find . -type f -name &amp;#39;*.m4a&amp;#39; -exec bash -c &amp;#39;ffmpeg -i &amp;quot;$0&amp;quot; &amp;quot;${0/%m4a/mp3}&amp;quot;&amp;#39; &amp;#39;{}&amp;#39; \;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p&gt;Mit &lt;strong&gt;find&lt;/strong&gt; suchen wir uns erst mal alle &lt;strong&gt;m4a&lt;/strong&gt; Dateien und für jede Datei wird eine neue Bash Shell gestartet. Diese startet &lt;strong&gt;ffmpeg&lt;/strong&gt;, übergibt die gefundene Datei an &lt;strong&gt;ffmpeg&lt;/strong&gt; als Input (&lt;strong&gt;-i&lt;/strong&gt;). Dahinter wird die Zieldatei angegeben. Dabei ersetzen wir die Dateiendung &lt;strong&gt;m4a&lt;/strong&gt; durch &lt;strong&gt;mp3&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/kde-plasma-display-helligkeit-display</id>
        <title type="html">KDE Plasma Display Helligkeit (Display Brightness)</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/kde-plasma-display-helligkeit-display"/>
        <published>2016-11-07T19:44:52+00:00</published>
        <updated>2016-11-07T19:44:52+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="archlinux" scheme="http://roller.apache.org/ns/tags/" />
        <category term="display" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kde" scheme="http://roller.apache.org/ns/tags/" />
        <category term="linux" scheme="http://roller.apache.org/ns/tags/" />
        <category term="monitor" scheme="http://roller.apache.org/ns/tags/" />
        <category term="plasma" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wenn bei KDE Plasma mal wieder der Helligkeitsregler (Screen / Display brightness) versagt und genau nichts macht (was bei mir unter Archlinux ab und an passiert) und man auf das nächste Update wartet, kann man sich der weilen so behelfen, das man die Hintergrundbeleuchtung per Kommandozeile einstellt. Z.B.:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;echo 700 &amp;gt;&amp;nbsp;/sys/class/backlight/gmux_backlight/brightness&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;In meinem Fall steht hier &lt;strong&gt;gmux_backlight&lt;/strong&gt; (MacBook Pro, der unter Linux läuft). Bei anderen muss man unter &lt;strong&gt;/sys/class/backlight/&lt;/strong&gt; einfach schauen, welche Backlights angezeigt werden (z.B.&amp;nbsp;&lt;strong&gt;intel_backlight&lt;/strong&gt;). Den aktuellen Wert kann man sich mit&lt;strong&gt; cat /sys/class/backlight/*/brightness&lt;/strong&gt; ausgeben lassen. Für das &lt;strong&gt;gmux_backlight&lt;/strong&gt; war der Wert bei mir bei &lt;strong&gt;1023&lt;/strong&gt;. Am Besten geht man in 100erter Schritten nach unten bis man die gewünschte Helligkeit eingestellt hat.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/website-jetzt-mit-%C3%BCber-https</id>
        <title type="html">Website jetzt mit über HTTPS erreichbar</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/website-jetzt-mit-%C3%BCber-https"/>
        <published>2016-11-03T21:53:40+00:00</published>
        <updated>2016-11-03T21:53:40+00:00</updated> 
        <category term="General" label="General" />
        <content type="html">&lt;p&gt;Hat ne Weile gedauert, aber jetzt ist tauceti.net endlich nur noch über eine sichere https-Verbindung erreichbar. Verwendet habe ich ein kostenloses &lt;a href=&quot;https://letsencrypt.org/&quot; target=&quot;_blank&quot;&gt;Let&amp;#39;s Encrypt&lt;/a&gt; Zertifikat. Das Ganze kann man mit Hilfe von &lt;a href=&quot;https://certbot.eff.org/&quot; target=&quot;_blank&quot;&gt;Certbot&lt;/a&gt; relativ einfach einrichten. Einfach Webserver (z.B. nginx, Apache, ...) und Betriebssystem auswählen und schon bekommt man entsprechende Informationen, was man es einrichten muss. Entweder ziemlich automatisiert (hier sind nur ein paar Handgriffe notwendig) oder mit ein bisschen mehr Handarbeit, aber dafür mehr Eingriffsmöglichkeiten während der Einrichtung.&lt;/p&gt;
  &lt;p&gt;Die Zertifkate sind jeweils 3 Monate gültig und man richtet sich am Besten einen Cronjob o.ä. ein, der dann automatisiert ein neues Zertifikat einrichtet, bevor das Alte abläuft.&lt;br&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/google-storage-mit-s3cmd-und</id>
        <title type="html">Google Storage mit s3cmd und aws cli benutzen</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/google-storage-mit-s3cmd-und"/>
        <published>2016-10-20T07:59:28+00:00</published>
        <updated>2016-10-20T07:59:28+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="aws" scheme="http://roller.apache.org/ns/tags/" />
        <category term="cloud" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gce" scheme="http://roller.apache.org/ns/tags/" />
        <category term="s3" scheme="http://roller.apache.org/ns/tags/" />
        <category term="storage" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wenn man &lt;strong&gt;s3md&lt;/strong&gt;&amp;nbsp;mit Google Cloud Storage benutzen will, muss man in dessen Konfigurationsdatei &lt;strong&gt;.s3cfg&lt;/strong&gt;&amp;nbsp;Folgendes anpassen:&lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;access_key = xxx&lt;br&gt;secret_key = xxx&lt;br&gt;host_base = storage.googleapis.com&lt;br&gt;host_bucket = %(bucket).storage.googleapis.com&lt;/strong&gt;&lt;/p&gt; 
  &lt;div&gt;
    &lt;p&gt;&lt;strong&gt;xxx&lt;/strong&gt;&amp;nbsp;muss man natürlich durch seine entsprechenden Keys ersetzen, die man sich über die Google Console/UI (Storage -&amp;gt; Settings -&amp;gt; Interoperability) erstellen kann (nachdem man den interoperable access aktiviert hat natürlich). Diese Keys sind pro Projektmitglied und nicht pro Projekt (also jeder hat seinen eigenen Key).&lt;/p&gt;
    &lt;p&gt;Bei der AWS CLI (aws Kommando) konnte ich die Einstellungen in &lt;strong&gt;.aws/config&lt;/strong&gt; irgendwie nicht nutzen. &amp;nbsp;Hier half nur die Keys als Env. Variable zu setzen und den Endpoint zu ändern:&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;export AWS_ACCESS_KEY_ID=xxx&lt;br&gt;export AWS_SECRET_ACCESS_KEY=xxx&lt;br&gt;aws s3 --endpoint-url https://storage.googleapis.com ls&lt;/strong&gt;&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;Auch hier natürlich &lt;strong&gt;xxx&lt;/strong&gt; entsprechend ändern.&lt;/p&gt;
  &lt;/div&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/how-it-feels-to-learn</id>
        <title type="html">How it feels to learn JavaScript in 2016</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/how-it-feels-to-learn"/>
        <published>2016-10-11T09:37:53+00:00</published>
        <updated>2016-10-11T09:37:53+00:00</updated> 
        <category term="General" label="General" />
        <content type="html">Ein wirklich lustiger &lt;a href=&quot;https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f&quot; target=&quot;_blank&quot;&gt;Artikel&lt;/a&gt; über JavaScript Frontend-Entwicklung.</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/nc-netcat-als-primitiver-portscanner</id>
        <title type="html">nc (netcat) als primitiver Portscanner</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/nc-netcat-als-primitiver-portscanner"/>
        <published>2016-03-24T12:17:39+00:00</published>
        <updated>2016-03-24T12:17:39+00:00</updated> 
        <category term="General" label="General" />
        <category term="linux" scheme="http://roller.apache.org/ns/tags/" />
        <category term="portscanner" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tools" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wenn man kurz mal wissen möchte, ob z.B. eine Portrange offen ist, geht das recht flott mit nc (netcat) z.B.:&amp;nbsp;&lt;/p&gt;
  &lt;p&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&lt;strong&gt;nc -w 2 -zv 10.0.0.1 30000-30003&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;Connection to&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;10.0.0.1&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&amp;nbsp;30000 port [tcp/*] succeeded!
&lt;br&gt;Connection to&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;10.0.0.1&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&amp;nbsp;30001 port [tcp/*] succeeded!
&lt;br&gt;Connection to&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;10.0.0.1&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&amp;nbsp;30002 port [tcp/*] succeeded!
&lt;br&gt;Connection to&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;10.0.0.1&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:monospace;&quot;&gt;&lt;strong&gt;&amp;nbsp;30003 port [tcp/*] succeeded!
&lt;/strong&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p&gt;Mit &lt;strong&gt;-w&lt;/strong&gt; geben wir ein Timeout von 2 Sek. an, damit wir nicht so lange warten müssen. &lt;strong&gt;-z&lt;/strong&gt; prüft, ob der Port offen ist, &lt;strong&gt;-v&lt;/strong&gt; macht nc etwas gesprächiger und hinten gibt man dann noch die &lt;strong&gt;IP&lt;/strong&gt; und die &lt;strong&gt;Port(s)&lt;/strong&gt; an.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/l%C3%A4uft-docker-container-im-privilegierten</id>
        <title type="html">Läuft Docker Container im privilegierten Modus?</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/l%C3%A4uft-docker-container-im-privilegierten"/>
        <published>2016-03-24T12:13:22+00:00</published>
        <updated>2016-03-24T12:13:22+00:00</updated> 
        <category term="Books" label="Books" />
        <category term="container" scheme="http://roller.apache.org/ns/tags/" />
        <category term="docker" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wie findet man raus, ob ein Docker Container im privilegierten Modus läuft?&lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;docker inspect --format=&amp;#39;{{.HostConfig.Privileged}}&amp;#39; &amp;lt;container id&amp;gt;&lt;/strong&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/pid-eines-prozesses-auf-dem</id>
        <title type="html">PID eines Prozesses auf dem Docker Host einem Docker Container zuordnen</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/pid-eines-prozesses-auf-dem"/>
        <published>2016-03-01T14:00:49+00:00</published>
        <updated>2016-03-01T14:00:49+00:00</updated> 
        <category term="General" label="General" />
        <category term="docker" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wenn man auf einem Server Docker am Laufen hat, sieht man vielleicht mal Prozesse auf diesem Host mit &lt;strong&gt;top, ps&lt;/strong&gt; o.ä. mit hoher CPU-Belastung. Nun möchte man wissen, in welchem Container dieser Prozess läuft. Das findet man mit folgendem Kommando raus.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;sudo docker ps -q | sudo xargs docker inspect --format &amp;#39;{{.State.Pid}}, {{.Id}}&amp;#39;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Die erste Spalte zeigt die PID an und dahinter die Container ID.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/ersatz-f%C3%BCr-kde-quadkonsole</id>
        <title type="html">Ersatz für KDE Quadkonsole</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/ersatz-f%C3%BCr-kde-quadkonsole"/>
        <published>2015-09-07T23:25:24+00:00</published>
        <updated>2015-09-07T23:25:24+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="kde" scheme="http://roller.apache.org/ns/tags/" />
        <category term="linux" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Bei KDE 4 hatte ich immer u.a. die KDE App Quadkonsole im Einsatz. Wird aber leider schon länger nicht mehr weiterentwickelt und unter Archlinux mit KDE Plasma 5 klappte das mit selber kompilieren auch nicht so wirklich. Als Ersatz habe ich &lt;a href=&quot;http://gnometerminator.blogspot.de/p/introduction.html&quot; target=&quot;_blank&quot;&gt;Terminator&lt;/a&gt; gefunden, eine Konsole mit der man das Konsolenfenster in mehrere Teile splitten kann.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/audex-kde-cd-ripper</id>
        <title type="html">Audex - KDE CD Ripper</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/audex-kde-cd-ripper"/>
        <published>2015-08-31T11:32:44+00:00</published>
        <updated>2015-08-31T11:32:44+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="audio" scheme="http://roller.apache.org/ns/tags/" />
        <category term="cd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kde" scheme="http://roller.apache.org/ns/tags/" />
        <category term="music" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ripper" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Ein wirklich gutes Programm zum CD rippen unter KDE ist &lt;a href=&quot;http://kde-apps.org/content/show.php?content=77125&quot; target=&quot;_blank&quot;&gt;Audex&lt;/a&gt;. Alles Mögliche lässt sich einfach und praktisch über die GUI einstellen inkl. der Dateinamen usw. Ziemlich durchdacht.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/wo-ist-mein-speicherplatz-hin</id>
        <title type="html">Wo ist mein Speicherplatz hin?</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/wo-ist-mein-speicherplatz-hin"/>
        <published>2015-08-07T22:55:08+00:00</published>
        <updated>2015-08-07T22:55:08+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="directory" scheme="http://roller.apache.org/ns/tags/" />
        <category term="du" scheme="http://roller.apache.org/ns/tags/" />
        <category term="files" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hdd" scheme="http://roller.apache.org/ns/tags/" />
        <category term="linux" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ncdu" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;strong&gt;cd /in/ein/verzeichnis&lt;br&gt;du -h . | grep -P &amp;#39;^[0-9\.]+G&lt;/strong&gt;&lt;/p&gt; 
  &lt;p&gt;Alternativ das Tool &lt;strong&gt;ncdu&lt;/strong&gt; installieren...&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/gentoo-alle-installierten-pakete-auflisten</id>
        <title type="html">Gentoo - Alle installierten Pakete auflisten</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/gentoo-alle-installierten-pakete-auflisten"/>
        <published>2015-08-07T22:55:01+00:00</published>
        <updated>2015-08-07T22:55:01+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="funtoo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="gentoo" scheme="http://roller.apache.org/ns/tags/" />
        <category term="packages" scheme="http://roller.apache.org/ns/tags/" />
        <category term="portage" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;strong&gt;equery list &amp;quot;*&amp;quot;&lt;/strong&gt; &lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/muguet-dns-server-reverse-proxy</id>
        <title type="html">Muguet - DNS Server &amp; Reverse Proxy für Docker</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/muguet-dns-server-reverse-proxy"/>
        <published>2015-08-07T22:54:53+00:00</published>
        <updated>2015-08-07T22:54:53+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="dns" scheme="http://roller.apache.org/ns/tags/" />
        <category term="docker" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="proxy" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;https://github.com/mattallty/muguet&quot; target=&quot;_blank&quot;&gt;Muguet&lt;/a&gt; ist ein&amp;nbsp;DNS Server &amp;amp; Reverse Proxy für Docker, der automatisch generierte Hostnamen zu Conainter IPs auflöst. Außerdem enthält Muguet einen Reverse Proxy, der den Zugriff auf Web-Apps in den Container auf Port 80 ermöglicht.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/taucharts</id>
        <title type="html">TauCharts</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/taucharts"/>
        <published>2015-08-07T22:54:38+00:00</published>
        <updated>2015-08-07T22:54:38+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="chart" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;Wem andere JS-Chart-Libs zu kompliziert sind, hat mit &lt;a href=&quot;http://blog.taucharts.com/taucharts-data-focused-charting-library/&quot; target=&quot;_blank&quot;&gt;TauCharts&lt;/a&gt; vielleicht mehr Glück. Hier geht es weniger um noch mehr &amp;quot;fancy&amp;quot; Effekte, sondern mehr um die Daten und wie man sie möglichst schnell und unkompliziert darstellen kann.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/quantumui</id>
        <title type="html">QuantumUI</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/quantumui"/>
        <published>2015-08-07T14:35:12+00:00</published>
        <updated>2015-08-07T14:35:12+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="angularjs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="bootstrap" scheme="http://roller.apache.org/ns/tags/" />
        <category term="components" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="less" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://quantumui.org/&quot; target=&quot;_blank&quot;&gt;QuantumUI&lt;/a&gt;&amp;nbsp;sind UI Komponenten, die nativ auf AngularJS und Bootstrap CSS basieren.&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/apache-mesos-testcluster</id>
        <title type="html">Apache Mesos Testcluster für daheim</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/apache-mesos-testcluster"/>
        <published>2015-08-06T21:56:55+00:00</published>
        <updated>2015-08-06T21:56:55+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="cluster" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mesos" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;strong&gt;Was ist Mesos und Voraussetzungen&lt;/strong&gt; &lt;/p&gt; 
  &lt;p&gt;Ganz grob und einfach gesagt ist&amp;nbsp;&lt;strong&gt;Apache Mesos&lt;/strong&gt;&amp;nbsp;ein &amp;quot;verteiltes Betriebssystem für Datenzentren&amp;quot;, wenn man so will. Dabei spielt es keine Rolle, ob man Rechner, VMs oder beides hat und wo diese Rechner/VMs stehen. Man hat eine einheitliche Sicht auf alle Resourcen, auf welche man dann von Frameworks Tasks verteilt werden (u.a. auch Docker Container). Marathon und Chronos sind z.B. solche Frameworks und es gibt noch eine Reihe anderer und man kann selbst welche bauen. Alle Rechner, die in diesem Cluster-Verbund sind, stellen sich nach Außen als ein einzelner Pool an Resourcen dar. Das Ganze skaliert über einige zehntausend Nodes (soweit man sie denn hat ;-) ), ist ausfallsicher mit Hilfe von ZooKeeper, unterstützt Docker seit einiger Zeit, isoliert Tasks mit Hilfe von Linux Containern und bietet Java, Python, C++ und Go APIs, um direkt neue parallele Applikationen mit Mesos zu entwickeln.&lt;/p&gt; 
  &lt;p&gt;Um Mesos einigermaßen realistisch zu testen (realistisch in dem Sinne, das man eine gewisse Anzahl von VMs hat und auch das HA-Setup mal testen kann), macht es Sinn, sich wie für den produktiven Betrieb auch, mindestens 3 Master-VMs (oder wer Rechner hat, dann 3 Rechner) und 2-3 Slaves (die dann die Tasks ausführen) zu installieren. Die Master-VMs benötigt man für ZooKeeper, der dafür sorgt, das immer ein Mesos-Service der sog. Master ist (die anderen sind soz. im Standby-Modus) und bei Ausfall des Masters, ein neuer Master bestimmt wird. Da der Master seine Aufgaben alle an die Slaves delegiert, hält sich die Belastung was CPU &amp;amp; Co. anbelangt bei ihm in Grenzen. Damit man ein Quorum hat, machen immer eine ungerade Anzahl von ZooKeeper-Instanzen Sinn (normalerweise 3 oder 5).&lt;/p&gt; 
  &lt;p&gt;Für eine Testinstallation bietet es sich an, einige VMs zu installieren. Um VMs aufzusetzen, kann man z.B.&amp;nbsp;&lt;a href=&quot;https://github.com/everpeace/vagrant-mesos/&quot; target=&quot;_blank&quot;&gt;Vagrant mit Virtualbox&lt;/a&gt; verwenden. Da ich libvirt drauf hab und in Vagrant nicht so tief drin bin, habe ich die 6 Ubuntu 14.04 LTS VMs mit virsh-install installiert. Wie das geht, habe ich prinzipiell&amp;nbsp;&lt;a href=&quot;http://www.tauceti.net/roller/cetixx/entry/vm-mit-virsh-install-installieren&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt; beschrieben. Wenn man dann eine Ubuntu-VM installiert hat, kann man das fertige qcow2-File einfach kopieren (solange die VM nicht gestartet ist) und entsprechend dann in libvirt konfigurieren. Ich gehe darauf jetzt aber nicht weiter ein. Noch einfacher geht die Sache allerdings mit &lt;a href=&quot;http://libguestfs.org/virt-builder.1.html&quot; target=&quot;_blank&quot;&gt;virt-builder&lt;/a&gt;&amp;nbsp;(Teil des &lt;a href=&quot;http://libguestfs.org/&quot; target=&quot;_blank&quot;&gt;libguestfs&lt;/a&gt; Pakets ab Version 1.26, wenn ich mich nicht irre).&lt;/p&gt; 
  &lt;p&gt;Wenn man dann die 6 VMs hat, kann man sich in der /etc/hosts noch Einträge machen, damit man die VMs per Namen und nicht per IP ansprechen kann. In meinem Fall:&lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;192.168.122.252 me-master01&lt;br&gt;192.168.122.251 me-master02&lt;br&gt;192.168.122.250 me-master03&lt;br&gt;192.168.122.249 me-slave01&lt;br&gt;192.168.122.248 me-slave02&lt;br&gt;192.168.122.247 me-slave03&lt;/strong&gt;&lt;/p&gt; 
  &lt;p&gt;Der Netzbereich &lt;strong&gt;192.168.122.0/24&lt;/strong&gt; ist bei mir die Default-Range, die bei libvirt vorgegeben war. Hab ich einfach übernommen. Ebenso die von libvirt erzeugte Bridge&amp;nbsp;&lt;strong&gt;virbr0&lt;/strong&gt;. Nicht schaden kann auch die Installation des &lt;strong&gt;ntp&lt;/strong&gt; Pakets auf allen VMs, damit die Zeiten überall gleich sind.&lt;br&gt;&lt;br&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;Allgemein&lt;/strong&gt; &lt;/p&gt; 
  &lt;p&gt;Nachdem die VMs einsatzbereit sind, machen wir Ubuntu das Mesosphere Repository bekannt auf ALLEN VMs und updaten den Repo-Index:&lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF&lt;br&gt;DISTRO=$(lsb_release -is | tr &amp;#39;[:upper:]&amp;#39; &amp;#39;[:lower:]&amp;#39;)&lt;br&gt;CODENAME=$(lsb_release -cs)&lt;br&gt;echo &amp;quot;deb http://repos.mesosphere.io/${DISTRO} ${CODENAME} main&amp;quot; | sudo tee /etc/apt/sources.list.d/mesosphere.list&lt;br&gt;sudo apt-get -y update&lt;/strong&gt;&lt;/p&gt; 
  &lt;div&gt; 
    &lt;p&gt;Auf den &lt;strong&gt;Master-Hosts &lt;/strong&gt;(und nur da) installieren wir das mesosphere-Metapaket das u.a. ZooKeeper, Mesos, Marathon (für langlaufende Tasks) und Chronos (für verteilte Cronjobs) enthält (das Metapaket hat aktuell ca. 330 MB):&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo apt-get install mesosphere&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Auf den &lt;strong&gt;Slave-Hosts&lt;/strong&gt; installieren wir das mesos-Paket, das ist gut 100 MB kleiner und enthält u.a. ZooKeeper:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo apt-get install mesos&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Als Nächstes konfigurieren wir ALLE VMs so, das sie alle die gleiche ZooKeeper Verbindungsinformation haben zu unseren ZooKeeper-Masterservern. Dazu editieren wir die Datei&amp;nbsp;&lt;strong&gt;/etc/mesos/zk. &lt;/strong&gt;Normalerweise finden wir dort den Eintrag &lt;strong&gt;zk://localhost:2181/mesos &lt;/strong&gt;(der ist dafür gedacht, wenn man nur einen ZooKeeper hat), welchen wir ersetzen wollen. Statt localhost:2181 (2181 ist der ZooKeeoper Port) geben wir kommasepariert die IP&amp;#39;s und Port unserer Master-ZooKeeper Server an. In meinem Fall sieht der Eintrag dann also so aus:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;zk://192.168.122.252:2181,&lt;/strong&gt;&lt;strong&gt;192.168.122.251&lt;/strong&gt;&lt;strong&gt;:2181,&lt;/strong&gt;&lt;strong&gt;192.168.122.250&lt;/strong&gt;&lt;strong&gt;:2181/mesos&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;&lt;br&gt;&lt;strong&gt;Master-Hosts/VMs (Mesos-Master)&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Auf den &lt;strong&gt;Master-Hosts&lt;/strong&gt;&amp;nbsp;müssen wir nun jeder ZooKeeper-Instanz eine eindeutige ID verpassen. Dazu editieren wir &lt;strong&gt;/etc/zookeeper/conf/myid&lt;/strong&gt;&amp;nbsp;auf jedem Master. Die ID darf eine Zahl von 1-255 sein. In meinem Fall nehme ich das letzte Oktet von der IP der jeweiligen Master-VM also ID 252 für master01, 251 für master02 und 250 für master03.&lt;/p&gt; 
    &lt;p&gt;Dann müssen wir der ID einen Host zuweisen. Dieses Mapping macht man in der Datei&amp;nbsp;&lt;strong&gt;/etc/zookeeper/conf/zoo.cfg&lt;/strong&gt;&amp;nbsp;und sieht wie folgt aus:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;server.252=192.168.122.252:2888:3888&lt;br&gt;server.251=192.168.122.251:2888:3888&lt;br&gt;server.250=192.168.122.250:2888:3888&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Hinter &lt;strong&gt;server.&lt;/strong&gt; steht also unsere ID, die wir oben vergeben haben und hinter dem &amp;quot;=&amp;quot;&amp;nbsp;dann die IP des zugehörigen Hosts. Der erste &lt;strong&gt;Port 2888&lt;/strong&gt; wird verwendet, um mit dem Master zu kommunizieren. Der zweite &lt;strong&gt;Port 3888&lt;/strong&gt; wird verwendet, wenn ein neuer Master gewählt werden muss. Sollte man eine Firewall zwischen den Hosts haben, muss man die Ports natürlich freischalten! ZooKeeper ist damit soweit fertig.&lt;/p&gt; 
    &lt;p&gt;Kümmern uns nun um die &lt;strong&gt;Mesos Master&lt;/strong&gt; selber. Zuerst müssen wir das Quorum anpassen. Das Quorum legt fest, wie viele Nodes im Cluster noch funktionieren müssen, damit der Cluster noch als funktional eingestuft werden kann und Entscheidungen treffen kann. Über 50% des Clusters sollten noch funktionieren, damit Entscheidungen getroffen werden können. D.h. in unserem Fall von den drei Master-Hosts müssen mindestens zwei noch laufen. Wir setzen also auf ALLEN Master-VMs in&amp;nbsp;&lt;strong&gt;/etc/mesos-master/quorum&lt;/strong&gt; einen Wert von 2 (Default ist 1).&amp;nbsp;&lt;/p&gt; 
    &lt;p&gt;Dann schreiben wir auf ALLEN Master-VMs in &lt;strong&gt;/etc/mesos-master/ip&lt;/strong&gt;&amp;nbsp;die IP des jeweiligen Hosts, auf dem wir die Datei gerade editieren. Das Gleiche machen wir in&lt;strong&gt;/etc/mesos-master/hostname&lt;/strong&gt;&amp;nbsp;(alternativ kann man hier auch den Hostnamen rein schreiben, allerdings sollte man dann alle Hosts in der /etc/hosts stehen haben auf allen Mesos-Hosts/VMs, damit man nicht von einem DNS-Server abhängig ist - und falls der ausfällt, ist das eher ungünstig, zumindest wenn das Ganze produktiv wird ;-) ).&lt;/p&gt; 
    &lt;p&gt;&lt;br&gt;&lt;strong style=&quot;font-size:medium;&quot;&gt;Master-Hosts/VMs (Marathon)&lt;/strong&gt; &lt;/p&gt; 
    &lt;p&gt;Als Nächstes ist dann die &lt;strong&gt;Marathon Konfiguration&lt;/strong&gt; an der Reihe - die verteilte init System Implementierung, wenn man so will. Marathon startet u.a. lang laufende Prozesse. Marathon läuft auf allen Master-Hosts, aber nur der Leader kann Jobs ausführen. Die anderen Marathon Instanzen leiten die Requests transparent an den Leader weiter. Für jede Marathon Instanz müssen wir wie bei Mesos auch schon, wieder den Hostnamen festlegen. Hierzu können wir einfach&amp;nbsp;&lt;strong&gt;/etc/mesos-master/hostname &lt;/strong&gt;nach &lt;strong&gt;/etc/marathon/conf/hostname&lt;/strong&gt; kopieren, müssen aber vorher noch das Verzeichnis auf jedem Master-Host anlegen (&lt;strong&gt;mkdir -p&amp;nbsp;/etc/marathon/conf&lt;/strong&gt;).&amp;nbsp;&lt;/p&gt; 
    &lt;p&gt;Dann müssen wir eine Liste von ZooKeeper Master für Marathon festlegen, die Marathon benötigt für den Informationsaustausch und Scheduling. Die Liste hat das gleiche Format wie wir es für Mesos in &lt;strong&gt;/etc/mesos/zk&lt;/strong&gt; schon festgelegt haben. Auf ALLEN Master-Hosts kopieren wir also die Datei&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo cp /etc/mesos/zk /etc/marathon/conf/master&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Damit erlauben wir Marathon sich mit dem Mesos Cluster zu verbinden. Allerdings soll Marathon seine eigenen Informationen in ZooKeeper speichern können. Dafür nehmen wir wieder die gleiche Konfigurationsdatei und passen nur den Endpunkt (/marathon anstatt /mesos) an. Auf allen Master-Hosts kopieren wir&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo cp /etc/marathon/conf/master /etc/marathon/conf/zk&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Dann editieren wir &lt;strong&gt;/etc/marathon/conf/zk&lt;/strong&gt; und tauschen, wie oben schon erwähnt, den Endpunkt &lt;strong&gt;/mesos&lt;/strong&gt; durch &lt;strong&gt;/marathon&lt;/strong&gt; aus. Dann sind wir mit Marathon soweit durch.&lt;/p&gt; 
    &lt;p&gt;Auf den Master-Hosts sollen keine Slave-Prozesse laufen, deshalb beenden wir diese (soweit sie überhaupt laufen) und sorgen dafür, das sie beim Reboot nicht wieder starten:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo stop mesos-slave&lt;br&gt;echo manual | sudo tee /etc/init/mesos-slave.override&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Nun soll dann auch endlich unser Konfiguration aktiv werden, an der wir schon die ganze Zeit rum basteln ;-)&amp;nbsp;&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo restart zookeeper&lt;br&gt;sudo start mesos-master&lt;br&gt;sudo start marathon&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Wenn wir alles richtig gemacht haben, können wir uns auf einen der Master mal die GUI (Port 5050) anschauen z.B.&amp;nbsp;http://192.168.122.251:5050/&amp;nbsp;. Man wird dann automatisch auf den Leader weitergeleitet, wenn man ihn nicht auf Anhieb erwischt. Bei Problemen kann man auf den Master-Hosts auch mal einen Blick in das ZooKeeper Log unter&amp;nbsp;&lt;strong&gt;/var/log/zookeeper&lt;/strong&gt; werfen. Da wir noch keine Slaves am Laufen haben, sieht die GUI noch nicht sehr spannend aus ;-)&lt;/p&gt; 
    &lt;p&gt;Auf die Marathon-GUI können wir auch einen Blick werfen, welche unter Port 8080 läuft z.B. http://192.168.122.251:8080/ . Auch hier geht es nicht sonderlich spannend zu im Moment ;-)&lt;/p&gt; 
    &lt;p&gt;&lt;br&gt;&lt;strong&gt;Slave-Hosts/VMs&lt;/strong&gt; &lt;/p&gt; 
    &lt;p&gt;Da wir jetzt mit den Master-Hosts fertig sind, kümmern wir uns um die &lt;strong&gt;Slave-Hosts&lt;/strong&gt;. Da wir hier keinen ZooKeeper und Mesos Master benötigen, fahren wir die Services runter (soweit sie laufen) und sorgen auch dafür, das diese Services beim Reboot nicht wieder starten. Auf ALLEN Slave-Hosts also:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo stop zookeeper&lt;br&gt;sudo echo manual | sudo tee /etc/init/zookeeper.override&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo stop mesos-master&lt;br&gt;sudo echo manual | sudo tee /etc/init/mesos-master.override&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Auch für die Slave-Hosts müssen wir wieder Hostname und IP festlegen diesmal im Verzeichnis &lt;strong&gt;/etc/mesos-slave&lt;/strong&gt;. In unserem Fall sieht das für den ERSTEN Slave-Host dann so aus&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;echo &amp;quot;192.168.122.249&amp;quot; | sudo tee /etc/mesos-slave/ip&lt;br&gt;sudo cp /etc/mesos-slave/ip /etc/mesos-slave/hostname&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Für die weiteren Slave-Hosts passt man die IP entsprechend an und führt die Kommandos dort aus. Dann können wir die Mesos Slaves auf ALLEN Slave-Hosts starten:&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;sudo service mesos-slave start&lt;/strong&gt;&lt;/p&gt; 
    &lt;p&gt;Wenn wir uns nun wieder auf eine der Mesos-Master GUIs einloggen (z.B.&amp;nbsp;http://192.168.122.251:5050/), sollte auf der linken Seite irgendwo &lt;strong&gt;Slaves / Activated 3&lt;/strong&gt;&amp;nbsp;stehen. Etwas weiter unten sieht man die Resourcen, die uns insgesamt im Cluster dann zur Verfügung stehen - also etwa die Anzahl der CPUs und RAM. Weitere Infos über die Slaves bekommt man, wenn man oben im Menü auf &lt;strong&gt;Slaves&lt;/strong&gt; klickt.&lt;/p&gt; 
    &lt;p&gt;Damit ist ZooKeeper, Mesos und Marathon soweit einsatzbereit. Über die Marathon-GUI (z.B. http://192.168.122.251:8080/) können wir dann oben links auf &lt;strong&gt;New Apps&lt;/strong&gt;&amp;nbsp;klicken und einen Task definieren. Zum Testen kann man einfach mal bei der ID &lt;strong&gt;Hello&lt;/strong&gt; eingeben und beim Command&lt;/p&gt; 
    &lt;p&gt;&lt;strong&gt;echo hello; sleep 10;&lt;/strong&gt; &lt;/p&gt; 
    &lt;p&gt;Man sieht dann, das alle 10 Sek. der Task auf einem Slave gestartet wird, nachdem er sich beendet hat.&lt;br&gt;&lt;br&gt;&lt;/p&gt; 
    &lt;p&gt; &lt;/p&gt; 
  &lt;/div&gt; 
  &lt;div&gt; 
    &lt;p&gt; &lt;/p&gt; 
    &lt;p&gt; &lt;/p&gt; 
    &lt;p&gt; &lt;/p&gt; 
    &lt;p&gt; &lt;/p&gt; 
    &lt;p&gt; &lt;/p&gt; 
  &lt;/div&gt; 
  &lt;div&gt; 
    &lt;p&gt; &lt;/p&gt; 
  &lt;/div&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/jaws-the-javascript-aws-stack</id>
        <title type="html">JAWS: The Javascript + AWS Stack</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/jaws-the-javascript-aws-stack"/>
        <published>2015-08-06T21:56:42+00:00</published>
        <updated>2015-08-06T21:56:42+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="aws" scheme="http://roller.apache.org/ns/tags/" />
        <category term="cloud" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="lambda" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wer mal seine Applikation komplett ohne Server und nur mit Javascript und AWS-Services aufbauen will, kann &lt;a href=&quot;https://github.com/servant-app/JAWS&quot; target=&quot;_blank&quot;&gt;JAWS&lt;/a&gt; ausprobieren. Es baut komplett auf AWS-APIs und Services auf und verwendet z.B. keine EC2-Instanzen. Zum Einsatz kommen:&lt;/p&gt; 
  &lt;p&gt;Javascript:&lt;br&gt;Node.js (In AWS Lambda Funktionen)&lt;br&gt;jQuery (Front-End Site)&lt;/p&gt; 
  &lt;p&gt;AWS Services:&lt;br&gt;DynamoDB - Managed, NOSQL Data Storage&lt;br&gt;Lambda - Worker Tasks&lt;br&gt;API Gateway - APIs deren URLs auf Lambda Funktionen zeigen&lt;br&gt;S3 - Statische Elemente wie Bilder, CSS, usw.&lt;/p&gt; 
  &lt;p&gt;Weitere:&lt;br&gt;JSON Web Tokens&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/react-developer-tools</id>
        <title type="html">React Developer Tools</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/react-developer-tools"/>
        <published>2015-08-06T21:56:30+00:00</published>
        <updated>2015-08-06T21:56:30+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="chrome" scheme="http://roller.apache.org/ns/tags/" />
        <category term="firefox" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Wer mit ReactJS entwickelt, dem könnten diese &lt;a href=&quot;https://github.com/facebook/react-devtools&quot; target=&quot;_blank&quot;&gt;Developertools&lt;/a&gt; eine wertvolle Hilfe sein.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/n%C3%BCtzliche-tools-f%C3%BCr-nodejs-projekte</id>
        <title type="html">Nützliche Tools für NodeJS Projekte</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/n%C3%BCtzliche-tools-f%C3%BCr-nodejs-projekte"/>
        <published>2015-08-06T21:56:24+00:00</published>
        <updated>2015-08-06T21:56:24+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Eine ganze Reihe nützlicher Tools für NodeJS Projekte listet &lt;a href=&quot;https://medium.com/@anephenix/useful-tools-for-your-node-js-projects-20fd1f7c860a&quot; target=&quot;_blank&quot;&gt;diese Website&lt;/a&gt; auf.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/polaris-ui-free-user-interface</id>
        <title type="html">Polaris UI Free – User Interface Pack</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/polaris-ui-free-user-interface"/>
        <published>2015-08-06T21:56:15+00:00</published>
        <updated>2015-08-06T21:56:15+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="design" scheme="http://roller.apache.org/ns/tags/" />
        <category term="graphics" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;http://designmodo.com/polaris-free/&quot; target=&quot;_blank&quot;&gt;Polaris&lt;/a&gt; ist ein schönes User Interface Set für eine Website mit Elementen wie Edit Boxes, Check Boxes, Radio Buttons, Page Navigation, Menu, Buttons und noch ein paar mehr, das man sich kostenlos herunterladen kann.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/fastonosql</id>
        <title type="html">FastoNoSQL</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/fastonosql"/>
        <published>2015-08-04T22:12:37+00:00</published>
        <updated>2015-08-04T22:12:37+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="leveldb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="memcached" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nosql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="redis" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ssdb" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Eine &lt;a href=&quot;http://fastonosql.com/&quot; target=&quot;_blank&quot;&gt;GUI&lt;/a&gt; für Redis, Memached, LevelDB und SSDB (MongoDB und RocksDB sollen folgen). Mit Autovervollständigung, Tabs, Redis Cluster Support und SSH-Verbindung.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/vm-mit-virsh-install-installieren</id>
        <title type="html">VM mit virsh-install installieren</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/vm-mit-virsh-install-installieren"/>
        <published>2015-08-04T22:12:29+00:00</published>
        <updated>2015-08-06T21:55:52+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="kvm" scheme="http://roller.apache.org/ns/tags/" />
        <category term="libvirt" scheme="http://roller.apache.org/ns/tags/" />
        <category term="qemu" scheme="http://roller.apache.org/ns/tags/" />
        <category term="virsh" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Wenn man libvirtd (und die div. virsh*-Tools) installiert hat, kann man sich mit folgenden Kommando eine Ubuntu 14.04 VM erzeugen:&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;strong&gt;export VMNAME=vm_name&lt;br&gt;export VMRAM=1024&lt;br&gt;export VMCPU=3&amp;nbsp;&lt;/strong&gt;&lt;/p&gt; 
  &lt;div&gt; 
    &lt;p&gt;&lt;strong&gt;virt-install \&lt;/strong&gt;&lt;/p&gt; 
  &lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--name $VMNAME \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--ram $VMRAM \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--disk path=/var/lib/libvirt/images/$VMNAME.qcow2,size=10 \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--vcpus $VMCPU \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--os-type linux \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--os-variant generic \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--network bridge=virbr0 \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--graphics none \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--console pty,target_type=serial \&lt;/strong&gt;&lt;/div&gt; 
  &lt;div&gt;&lt;strong&gt;--location &amp;#39;http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/&amp;#39; \&lt;br&gt;&lt;/strong&gt;&lt;strong&gt;--extra-args &amp;#39;console=ttyS0,115200n8 serial&amp;#39;&lt;/strong&gt;&lt;/div&gt;
  &lt;div&gt; 
    &lt;p&gt;&lt;strong&gt;vm_name&lt;/strong&gt; ersetzt man durch den Namen, den die VM später haben soll und bei &lt;strong&gt;virsh list&lt;/strong&gt; angezeigt wird. &lt;strong&gt;VMRAM&lt;/strong&gt; gibt die RAM-Größe an und &lt;strong&gt;VMCPU&lt;/strong&gt; die Anzahl der CPUs, die die VM nutzen darf. Wenn libvirtd gestartet ist, gibt es normalerweise auch ein Netzwerk-Interface &lt;strong&gt;virbr0&lt;/strong&gt;. Sollte das &lt;strong&gt;br0&lt;/strong&gt; o.ä. heissen, muss man das entsprechend anpassen.&lt;br&gt;&lt;br&gt;&lt;/p&gt; 
  &lt;/div&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/wacken-2015-konzerte-bei-3sat</id>
        <title type="html">Wacken 2015 Konzerte bei 3sat</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/wacken-2015-konzerte-bei-3sat"/>
        <published>2015-08-02T22:41:07+00:00</published>
        <updated>2015-08-02T22:41:07+00:00</updated> 
        <category term="Arts" label="Arts" />
        <content type="html">&lt;p&gt;Folgende sechs &lt;a href=&quot;http://blog.zdf.de/festivalsommer/wacken-2015-die-ersten-einzelkonzerte-stehen-fest-2/&quot; target=&quot;_blank&quot;&gt;Einzelkonzerte&lt;/a&gt; stehen schon mal fest (jeweils 60 Min.), die im TV übertragen werden:&lt;/p&gt;
  &lt;p&gt;In Flames&lt;br&gt;10. August, 2.05 Uhr (3sat) / 08. August, 20.15 Uhr (ZDFkultur)&lt;/p&gt;
  &lt;p&gt;The Boss Hoss&lt;br&gt;10. August, 3.05 Uhr (3sat) / 08. August, 21.15 Uhr (ZDFkultur)&lt;/p&gt;
  &lt;p&gt;In Extremo&lt;br&gt;10. August, 4.05 Uhr (3sat) / 08. August, 22.15 Uhr (ZDFkultur)&lt;/p&gt;
  &lt;p&gt;Running Wild&lt;br&gt;10. August, 5.05 Uhr (3sat) / 08. August, 23.15 Uhr (ZDFkultur)&lt;/p&gt;
  &lt;p&gt;Queensrÿche&lt;br&gt;14. August, 4.10 Uhr (3sat) / 08. August, 0.15 Uhr (ZDFkultur)&lt;/p&gt;
  &lt;p&gt;Cradle Of Filth&lt;br&gt;14. August, 5.10 Uhr (3sat) / 08. August, 1.15 Uhr (ZDFkultur)&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/wacken-2015-vier-stunden-als</id>
        <title type="html">Wacken 2015 – Vier Stunden als VOD, Sabaton LIVE</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/wacken-2015-vier-stunden-als"/>
        <published>2015-08-02T22:38:47+00:00</published>
        <updated>2015-08-02T22:38:47+00:00</updated> 
        <category term="Arts" label="Arts" />
        <category term="in_flames" scheme="http://roller.apache.org/ns/tags/" />
        <category term="music" scheme="http://roller.apache.org/ns/tags/" />
        <category term="running_wild" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sabaton" scheme="http://roller.apache.org/ns/tags/" />
        <category term="savatage" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tso" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Am Samstag 1.8. übertrug 3sat 4 Stunden vom Wacken 2015. Das Konzert von Sabaton wurde LIVE übertragen. Dieses Sabaton-Konzert kommt im Winter auch als DVD raus. Unbedingt rein ziehen! Ein Hammer-Konzert! Und bei TSO &amp;amp; Savatage gab es eine Wacken-Premiere: Sie spielten auf zwei Bühnen gleichzeitig. Die ganzen 4 Stunden gibt es jetzt in der &lt;a href=&quot;http://blog.zdf.de/festivalsommer/wachen-2015-die-ganzen-vier-stunden/&quot; target=&quot;_blank&quot;&gt;Mediathek&lt;/a&gt;!&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/rest-api-mit-hapi-dogwater</id>
        <title type="html">REST API mit Hapi, Dogwater und Bedwetter erzeugen</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/rest-api-mit-hapi-dogwater"/>
        <published>2015-07-29T22:00:46+00:00</published>
        <updated>2015-07-29T22:00:46+00:00</updated> 
        <category term="General" label="General" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">... erklärt dieser &lt;a href=&quot;http://blog.webkid.io/how-to-create-a-rest-api-with-hapi/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt;.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/20-n%C3%BCtzliche-angularjs-tools</id>
        <title type="html">20 nützliche AngularJS Tools...</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/20-n%C3%BCtzliche-angularjs-tools"/>
        <published>2015-07-29T22:00:42+00:00</published>
        <updated>2015-07-29T22:00:42+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="angularjs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="framework" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tools" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">... findet man in diesem &lt;a href=&quot;http://www.fromdev.com/2015/07/useful-angularjs-tools.html&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt;.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/einf%C3%BChrung-in-funktionale-programmierung-mit</id>
        <title type="html">Einführung in funktionale Programmierung mit JavaScript</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/einf%C3%BChrung-in-funktionale-programmierung-mit"/>
        <published>2015-07-29T22:00:37+00:00</published>
        <updated>2015-07-29T22:00:37+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Prof. Frisby&amp;#39;s&amp;nbsp;&lt;a href=&quot;https://github.com/DrBoolean/mostly-adequate-guide&quot; target=&quot;_blank&quot;&gt;Mostly adequate guide to FP in JavaScript&lt;/a&gt;&amp;nbsp;ist eine umfangreiche Einführung in&amp;nbsp;funktionale Programmierung.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/aquatico-free-san-serif-font</id>
        <title type="html">Aquatico - Free San Serif Font</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/aquatico-free-san-serif-font"/>
        <published>2015-07-29T22:00:22+00:00</published>
        <updated>2015-07-29T22:00:22+00:00</updated> 
        <category term="General" label="General" />
        <category term="font" scheme="http://roller.apache.org/ns/tags/" />
        <category term="graphics" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;https://www.behance.net/gallery/28096233/Aquatico-Free-San-Serif&quot; target=&quot;_blank&quot;&gt;Aquatico&lt;/a&gt; ist eine freier San Serif Font.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/musik-im-browser-web-audio</id>
        <title type="html">Musik im Browser – Web Audio API Teil 1</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/musik-im-browser-web-audio"/>
        <published>2015-07-29T22:00:17+00:00</published>
        <updated>2015-07-29T22:00:17+00:00</updated> 
        <category term="General" label="General" />
        <category term="api" scheme="http://roller.apache.org/ns/tags/" />
        <category term="audio" scheme="http://roller.apache.org/ns/tags/" />
        <category term="browser" scheme="http://roller.apache.org/ns/tags/" />
        <category term="music" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Eine &lt;a href=&quot;http://www.keithmcmillen.com/blog/making-music-in-the-browser-web-audio-api-part-1/&quot; target=&quot;_blank&quot;&gt;Einführung&lt;/a&gt; in die Web Audio API.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/eine-einfache-empfehlungsengine-mit-javascript</id>
        <title type="html">Eine einfache Empfehlungsengine mit JavaScript...</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/eine-einfache-empfehlungsengine-mit-javascript"/>
        <published>2015-07-29T22:00:12+00:00</published>
        <updated>2015-07-29T22:00:12+00:00</updated> 
        <category term="General" label="General" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">... baut Keith Horwood in seinem Artikel &lt;a href=&quot;https://medium.com/@keithwhor/using-graph-theory-to-build-a-simple-recommendation-engine-in-javascript-ec43394b35a3&quot; target=&quot;_blank&quot;&gt;Using Graph Theory to Build a Simple Recommendation Engine in JavaScript&lt;/a&gt;.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/clickspark-js</id>
        <title type="html">clickspark.js</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/clickspark-js"/>
        <published>2015-07-29T22:00:03+00:00</published>
        <updated>2015-07-29T22:00:03+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;clickspark.js ist eine JavaScript Lib die JavaScript Events Partikeleffekte hinzufügen kann.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/bare-auth</id>
        <title type="html">Bare Auth</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/bare-auth"/>
        <published>2015-07-29T21:59:58+00:00</published>
        <updated>2015-07-29T21:59:58+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="authentication" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jwt" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;https://github.com/lapwinglabs/bare-auth&quot; target=&quot;_blank&quot;&gt;Bare Auth&lt;/a&gt; ist ein Stateless Authentication Server der u.a. Google, Twitter, Facebook und Linkedin Logins unterstützt.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/reset-magazine-ausgabe-07</id>
        <title type="html">RESET Magazine Ausgabe 07</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/reset-magazine-ausgabe-07"/>
        <published>2015-07-27T21:10:31+00:00</published>
        <updated>2015-07-27T21:10:31+00:00</updated> 
        <category term="News" label="News" />
        <category term="c64" scheme="http://roller.apache.org/ns/tags/" />
        <category term="retro" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Für alle C64 Fans bietet dieses englische &lt;a href=&quot;http://reset.cbm8bit.com/&quot; target=&quot;_blank&quot;&gt;Retro-Magazin&lt;/a&gt; allerhand Infos auf 92 Seiten (u.a. auch als &lt;a href=&quot;http://reset.cbm8bit.com/download-file/10/Reset07_July2015.pdf&quot; target=&quot;_blank&quot;&gt;PDF&lt;/a&gt;).&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/woofmark-ein-markdown-und-html</id>
        <title type="html">woofmark - Ein Markdown und HTML Editor</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/woofmark-ein-markdown-und-html"/>
        <published>2015-07-24T22:08:11+00:00</published>
        <updated>2015-07-24T22:08:11+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="html" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="markdown" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;a href=&quot;https://github.com/bevacqua/woofmark&quot; target=&quot;_blank&quot;&gt;woofmark&lt;/a&gt; ist ein&amp;nbsp;Markdown und HTML Editor geschrieben in Javascript. Man kann ihn also in eine Website mit einbauen.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/zombodb-postgresql-und-elasticsearch</id>
        <title type="html">ZomboDB - PostgreSQL und Elasticsearch</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/zombodb-postgresql-und-elasticsearch"/>
        <published>2015-07-24T22:08:07+00:00</published>
        <updated>2015-08-06T21:56:36+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="extension" scheme="http://roller.apache.org/ns/tags/" />
        <category term="fulltextsearch" scheme="http://roller.apache.org/ns/tags/" />
        <category term="postgresql" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;https://github.com/zombodb/zombodb&quot; target=&quot;_blank&quot;&gt;ZomboDB&lt;/a&gt; ist eine PostgreSQL Erweiterung (Extension). Mit dieser Erweiterung kann man Elasticsearch als Backend für Volltextsuche einbinden.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/bokeh-python-interactive-visualization-library</id>
        <title type="html">Bokeh Python Interactive Visualization Library</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/bokeh-python-interactive-visualization-library"/>
        <published>2015-07-24T22:08:03+00:00</published>
        <updated>2015-07-24T22:08:03+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <category term="python" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;&lt;a href=&quot;http://bokeh.pydata.org/&quot; target=&quot;_blank&quot;&gt;Bokeh&lt;/a&gt; ist eine interaktive Python Visualisierungsbibliothek für moderne Webbrowser im Stil von d3.js, also um Daten grafisch schon aufzubereiten. Der Vorteil bei Bokeh soll u.a. darin liegen, das es auch mit großen Datenmengen umgehen kann und man interaktiv mit den Daten arbeiten kann.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/async-101-einf%C3%BChrung-in-die</id>
        <title type="html">Async 101 - Einführung in die asynchrone JavaScript-Programmierung</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/async-101-einf%C3%BChrung-in-die"/>
        <published>2015-07-24T22:07:57+00:00</published>
        <updated>2015-07-24T22:07:57+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Bei heise findet sich eine ganz gute &lt;a href=&quot;http://www.heise.de/developer/artikel/Einfuehrung-in-die-asynchrone-JavaScript-Programmierung-2752531.html&quot; target=&quot;_blank&quot;&gt;Einführung&lt;/a&gt; zur&amp;nbsp;asynchronen JavaScript-Programmierung.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/how_to_automatically_fetch_missing</id>
        <title type="html">Abhängigkeiten bei der Installation eines .deb Pakets auflösen</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/how_to_automatically_fetch_missing"/>
        <published>2015-07-23T21:34:51+00:00</published>
        <updated>2015-07-23T21:34:51+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="apt-get" scheme="http://roller.apache.org/ns/tags/" />
        <category term="debian" scheme="http://roller.apache.org/ns/tags/" />
        <category term="package" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;div&gt;
    &lt;p&gt;Wenn man ein .deb Paket direkt installieren will und auch die Abhängigkeiten aufgelöst werden sollen, dann kann man das mit &lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;gdebi paketname.deb&lt;/strong&gt;&lt;/p&gt;
    &lt;p&gt;machen.&lt;br&gt; &lt;/p&gt;
  &lt;/div&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/blaze-tab-android-retro-gaming</id>
        <title type="html">BLAZE TAB Android Retro Gaming Tablet - 16GB Edition</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/blaze-tab-android-retro-gaming"/>
        <published>2015-07-23T21:31:17+00:00</published>
        <updated>2015-07-23T21:31:17+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="amiga" scheme="http://roller.apache.org/ns/tags/" />
        <category term="android" scheme="http://roller.apache.org/ns/tags/" />
        <category term="c64" scheme="http://roller.apache.org/ns/tags/" />
        <category term="games" scheme="http://roller.apache.org/ns/tags/" />
        <category term="retro" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Bei Funstock.co.uk gibt es ab dem dritten Quartal 2015 ein Android Tablet/Gamepad für Retro Fans. U.a. sind Emulatoren für PS1, MAME, Dreamcast, N64, NeoGeo, Atari, NES, SNES, Gameboy, Gameboy Colour, Gameboy Advance, SEGA Master System, SEGA Mega Drive, CPS1, CPS2, Amiga, Commodore 64, ZX Spectrum und noch ein paar andere drauf. Das Gamepad hat einen HDMI-Ausgang, Quadcore Prozessor, WiFi, usw.

&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/layzr-js</id>
        <title type="html">Layzr.js</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/layzr-js"/>
        <published>2015-07-23T21:31:13+00:00</published>
        <updated>2015-07-23T21:31:13+00:00</updated> 
        <category term="General" label="General" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="programming" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Bilder einer Website nicht auf einmal zu laden, sondern erst nachgelagert, dafür kann man &lt;a href=&quot;http://callmecavs.github.io/layzr.js/&quot; target=&quot;_blank&quot;&gt;Layzr.js&lt;/a&gt; verwenden.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/image-blur-plugin</id>
        <title type="html">Image Blur Plugin</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/image-blur-plugin"/>
        <published>2015-07-23T21:31:08+00:00</published>
        <updated>2015-07-23T21:31:08+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jquery" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Um ein Hintergrundbild auf einer Webseite unscharf zu zeichnen, kann man dieses kleine &lt;a href=&quot;http://msurguy.github.io/background-blur/&quot; target=&quot;_blank&quot;&gt;JQuery Plugin&lt;/a&gt; verwenden.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/greuler</id>
        <title type="html">greuler</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/greuler"/>
        <published>2015-07-23T21:31:03+00:00</published>
        <updated>2015-07-23T21:31:03+00:00</updated> 
        <category term="General" label="General" />
        <content type="html">&lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;a href=&quot;http://maurizzzio.github.io/greuler/&quot; target=&quot;_blank&quot;&gt;greuler&lt;/a&gt; baut auf &lt;a href=&quot;http://d3js.org/&quot; target=&quot;_blank&quot;&gt;d3&lt;/a&gt; und &lt;a href=&quot;http://marvl.infotech.monash.edu/webcola/&quot; target=&quot;_blank&quot;&gt;WebCola&lt;/a&gt; auf und ermöglicht die Erzeugung und Manipulierung von Graphen über eine simple API.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/kubernetes-mit-vagrant-und-virtualbox</id>
        <title type="html">Kubernetes mit Vagrant und VirtualBox</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/kubernetes-mit-vagrant-und-virtualbox"/>
        <published>2015-07-23T21:30:58+00:00</published>
        <updated>2015-07-23T21:30:58+00:00</updated> 
        <category term="General" label="General" />
        <category term="cloud" scheme="http://roller.apache.org/ns/tags/" />
        <category term="kubernetes" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Wer Kubernetes mal lokal ausprobieren möchte, findet mit dieser &lt;a href=&quot;https://github.com/GoogleCloudPlatform/kubernetes/blob/release-1.0/docs/getting-started-guides/vagrant.md&quot; target=&quot;_blank&quot;&gt;Anleitung&lt;/a&gt; eine ganz gute Einführung.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/two-js</id>
        <title type="html">Two.js</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/two-js"/>
        <published>2015-07-23T21:30:50+00:00</published>
        <updated>2015-07-23T21:30:50+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="2d" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;a href=&quot;https://jonobr1.github.io/two.js/&quot; target=&quot;_blank&quot;&gt;Two.js&lt;/a&gt;&amp;nbsp;ist eine API zum Zeichnen von 2D-Grafiken mit modernen Web-Browsern. Die API kann im SVG, Canvas und WebGL Kontext zeichen.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/nodejs-testing</id>
        <title type="html">NodeJS Testing</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/nodejs-testing"/>
        <published>2015-07-23T21:30:46+00:00</published>
        <updated>2015-07-23T21:30:46+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="testing" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Der Artikel &amp;quot;&lt;a href=&quot;https://iamstarkov.com/start-with-testing/&quot; target=&quot;_blank&quot;&gt;How to start with nodejs testing&lt;/a&gt;&amp;quot; gibt eine ganz gute Einführung zum Thema NodeJS Testing.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/satellizer</id>
        <title type="html">Satellizer</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/satellizer"/>
        <published>2015-07-23T21:30:42+00:00</published>
        <updated>2015-07-23T21:30:42+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="angularjs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="authentication" scheme="http://roller.apache.org/ns/tags/" />
        <category term="facebook" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oauth" scheme="http://roller.apache.org/ns/tags/" />
        <category term="twitter" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt; &lt;/p&gt; 
  &lt;p&gt;&lt;a href=&quot;https://github.com/sahat/satellizer&quot; target=&quot;_blank&quot;&gt;Satellizer&lt;/a&gt; ist ein Authentifizierungsmodul für AngularJS mit Support für Google, Facebook, LinkedIn, Twitter, Yahoo und Windows Live, E-Mail/Passwort Login. Außerdem kann es um weitere OAuth 1.0 und 2.0 Provider erweitert werden.&lt;br&gt;&lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/create-a-tv-show-tracker</id>
        <title type="html"> Create a TV Show Tracker using AngularJS, Node.js and MongoDB</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/create-a-tv-show-tracker"/>
        <published>2015-07-23T21:30:36+00:00</published>
        <updated>2015-07-23T21:30:36+00:00</updated> 
        <category term="Tipps" label="Tipps" />
        <category term="angularjs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mongodb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nosql" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Ein unfangreiches &lt;a href=&quot;http://sahatyalkabov.com/create-a-tv-show-tracker-using-angularjs-nodejs-and-mongodb/&quot; target=&quot;_blank&quot;&gt;Tutorial&lt;/a&gt; das die Technologien&amp;nbsp;AngularJS, Node.js und MongoDB verwendet.&lt;br&gt;&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://www.tauceti.net/roller/cetixx/entry/create-a-character-voting-app</id>
        <title type="html"> Create a character voting app using React, Node.js, MongoDB and Socket.IO</title>
        <author><name>cetixx</name></author>
        <link rel="alternate" type="text/html" href="https://www.tauceti.net/roller/cetixx/entry/create-a-character-voting-app"/>
        <published>2015-07-23T12:48:11+00:00</published>
        <updated>2015-07-23T12:55:33+00:00</updated> 
        <category term="Links" label="Links" />
        <category term="javascript" scheme="http://roller.apache.org/ns/tags/" />
        <category term="mongodb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nosql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="react" scheme="http://roller.apache.org/ns/tags/" />
        <category term="socketio" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Ein ziemlich umfangreiches &lt;a href=&quot;http://sahatyalkabov.com/create-a-character-voting-app-using-react-nodejs-mongodb-and-socketio/&quot; target=&quot;_blank&quot;&gt;Tutorial&lt;/a&gt;, das&amp;nbsp;React, Node.js, MongoDB und Socket.IO nutzt.&lt;br&gt;&lt;br&gt;</content>
    </entry>
</feed>

