Martins Schmierzettel https://blog.mdosch.de/ de Mon, 10 Apr 2017 19:55:00 GMT https://blog.mdosch.de/feed/ acrylamid 0.7.10 Kurztipp: s2s_secure_auth mit prosody auf Uberspace https://blog.mdosch.de/2017/04/10/kurztipp-s2s-secure-auth-mit-prosody-auf-uberspace/ <p>Angerect durch <a href="https://thomas-leister.de/sichere-xmpp-s2s-verschluesselung/">diesen Aufruf</a> habe ich bei meiner <a href="https://prosody.im/">prosody</a>-Installation auf <a href="https://uberspace.de/">Uberspace</a> <em>s2s_secure_auth</em> aktiviert. Diese <a href="https://prosody.im/doc/s2s#security">Einstellung</a> bewirkt, dass nur noch Verbindungen zu Servern mit gültigen Zertifikaten aufgebaut werden. Um sie zu aktivieren muss in der Datei <code>prosody.cfg.lua</code> folgende Zeile auskommentiert werden:</p> <div class="highlight"><pre><span></span>s2s_secure_auth = true </pre></div> <p>Leider funktionierte die Überprüfung der Zertifikate bei mir so noch nicht auf Uberspace. <a href="https://prosody.im/doc/advanced_ssl_config">Hier</a> fand ich einen Hinweis auf die Option <em>cafile</em> mit der ich das Problem beheben konnte. Dazu muss die Konfiguration <code>prosody.cfg.lua</code> folgendermaßen angepasst werden: <!-- more --></p> <div class="highlight"><pre><span></span>ssl = { key = &quot;/pfad/zu/eurem/key&quot;; certificate = &quot;/pfad/zu/eurem/cert&quot;; --capath = &quot;/etc/ssl/certs/&quot;; cafile = &quot;/etc/ssl/certs/ca-bundle.trust.crt&quot;; } </pre></div> <p>Nach einem Neustart von <em>prosody</em> funktionierte das Überprüfen der Zertifikate auch bei meiner Installation.</p> Mon, 10 Apr 2017 19:55:00 GMT tag:blog.mdosch.de,2017-04-10:/2017/04/10/kurztipp-s2s-secure-auth-mit-prosody-auf-uberspace Kurztipp: Prosody für den mobilen Einsatz fit machen https://blog.mdosch.de/2017/04/08/kurztipp-prosody-fuer-den-mobilen-einsatz-fit-machen/ <p>Ich habe auf meinem <a href="https://uberspace.de/">Uberspace</a> einen XMPP-Server mit <a href="https://prosody.im/">prosody</a> eingerichtet und wollte diesen auch für den Einsatz mit mobilen Clients optimieren. Natürlich kann man die Liste der <a href="https://xmpp.org/extensions">XMPP extensions</a> durchschauen und sich relevante Erweiterungen heraussuchen. Ich habe mich aber für einen pragmatischeren Ansatz entschieden. <!-- more --></p> <p>Da der Messenger <a href="https://conversations.im/">Conversations</a> so ziemlich den <em>state-of-the-art</em> Mobile-XMPP-Client darstellt habe ich diesen <a href="https://github.com/iNPUTmice/ComplianceTester">Conversations Compliance Tester</a> benutzt und bisher nicht unterstützte Module, die ich für sinnvoll hielt, aktiviert.</p> <p>Dazu habe ich die kompilierte Version des Testers als .jar-Datei heruntergeladen und ausgeführt. Ich empfehle den <em>Conversations Compliance Tester</em> nicht mit einem realen Account durchzuführen, sondern dafür einen temporären Test-Account anzulegen. Dafür führt man auf dem Server folgenden Befehl aus:</p> <div class="highlight"><pre><span></span>prosodyctl adduser test@domain.tld </pre></div> <p>Nun kann man mit der heruntergeladenen Datei auf dem lokalen Rechner den Test starten:</p> <div class="highlight"><pre><span></span> java -jar ComplianceTester-0.1.jar test@domain.tld PASSWORT </pre></div> <p>Danach kann man über die XEP-Nummer der fehlgeschlagenen Tests <a href="https://xmpp.org/extensions">hier</a> nachschauen ob man diese Funktion für sinnvoll hält. Möchte man die Erweiterung aktivieren kann man bei <a href="https://prosody.im/doc/xeplist">prosody</a> nachschauen welches Modul man dafür benötigt. Wahrscheinlich werden nicht alle Module, die man verwenden möchte, mit der Standardinstallationvon Prosody ausgeliefert, aber es ist ein leichtes die <a href="https://prosody.im/doc/installing_modules">gängigen Module nachzuinstallieren</a>.</p> <p>Bei mir sieht es derzeit so aus:</p> <div class="highlight"><pre><span></span>Use compliance suite &#39;Advanced Server Core Compliance Suite&#39; to test mdosch.de running XEP-0115: Entity Capabilities… PASSED running XEP-0163: Personal Eventing Protocol… PASSED passed 2/2 Advanced Server Core Compliance Suite: PASSED Use compliance suite &#39;Advanced Server IM Compliance Suite&#39; to test mdosch.de running XEP-0115: Entity Capabilities… PASSED running XEP-0163: Personal Eventing Protocol… PASSED running Roster Versioning… PASSED running XEP-0280: Message Carbons… PASSED running XEP-0191: Blocking Command… PASSED running XEP-0045: Multi-User Chat… PASSED running XEP-0198: Stream Management… PASSED running XEP-0313: Message Archive Management… PASSED passed 8/8 Advanced Server IM Compliance Suite: PASSED Use compliance suite &#39;Advanced Server Mobile Compliance Suite&#39; to test mdosch.de running XEP-0115: Entity Capabilities… PASSED running XEP-0163: Personal Eventing Protocol… PASSED running XEP-0198: Stream Management… PASSED running XEP-0352: Client State Indication… PASSED running XEP-0357: Push Notifications… PASSED passed 5/5 Advanced Server Mobile Compliance Suite: PASSED Use compliance suite &#39;Conversations Compliance Suite&#39; to test mdosch.de Server is Prosody 0.9.12 running XEP-0115: Entity Capabilities… PASSED running XEP-0163: Personal Eventing Protocol… PASSED running Roster Versioning… PASSED running XEP-0280: Message Carbons… PASSED running XEP-0191: Blocking Command… PASSED running XEP-0045: Multi-User Chat… PASSED running XEP-0198: Stream Management… PASSED running XEP-0313: Message Archive Management… PASSED running XEP-0352: Client State Indication… PASSED running XEP-0363: HTTP File Upload… FAILED running XEP-0065: SOCKS5 Bytestreams (Proxy)… FAILED running XEP-0357: Push Notifications… PASSED running XEP-0368: SRV records for XMPP over TLS… FAILED passed 10/13 Conversations Compliance Suite: FAILED </pre></div> Sat, 08 Apr 2017 15:43:00 GMT tag:blog.mdosch.de,2017-04-08:/2017/04/08/kurztipp-prosody-fuer-den-mobilen-einsatz-fit-machen Kurztipp: Debian-Repositorys über https nutzen https://blog.mdosch.de/2017/03/19/kurztipp-debian-repositorys-ueber-https-nutzen/ <p>Über <a href="https://debianforum.de/forum/viewtopic.php?f=37&amp;t=163361&amp;hilit=apt+transport+https">diesen Eintrag im debianforum</a> kam ich auf die Idee, soweit möglich, meine <a href="https://wiki.debianforum.de/Sources.list">sources.list</a> auf <a href="https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure">https</a> umzustellen.</p> <p>Dazu benötigt man das Paket <em>apt-transport-https</em>:</p> <div class="highlight"><pre><span></span># apt install apt-transport-https </pre></div> <!-- more --> <p>Nun kann man überprüfen, welches Repository über <em>https</em> erreichbar ist:</p> <div class="highlight"><pre><span></span>$ nmap -p <span class="m">443</span> ftp.de.debian.org Starting Nmap <span class="m">7</span>.40 <span class="o">(</span> https://nmap.org <span class="o">)</span> at <span class="m">2017</span>-03-19 <span class="m">10</span>:46 CET Nmap scan report <span class="k">for</span> ftp.de.debian.org <span class="o">(</span><span class="m">141</span>.76.2.4<span class="o">)</span> Host is up <span class="o">(</span><span class="m">0</span>.22s latency<span class="o">)</span>. PORT STATE SERVICE <span class="m">443</span>/tcp open https Nmap <span class="k">done</span>: <span class="m">1</span> IP address <span class="o">(</span><span class="m">1</span> host up<span class="o">)</span> scanned in <span class="m">0</span>.97 seconds $ nmap -p <span class="m">443</span> security.debian.org Starting Nmap <span class="m">7</span>.40 <span class="o">(</span> https://nmap.org <span class="o">)</span> at <span class="m">2017</span>-03-19 <span class="m">10</span>:46 CET Nmap scan report <span class="k">for</span> security.debian.org <span class="o">(</span><span class="m">212</span>.211.132.250<span class="o">)</span> Host is up <span class="o">(</span><span class="m">0</span>.21s latency<span class="o">)</span>. Other addresses <span class="k">for</span> security.debian.org <span class="o">(</span>not scanned<span class="o">)</span>: <span class="m">195</span>.20.242.89 <span class="m">212</span>.211.132.32 <span class="m">217</span>.196.149.233 <span class="m">2001</span>:a78:5:1:216:35ff:fe7f:6ceb 2a02:16a8:dc41:100::233 <span class="m">2001</span>:a78:5:0:216:35ff:fe7f:be4f rDNS record <span class="k">for</span> <span class="m">212</span>.211.132.250: lobos.debian.org PORT STATE SERVICE <span class="m">443</span>/tcp closed https Nmap <span class="k">done</span>: <span class="m">1</span> IP address <span class="o">(</span><span class="m">1</span> host up<span class="o">)</span> scanned in <span class="m">0</span>.94 seconds </pre></div> <p>An diesen beiden Beispielen ist zu sehen, dass <em>ftp.de.debian.org</em> über <em>https</em> verfügbar ist und <em>security.debian.org</em> nicht.</p> <p>Nun kann man <em>ftp.de.debian.org</em> von <a href="https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol">http</a> auf <em>https</em> umstellen:</p> <div class="highlight"><pre><span></span># sed -i s#http://ftp.de.debian.org#https://ftp.de.debian.org#g /etc/apt/sources.list </pre></div> <p>Ich benutze in dem Fall <code>#</code> statt <code>/</code> als Trennzeichen bei <em>sed</em> um nicht die ganzen <code>/</code> in den Adressen escapen zu müssen. ;-)</p> <p>Nun kann man sich fragen wozu man die Pakete über <em>https</em> herunterladen sollte wenn über die Prüfsummen <a href="https://de.wikipedia.org/wiki/Man-in-the-Middle-Angriff">MITM</a>-Angriffe bereits verhindert werden. Es kann aber auch mal <a href="https://lists.debian.org/debian-security-announce/2016/msg00316.html">Bugs beim Überprüfen der Signaturen</a> geben, weshalb es nicht schaden kann auch den Transportweg abzusichern und <em>MITM</em>-Angriffe weiter zu erschweren.</p> Sun, 19 Mar 2017 08:57:00 GMT tag:blog.mdosch.de,2017-03-19:/2017/03/19/kurztipp-debian-repositorys-ueber-https-nutzen Kurztipp: Verbindungen mit proxychains durch Proxyserver leiten https://blog.mdosch.de/2017/03/19/kurztipp-verbindungen-mit-proxychains-durch-proxyserver-leiten/ <p>Manchmal ist es nötig Verbindungen eines Programmes über einen Proxy zu leiten. Einige Programme bieten keine Konfiguration zur Nutzung eines Proxys an, oder man möchte die Verbindungen nur gelegentlich durch einen Proxy leiten und deshalb nicht ständig die Konfiguration editieren.</p> <p>Bei <a href="https://askubuntu.com/questions/210410/how-to-run-youtube-dl-through-proxy-server/311445">askubuntu</a> fand ich einen Hinweis auf das Programm <a href="http://proxychains.sourceforge.net/">proxychains</a>, das genau das tut. <!-- more --></p> <h5>Installation</h5> <p>Da <em>proxychains</em> in den Debian-Quellen vorhanden ist gibt es hinsichtlich der Installation nicht viel zu sagen:</p> <div class="highlight"><pre><span></span>apt install proxychains </pre></div> <h5>Konfiguration</h5> <p>Standardmäßig benutzt <em>proxychains</em> <a href="https://blog.torproject.org/">Tor</a>. Möchte man die Konfiguration anpassen kann man dies in der Datei <code>/etc/proxychains.conf</code> global für alle Benutzer des Systems tun. Um benutzerspezifische Konfigurationen anzulegen kopiert man die globale Konfigurationsdatei nach <code>~/.proxychains/proxychains.conf</code>.</p> <h5>Benutzung</h5> <p>Um die Verbindungen eines Programms durch den konfigurierten Proxy zu leiten stellt man dem Programmaufruf einfach <code>proxychains</code> voran:</p> <div class="highlight"><pre><span></span>proxychains curl ip.mdosch.de </pre></div> Sun, 19 Mar 2017 08:30:00 GMT tag:blog.mdosch.de,2017-03-19:/2017/03/19/kurztipp-verbindungen-mit-proxychains-durch-proxyserver-leiten Ein Tor-Relay auf Uberspace einrichten https://blog.mdosch.de/2017/03/17/ein-tor-relay-auf-uberspace-einrichten/ <h5>Intention</h5> <p>Da ich in letzter Zeit nach dem <a href="https://www.kuketz-blog.de/das-3-browser-konzept-not-my-data-teil2/">3-Browser-Prinzip</a> surfe, nutze ich nun für alltägliches Surfen ohne LogIn den <a href="https://www.torproject.org/projects/torbrowser.html.en">Tor-Browser</a> und wollte nun dem <a href="https://www.torproject.org/">Tor</a>-Netzwerk etwas zurückgeben.</p> <p>Die meisten dürften <em>Tor</em> kennen, aber hier noch mal eine kurze Beschreibung von <a href="https://de.wikipedia.org/wiki/Tor_%28Netzwerk%29">Wikipedia</a>:</p> <blockquote> <p>Tor ist ein Netzwerk zur Anonymisierung von Verbindungsdaten. Es wird für TCP-Verbindungen eingesetzt und kann beispielsweise im Web für Browsing, Instant Messaging, IRC, SSH, E-Mail oder P2P benutzt werden. Tor schützt seine Nutzer vor der Analyse des Datenverkehrs. Es basiert auf der Idee des Onion-Routings. </p> </blockquote> <!-- more --> <h5>Anleitungen</h5> <p>Im <a href="https://wiki.uberspace.de/cool">Wiki von Uberspace</a> fand ich eine Anleitung von <a href="https://debianer.puppis.uberspace.de/2014/03/tor-relay-auf-dem-uberspace/">Debianer</a>. Leider funktionierte dieses HowTo für mich nicht. Toast (ein Tool zum Kompilieren von Anwendungen im Userspace) beschwerte sich über die fehlende Bibliothek <em>libevent</em>. Nachdem ich <em>libevent</em> per toast installiert hatte meldete toast beim Installieren von <em>Tor</em> <em>libevent</em> wäre vorhanden, könnte aber nicht gelinkt werden.</p> <p>Ich fand im Netz eine weitere Anleitung zur Installation von <em>Tor</em> auf Uberspace von <a href="https://flambda.de/2013/06/18/tor-node-on-uberspace/">f(Λ)</a>, nach der <em>libevent</em> und <em>Tor</em> einfach ohne toast mit dem altbekannten <a href="http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2004/03/Programme-unter-Linux-kompilieren">Dreisatz</a> installiert wurden.</p> <h5>Mein Vorgehen</h5> <h6>Tor installieren</h6> <p>Man loggt sich auf seinem Uberspace ein, erstellt einen temporären Ordner und installiert <em>libevent</em> und <em>Tor</em> (bitte die aktuelle Version von Tor <a href="https://www.torproject.org/download/download.html.en">hier</a> beziehen):</p> <div class="highlight"><pre><span></span>mkdir ~/tmp cd ~/tmp git clone git://levent.git.sourceforge.net/gitroot/levent/levent cd levent ./autogen.sh ./configure --prefix=$HOME make make install cd .. wget https://www.torproject.org/dist/tor-X.X.X.X.tar.gz tar xvf https://www.torproject.org/dist/tor-X.X.X.X.tar.gz cd tor-X.X.X.X ./configure --prefix=$HOME make make install </pre></div> <h6>Tor konfigurieren</h6> <p>Lief die Installation ohne Fehler kann man nun den Ordner löschen und sich anschließend an die Konfiguration machen:</p> <div class="highlight"><pre><span></span>cd ~ rm -rf tmp </pre></div> <p>Eine Beispielkonfiguration mit Erläuterungen findet ihr nun unter <code>~/etc/tor/torrc.sample</code>, ich habe als Basis die Konfiguration von <a href="https://debianer.puppis.uberspace.de/2014/03/tor-relay-auf-dem-uberspace/">Debianer</a> genommen und für mich angepasst und unter <code>~/etc/tor/torrc</code> gespeichert:</p> <div class="highlight"><pre><span></span>SocksPort 0 Log notice file /home/USER/etc/tor.log DataDirectory /home/USER/lib/tor ControlPort PORT1 CookieAuthentication 1 ORPort PORT2 Nickname NICKNAME RelayBandwidthRate 300 KB RelayBandwidthBurst 600 KB AccountingMax 10 GB AccountingStart month 1 02:00 ContactInfo Mail DirPort PORT3 ExitPolicy reject *:* DisableDebuggerAttachment 0 AvoidDiskWrites 1 </pre></div> <p>Die Zeile <code>ExitPolicy reject *:*</code> ist immens wichtig, da diese festlegt, dass ihr nicht als Exit-Node fungiert. </p> <p><strong>Richtet keinen Exit-Node bei Uberspace ein!</strong> </p> <p><code>USER</code> ist durch euren Benutzernamen bei Uberspace auszutauschen und <code>NICKNAME</code> durch einen frei wählbaren Namen für das <em>Tor</em>-Netzwerk. Bei <code>PORT1</code>, <code>PORT2</code> und <code>PORT3</code> tragt ihr Ports ein, die ihr euch bei Uberspace <a href="https://blog.uberspace.de/mehr-fur-selbermacher/">mittlerweile selbst freischalten</a> könnt. Dafür führt ihr einfach dreimal folgenden Befehl aus und notiert euch den Port:</p> <div class="highlight"><pre><span></span>uberspace-add-port -p tcp --firewall </pre></div> <h6>Tor auf Uberspace aktivieren</h6> <p>Nun kann man <em>Tor</em> über <code>exec ~/bin/tor -f ~/etc/tor/torrc</code> starten, aber sobald man den Befehl abbricht oder sich ausloggt wird der <em>Tor</em>-Service beendet. Man kann sich hier mit Tools wie <a href="https://tmux.github.io/">tmux</a> oder <a href="https://www.gnu.org/software/screen/">screen</a> behelfen, praktischer ist es aber <em>Uberspace</em> dafür sorgen zu lassen, dass <em>Tor</em> läuft:</p> <div class="highlight"><pre><span></span>cat &lt;&lt;__EOF__ &gt; ~/etc/tor/run\n#!/bin/sh\nexec ~/bin/tor -f ~/etc/torrc 2&gt;&amp;1\n__EOF__ chmod +x ~/etc/tor/run ln -s ~/etc/tor ~/service/tor </pre></div> <p>Theoretisch sollte jetzt schon alles laufen, aber es kann nicht schaden zur Sicherheit noch eine Aktivierung hinterherzuschicken:</p> <div class="highlight"><pre><span></span>svc -u ~/service/tor </pre></div> <h6>Tor-Node überprüfen</h6> <p>Natürlich möchte man nun überprüfen, ob der Torknoten auch erfolgreich eingerichtet wurde und Teil des Netwerks ist. Hierzu beobachtet man erst mal in das Logfile:</p> <div class="highlight"><pre><span></span>tail -f ~/etc/tor.log </pre></div> <p>Wenn die letzten Zeilen in etwa so aussehen scheint es schon mal ganz gut zu laufen:</p> <div class="highlight"><pre><span></span>Mar 17 18:32:38.000 [notice] Bootstrapped 0%: Starting Mar 17 18:32:42.000 [notice] Bootstrapped 80%: Connecting to the Tor network Mar 17 18:32:43.000 [notice] Bootstrapped 85%: Finishing handshake with first hop Mar 17 18:32:43.000 [notice] Bootstrapped 90%: Establishing a Tor circuit Mar 17 18:32:45.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working. Mar 17 18:32:45.000 [notice] Bootstrapped 100%: Done Mar 17 18:32:45.000 [notice] Now checking whether ORPort 95.143.172.208:64795 and DirPort 95.143.172.208:61540 are reachable... (this may take up to 20 minutes -- look for log messages indicating success) Mar 17 18:32:45.000 [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Mar 17 18:32:45.000 [notice] Self-testing indicates your DirPort is reachable from the outside. Excellent. Publishing server descriptor. Mar 17 18:32:46.000 [notice] Performing bandwidth self-test...done. </pre></div> <p>Man kann dann auch bei <em>Tor</em> selbst überprüfen <a href="https://exonerator.torproject.org">ob man Teil des Netzwerks ist</a>. Man sollte dabei aber nicht zu ungeduldig sein. Bei mir dauerte es ca. eine Stunde bis ich dort gelistet wurde.</p> <p><strong>[Update 2017-03-18]</strong></p> <p>Nachdem euer Middle-Node ein paar Stunden läuft könnt ihr auch Infos über die Verbindungen und den Traffic in <code>~/etc/tor.log</code> sehen:</p> <div class="highlight"><pre><span></span><span class="nt">Mar</span> <span class="nt">18</span> <span class="nt">12</span><span class="p">:</span><span class="nd">32</span><span class="p">:</span><span class="nd">42</span><span class="p">.</span><span class="nc">000</span> <span class="cp">[</span><span class="nx">notice</span><span class="cp">]</span> <span class="nt">Heartbeat</span><span class="o">:</span> <span class="nt">Tor</span><span class="s1">&#39;s uptime is 17:59 hours, with 8 circuits open. I&#39;</span><span class="nt">ve</span> <span class="nt">sent</span> <span class="nt">147</span><span class="p">.</span><span class="nc">39</span> <span class="nt">MB</span> <span class="nt">and</span> <span class="nt">received</span> <span class="nt">171</span><span class="p">.</span><span class="nc">18</span> <span class="nt">MB</span><span class="o">.</span> <span class="nt">Mar</span> <span class="nt">18</span> <span class="nt">12</span><span class="p">:</span><span class="nd">32</span><span class="p">:</span><span class="nd">42</span><span class="p">.</span><span class="nc">000</span> <span class="cp">[</span><span class="nx">notice</span><span class="cp">]</span> <span class="nt">Heartbeat</span><span class="o">:</span> <span class="nt">Accounting</span> <span class="nt">enabled</span><span class="o">.</span> <span class="nt">Sent</span><span class="o">:</span> <span class="nt">150</span><span class="p">.</span><span class="nc">26</span> <span class="nt">MB</span><span class="o">,</span> <span class="nt">Received</span><span class="o">:</span> <span class="nt">183</span><span class="p">.</span><span class="nc">90</span> <span class="nt">MB</span><span class="o">,</span> <span class="nt">Used</span><span class="o">:</span> <span class="nt">186</span><span class="p">.</span><span class="nc">87</span> <span class="nt">MB</span> <span class="o">/</span> <span class="nt">10</span><span class="p">.</span><span class="nc">00</span> <span class="nt">GB</span><span class="o">,</span> <span class="nt">Rule</span><span class="o">:</span> <span class="nt">max</span><span class="o">.</span> <span class="nt">The</span> <span class="nt">current</span> <span class="nt">accounting</span> <span class="nt">interval</span> <span class="nt">ends</span> <span class="nt">on</span> <span class="nt">2017-04-01</span> <span class="nt">02</span><span class="p">:</span><span class="nd">00</span><span class="p">:</span><span class="nd">00</span><span class="o">,</span> <span class="nt">in</span> <span class="nt">13</span> <span class="nt">days</span> <span class="nt">12</span><span class="p">:</span><span class="nd">27</span> <span class="nt">hours</span><span class="o">.</span> <span class="nt">Mar</span> <span class="nt">18</span> <span class="nt">12</span><span class="p">:</span><span class="nd">32</span><span class="p">:</span><span class="nd">42</span><span class="p">.</span><span class="nc">000</span> <span class="cp">[</span><span class="nx">notice</span><span class="cp">]</span> <span class="nt">Circuit</span> <span class="nt">handshake</span> <span class="nt">stats</span> <span class="nt">since</span> <span class="nt">last</span> <span class="nt">time</span><span class="o">:</span> <span class="nt">14</span><span class="o">/</span><span class="nt">14</span> <span class="nt">TAP</span><span class="o">,</span> <span class="nt">66</span><span class="o">/</span><span class="nt">66</span> <span class="nt">NTor</span><span class="o">.</span> <span class="nt">Mar</span> <span class="nt">18</span> <span class="nt">12</span><span class="p">:</span><span class="nd">32</span><span class="p">:</span><span class="nd">42</span><span class="p">.</span><span class="nc">000</span> <span class="cp">[</span><span class="nx">notice</span><span class="cp">]</span> <span class="nt">Since</span> <span class="nt">startup</span><span class="o">,</span> <span class="nt">we</span> <span class="nt">have</span> <span class="nt">initiated</span> <span class="nt">0</span> <span class="nt">v1</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">0</span> <span class="nt">v2</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">0</span> <span class="nt">v3</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">and</span> <span class="nt">520</span> <span class="nt">v4</span> <span class="nt">connections</span><span class="o">;</span> <span class="nt">and</span> <span class="nt">received</span> <span class="nt">1</span> <span class="nt">v1</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">0</span> <span class="nt">v2</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">0</span> <span class="nt">v3</span> <span class="nt">connections</span><span class="o">,</span> <span class="nt">and</span> <span class="nt">775</span> <span class="nt">v4</span> <span class="nt">connections</span><span class="o">.</span> </pre></div> <p><strong>[Update 2017-03-19]</strong></p> <p>Gerade habe ich entdeckt, dass man den Status auch mit <a href="https://atlas.torproject.org">Atlas</a> überprüfen kann. Dort bekommt man auch ein paar interessante Statistiken zu sehen. Um euren eigenen Server zu finden müsst ihr einfach im Suchfeld rechts oben den Namen, den ihr für das Tor-Netzwerk gewählt habt, oder eure IP eingeben.</p> <p>Wenn ihr euch wundert, warum euer Knoten zu Beginn wenig Traffic generiert, so liegt dies nicht nur am vergebenen Limit, sondern auch am <a href="https://blog.torproject.org/blog/lifecycle-of-a-new-relay">Lebenszyklus eines Tor-Knotens</a>. Euer Tor-Knoten muss also erst mal ein paar Tage <a href="https://metrics.torproject.org/glossary.html#consensus-weight">concensus weight</a> sammeln, was ich in etwa als Reputation interpretiere.</p> Fri, 17 Mar 2017 17:53:00 GMT tag:blog.mdosch.de,2017-03-17:/2017/03/17/ein-tor-relay-auf-uberspace-einrichten Zufällige MAC-Adresse mit dem NetworkManager https://blog.mdosch.de/2017/03/14/zufaellige-mac-adresse-mit-dem-networkmanager/ <p>Heute habe ich gelernt, dass man den <a href="https://wiki.ubuntuusers.de/NetworkManager/">NetworkManager</a> so konfigurieren kann, dass er <a href="https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/">gefälschte MAC-Adressen verwendet</a>. <br /> Wozu ist das gut? Ist WLAN in mobilen Geräten aktiviert scannen diese ständig nach Netzwerken und teilen diesen die MAC-Adresse mit, wodurch man getrackt werden kann. <!-- more --> Lt. dem verlinkten Blogpost auf <em>gnome.org</em> wird beim Scannen bereits eine gefälschte MAC verwendet, aber wer sich häufig in HotSpots anmeldet ist spätestens nach dem Aufbau der Verbindung identifizierbar.</p> <p>Wie in dem Post beschrieben kann man den NetworkManager so konfigurieren, dass bei jeder neuen Verbindung eine Zufalls-MAC verwendet wird. Dafür muss man die Datei <code>NetworkManager.conf</code> editieren. Bei Debian befindet sich diese hier: <code>/etc/NetworkManager/NetworkManager.conf</code></p> <p>Man fügt der Datei folgendes hinzu:</p> <div class="highlight"><pre><span></span><span class="k">[device-mac-randomization]</span> <span class="c1"># &quot;yes&quot; is already the default for scanning</span> <span class="na">wifi.scan-rand-mac-address</span><span class="o">=</span><span class="s">yes</span> <span class="k">[connection-mac-randomization]</span> <span class="na">ethernet.cloned-mac-address</span><span class="o">=</span><span class="s">random</span> <span class="na">wifi.cloned-mac-address</span><span class="o">=</span><span class="s">random</span> </pre></div> <p>Die Änderung wird wirksam sobald man den Netzwerkservice neu startet:</p> <div class="highlight"><pre><span></span># service network-manager restart </pre></div> <p>Möchte man in einem Netzwerk immer dieselbe MAC nutzen, z.B. damit der Router weiterhin trotz DHCP die richtige IP-Adresse zuweist kann man dies in der GUI des NetworkManagers einstellen, indem man die gewünschte MAC bei den Einstellungen des Netzwerks unter <strong>Identität → Duplizierte Adresse</strong> einträgt:</p> <p><a href="https://files.mdosch.de/2017-03/nm-mac.png"><img alt="NetworkManager MAC spoofing" src="https://files.mdosch.de/2017-03/nm-mac.png"/></a></p> Tue, 14 Mar 2017 19:07:00 GMT tag:blog.mdosch.de,2017-03-14:/2017/03/14/zufaellige-mac-adresse-mit-dem-networkmanager Git-Repository von GitHub zu Uberspace umziehen https://blog.mdosch.de/2017/03/11/git-repository-von-github-zu-uberspace-umziehen/ <p>Derzeit wird ja viel über die <a href="https://www.heise.de/newsticker/meldung/GitHub-eckt-mit-neuen-Nutzungsbedingungen-an-3647980.html">neuen Nutzungsbedingungen von GitHub</a> diskutiert. Ich gebe zu, ich habe mich nicht mit den Details der Änderungen befasst und weiß nicht ob mich diese wirklich betreffen würden. Ich nutze GitHub nur um meinen <a href="https://blog.mdosch.de/2014/09/07/blog-mdosch-de-jetzt-statisch/">statischen Blog</a> zwischen meinen Rechnern zu synchronisieren. <!-- more --></p> <p>Nun habe ich diese Diskussion aber zum Anlass genommen zu überdenken ob es denn wirklich nötig ist meinen Blog über einen externen Dienstleister zu synchronisieren und das Repository öffentlich bereitzustellen und die Antwort lautete beide Male "Nein".</p> <p>Nun habe ich festgestellt, dass <a href="https://wiki.uberspace.de/development:git#git_als_server">Uberspace bereits Git anbietet</a> und die Einrichtung ein Kinderspiel ist:</p> <p>Man loggt sich per SSH auf Uberspace ein und erstellt einen Ordner mit der Endung .git, in diesem Beispiel blog.git und führt in diesem <code>git init --bare</code> aus:</p> <div class="highlight"><pre><span></span>mkdir ~/blog.git cd ~/blog.git git init --bare </pre></div> <p>Mein Blog liegt lokal unter <code>~/www/blog</code>. Um dieses Repository zukünftig mit meinem Uberspace statt mit GitHub zu synchronisieren reichte es aus in der Datei <code>~/www/blog/.git/config</code> im Unterpunkt <code>[remote "origin"]</code> die Zeile beginnend mit <code>url =</code> folgendermaßen abzuändern:</p> <div class="highlight"><pre><span></span>url = ssh://USER@DOMAIN/home/USER/blog.git/ </pre></div> <p><code>USER</code> ist natürlich durch den eigenen Benutzernamen bei Uberspace und <code>DOMAIN</code> durch die eigene Domain zu ersetzen.</p> <p>Anschließend kann man mit einem <code>git push</code> die Daten in das Repository übertragen.</p> <p>Wer möchte kann natürlich auch bei Uberspace sein <a href="https://wiki.uberspace.de/development:git#oeffentlich_bereitstellen">Repository öffentlich bereitstellen</a>.</p> Sat, 11 Mar 2017 14:18:00 GMT tag:blog.mdosch.de,2017-03-11:/2017/03/11/git-repository-von-github-zu-uberspace-umziehen Ups und Downs mit dem verlorenen Koffer https://blog.mdosch.de/2017/03/10/ups-und-downs-mit-dem-verlorenen-koffer/ <p>Ich fliege häufiger, aber gestern passierte mir etwas, das mir zuvor noch nie passiert war: Mein Koffer (bzw. einer meiner Koffer) kam nicht über das Förderband an.</p> <p>Ich gab in Paris zwei Koffer auf, einer von beiden kam nicht in München an der Gepäckausgabe an.</p> <p>Nachdem ich eine Weile vergeblich wartete, dass das Förderband wieder anläuft, ging ich zum 'lost and found' von <a href="http://www.airfrance.de/">AirFrance</a> und meldete, dass nur einer von zwei Koffern ankam. Daraufhin erhielt ich folgende Antwort:</p> <blockquote> <p>Ich habe bereits angerufen, es kommt noch eine Ladung Koffer.</p> </blockquote> <p>Ich setzte mich wieder hin und las mein Handgepäckbuch... <!-- more --> Nach einer Weile kam die Person auf mich zu und eröffnete mir, dass wohl doch keine Koffer mehr kommen und ich eine Verlustmeldung aufgeben solle.</p> <p>Soweit so gut, aber mir passierte dieses Mal dummerweise ein Missgeschick: Ich hatte meinen Wohnungsschlüssel im Koffer. Üblicherweise nehme ich diesen vor CheckIn aus dem Gepäck und packe ihn in meine Hose oder mein Handgepäck. Dies hatte ich zum ersten Mal vergessen und <a href="https://de.wikipedia.org/wiki/Murphys_Gesetz">Murphys Law</a> schlug zu: Ich vergesse einmal meinen Schlüssel im aufgegebenen Gepäck, zum ersten Mal geht eines meiner Gepäckstücke verloren (und ich fliege häufig) und natürlich kommt mein Firmenkoffer in München an, mein Privatkoffer (mit Haustürschlüssel) hingegen nicht.</p> <p>Mein erster Gedanke: Wie kann ein Koffer denn auf einem Direktflug verloren gehen? Bei Flügen mit Umstieg an einem Drehkreuz und eventuell kurzen Umstiegszeiten kann ich mir das ja noch vorstellen, aber bei 55min Umstiegszeit in Amsterdam oder 1:05h Umstiegszeit in Doha war dies noch nie ein Thema. Aber in Paris schafft man es, dass von zwei aufgegebenen Gepäckstücken eines auf einem Direktflug verloren geht. Man kann ja nicht mal von verloren sprechen, das war der Koffer ja nie. Er wurde einfach nicht eingeladen, es bestand nie ein Zweifel, dass er noch in Paris steht.</p> <p>Ok, so weit so dumm. Es war mein Fehler, dass mein Schlüssel im Koffer war und ich keine Chance hatte in mein Wohnung zu kommen, aber mich wundert doch wie lange es dauerte bis ich meinen Koffer zurückbekam.</p> <p>Als ich mit der Frau am Schalter redete, fragte ich diese ob es heute noch Flüge zwischen Paris und München mit <strong>AirFrance</strong> gebe. Darauf wurde mir geantwortet, dass noch drei weitere <strong>AirFrance</strong>-Flüge von Paris nach München fliegen. Auf meine Frage, ob dann nicht mein Koffer noch am selben Tage ankommen sollte wurde mir geantwortet, dass dies durchaus wahrscheinlich sei.</p> <p>Meine naive Annahme war ja: Flughäfen sind automatisiert und die Koffer über die UID fest identifizierbar und daher sollte doch schon kurz nach Abheben das System wissen der Koffer mit der UID XYZ steht noch in Paris obwohl der Flieger nach München schon weg ist und somit über das System automatisch in den nächsten Flieger geladen werden.</p> <p>Diese einfache Schlussfolgerung bekommen Flughafengepäckleitsysteme aber noch nicht hin, zumindest nicht in Paris. Denn mein Gepäck kam nicht mit dem nächsten, übernächsten oder drittnächsten Flieger an diesem Tag, sondern erst am Folgetag.</p> <p>Kein Problem, ich hatte bei einem Arbeitskollegen übernachtet und Zahnbürste, Zahnpaste und Kontaktlinsenpflege sind ja schnell gekauft. Ersatzunterwäsche hat man als Vielreisender eh immer im Rucksack. Lt. Aussage einer (zugegeben sehr hilfsbereiten und netten) Mitarbeiterin der Airline-Hotline bekomme ich diese Ausgaben evtl. sogar erstattet. Aber sie sagte mir (Gedächtniszitat):</p> <blockquote> <p>Aber geben Sie für diese Besorgungen kein Geld aus, das Sie demnächst dringend benötigen. Wir haben derzeit <strong>sehr viele Beschwerden</strong>, deshalb dauert die Bearbeitung lange.</p> </blockquote> <p>Aha, da hat die nette Dame mir wohl euphemistisch gesteckt, dass derzeit viel Gepäck verbummelt wird.</p> <p>Am nächsten Morgen rief ich natürlich wieder bei der Hotline an und mir konnte die Flugnummer des Fluges, der meinen Koffer zurückbringt durchgesagt werden. Dieser Flieger landete um ca. 9 Uhr in München. Um 12 Uhr fragte ich die Hotline ob mein Koffer denn zurückgebracht wird und mir wurde mitgeteilt, der Kurierdienst würde sich bis 14 Uhr mit mir in Verbindung setzen.</p> <p>Um 15 Uhr rief ich wieder bei <strong>AirFrance</strong> an und ein Mitarbeiter teilte mir mit, der Kurierdienst würde sich bis 14 Uhr mit mir in Verbindung setzen.</p> <p>Um 16 Uhr rief ich wieder bei <strong>AirFrance</strong> an und ein Mitarbeiter teilte mir mit, der Kurierdienst würde sich bis 14 Uhr mit mir in Verbindung setzen.</p> <p>Schließlich erreichte mich um knapp 17 Uhr ein Anruf mein Koffer würde mir zwischen 19 und 21 Uhr zugestellt. Um 19:45 konnte ich meinen Koffer in Empfang nehmen und wieder in meine Wohnung gelangen.</p> <p>Mir ist klar, dass das Vergessen meines Schlüssels im Gepäck mein Fehler war und dass eine Zustellung innerhalb von 30h normalerweise schnell ist, aber der Fall ist meiner Meinung nach nicht normal. Üblicherweise gehen Gepäckstücke an großen Drehkreuzflughäfen beim Umsteigen verloren. Üblicherweise dauert es eine Weile festzustellen an welcher Station der Reise der Koffer verloren ging.</p> <p>Aber all dies trifft hier nicht zu:</p> <ul> <li>Es war ein Direktflug, kein Umladen nötig<ul> <li>Also musste der Koffer nicht gesucht werden, er blieb einfach in Paris stehen</li> </ul> </li> <li>Obwohl mein Koffer um ca. 13 Uhr in Paris stehen blieb, hat <strong>AirFrance</strong> es nicht geschafft, meinen Koffer vor dem nächsten Morgen in einen Flieger zu laden</li> <li>Obwohl mein Koffer um kurz vor 9 Uhr in München ankam musste ich noch bis 19:45 Uhr warten, bis er zugestellt wurde</li> </ul> <p>Alles in allem bin ich froh, dass mein Koffer letzten Endes ankam und ich wieder in meine Wohnung kann. Wenn es aber schon so lange dauert wenn ein Koffer auf einem Regionalflug einfach beim Einladen vergessen wird, dann möchte ich mir nicht vorstellen wie lange man auf einen Koffer warten muss, der auf einem Interkontinentalflug mit ein bis zwei Umstiegen verbummelt wird.</p> <p>Eines weiß ich sicher, ich werde in Zukunft <strong>AirFrance</strong> meiden und im Zweifelsfall eher etwas mehr zahlen um ein geringeres Risiko des Gepäckverlustes einzugehen, immerhin gestand mir die Mitarbeiterin am Telefon, dass derzeit wohl viele Gepäckstücke vermisst werden. Dafür sprach auch, dass nach dem kleinen Regionalflug nach München neben mir noch ca. 6 andere Personen den 'lost and found' Schalter aufgesucht haben.</p> Fri, 10 Mar 2017 20:09:00 GMT tag:blog.mdosch.de,2017-03-10:/2017/03/10/ups-und-downs-mit-dem-verlorenen-koffer Kurztipp: SSH config Datei https://blog.mdosch.de/2017/03/05/kurztipp-ssh-config-datei/ <p>Manchmal stolpert man über Vereinfachungen für Dienste bzw. Programme, die man häufig nutzt und die deren Nutzung deutlich vereinfachen. Häufig fragt man sich dann, wie man bisher ohne diese Kniffe auskommen konnte und warum noch nicht früher darauf aufmerksam wurde. So erging es mir heute als ich wegen einer <a href="https://debianforum.de/forum/viewtopic.php?f=30&amp;t=164453">Frage im Debianforum</a> auf die Seite von <a href="http://arachnoid.com/android/SSHelper/">SSHelper</a> fand und dort folgendes las:</p> <blockquote> <p>But the configuration-file method shown earlier is preferred, because it prevents the possibility of typographical errors and (maybe) carpal-tunnel syndrome from too much typing.</p> </blockquote> <p>Die erwähnte Methode ist es Server, Benutzer und Port in der Datei <code>~/.ssh/config</code> anzugeben unter einem frei wählbaren Namen anzugeben: <!-- more --></p> <div class="highlight"><pre><span></span>Host beispiel HostName example.com Port 2222 User nutzer </pre></div> <p>In diesem Beispiel könnte man sich per <code>ssh beispiel</code> statt per <code>ssh -p 2222 nutzer@example.com</code> mit dem Server verbinden. Besonders in Verbindung mit Programmen wie <a href="https://wiki.ubuntuusers.de/rsync/">rsync</a> ist dies eine willkommene Erleichterung:</p> <p><code>rsync -a /path/to/file beispiel:/remote/path/</code> ist deutlich angenehmer als <code>rsync -ae "ssh -p 2222" /path/to/file nutzer@example.com:/remote/path/</code>. </p> <p>Natürlich können noch <a href="http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/">weitere Einstellungen</a> in dieser Datei getätigt werden.</p> <p>Ich frage mich, warum ich das nicht früher entdeckt habe. :-)</p> Sun, 05 Mar 2017 15:46:00 GMT tag:blog.mdosch.de,2017-03-05:/2017/03/05/kurztipp-ssh-config-datei Kommentarbenutzung https://blog.mdosch.de/2017/02/19/kommentarbenutzung/ <p>Da ich häufig Probleme in den Kommentaren bzgl. der Unterstützung von markdown beobachte werde ich in Zukunft diesen Beitrag statt des <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">markdown cheat sheets</a> verlinken, da nicht alle dort genannten tags, dafür aber auch einige html tags genutzt werden können. <!-- more --></p> <p>Hier sind die wichtigsten Funktionen zusammengefasst:</p> <h5><p id="markdown">Überschriften</p></h5> <div class="highlight"><pre><span></span># H1 ## H2 ### H3 #### H4 ##### H5 ###### H6 </pre></div> <h5>Auszeichnung</h5> <div class="highlight"><pre><span></span>*text* kursiv **text** fett ~~text~~ durchstreichen </pre></div> <h5>Listen</h5> <div class="highlight"><pre><span></span>* Listenpunkt * Noch ein Listenpunkt </pre></div> <h5>Links</h5> <div class="highlight"><pre><span></span>[Link zu meinem Blog](https://blog.mdosch.de) </pre></div> <h5>Inline Code</h5> <div class="highlight"><pre><span></span>Das ist der Text und `hier der Inline Code` </pre></div> <h5>Code Block</h5> <div class="highlight"><pre><span></span><span class="nt">&lt;pre&gt;</span> #! /bin/bash echo &quot;Ich bin ein Code Block&quot; <span class="nt">&lt;/pre&gt;</span> </pre></div> <h5>Zitate</h5> <div class="highlight"><pre><span></span>Hier schreibe ich. &gt; Hier zitiere ich. </pre></div> <h5>Zeilenumbruch</h5> <div class="highlight"><pre><span></span>Hier gibt es keinen Zeilenumbruch. Hier gibt es einen Zeilenumbruch. </pre></div> <h5>Erlaubte html Elemente</h5> <p>Folgende html Elemente <strong>sollten</strong> (ungetestet) lt. isso Dokumentation funktionieren:</p> <p>a, blockquote, br, code, del, em, h1, h2, h3, h4, h5, h6, hr, ins, li, ol, p, pre, strong, table, tbody, td, th, thead und ul.</p> Sun, 19 Feb 2017 11:06:00 GMT tag:blog.mdosch.de,2017-02-19:/2017/02/19/kommentarbenutzung Kurztipp: fstrim als systemd service https://blog.mdosch.de/2017/02/19/kurztipp-fstrim-als-systemd-service/ <p>Bisher habe ich den <a href="https://wiki.ubuntuusers.de/SSD/TRIM/">TRIM</a>-Befehl für SSDs immer mal wieder manuell ausgeführt, aber vor ein paar Tagen sah ich in einem hilfreichen Blogpost, dass man das <a href="https://got-tty.org/fedora-fstrim-als-service-via-systemd">von systemd erledigen lassen kann</a>.</p> <p>Unter Debian ist jedoch erst ein <a href="https://wiki.debian.org/SSDOptimization#Mounting_SSD_filesystems">zusätzlicher Befehl</a> nötig um die entsprechenden Dateien an die richtige Stelle zu kopieren: <!-- more --></p> <div class="highlight"><pre><span></span># cp /usr/share/doc/util-linux/examples/fstrim.{service,timer} /etc/systemd/system </pre></div> <p>Anschließend lässt sich der service per systemd aktivieren:</p> <div class="highlight"><pre><span></span># systemctl enable fstrim.timer Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /etc/systemd/system/fstrim.timer. </pre></div> Sun, 19 Feb 2017 09:17:00 GMT tag:blog.mdosch.de,2017-02-19:/2017/02/19/kurztipp-fstrim-als-systemd-service Firefoxprofil automatisiert übertragen https://blog.mdosch.de/2017/02/18/firefoxprofil-automatisiert-ubertragen/ <p>Neben meinem Hauptrechner habe ich ein Netbook, das ich auf Reisen nutze und bisher habe ich mich häufig darüber geärgert, dass ich Firefox-Einstellungen immer an beiden Rechnern vornehmen musste weshalb ich nach einem Weg suchte um das Firefoxprofil automatisiert zu synchronisieren.</p> <p>Zuerst habe ich diese <a href="https://wiki.ubuntuusers.de/Unison/#Automatisierung">Anleitung</a> mit <a href="https://www.cis.upenn.edu/~bcpierce/unison/">unison</a> umgesetzt. An dieser Lösung gefiel mir jedoch nicht, dass Dateien die lokal geändert wurden nicht mehr synchronisiert wurden. Außerdem habe ich mit <a href="https://rsync.samba.org/">rsync</a> schon ein mächtiges Tool zur Synchronisierung/Dateiübertragung installiert. Deshalb habe ich <em>unison</em> wieder deinstalliert und ein Script mit <em>rsync</em> erstellt. <!-- more --></p> <p>Das Script prüft die MAC des Quellrechners und übertragt bei Erfolgreicher MAC-Prüfungen das Firefoxprofil mit <em>rsync</em> per <em>SSH</em>. Ein Lockfile verhindert, dass mehrere Instanzen des Scripts zeitgleich ausgeführt werden. Die Lösung mit dem Lockfile habe ich mir aus dem verlinkten UbuntuUsers Wiki-Artikel abgeschaut.</p> <p>Hier der Inhalt von <code>/usr/local/bin/firefox-profile-sync</code>:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="nv">MAC</span><span class="o">=</span>xx:xx:xx:xx:xx:xx <span class="c1"># MAC des Quellrechners</span> <span class="nv">IP_REMOTE</span><span class="o">=</span> <span class="c1"># IP oder hostname des Quellsystems</span> <span class="nv">USER_LOCAL</span><span class="o">=</span> <span class="c1"># Lokaler Benutzername</span> <span class="nv">USER_REMOTE</span><span class="o">=</span> <span class="c1"># Benutzername auf dem Quellsystem</span> <span class="nv">FIREFOX_PROFILE</span><span class="o">=</span>xxxxxxxx.default <span class="c1"># Firefoxprofil </span> <span class="nv">SSH_PORT</span><span class="o">=</span><span class="m">22</span> <span class="c1"># SSH-Port auf dem Quellsystem</span> <span class="c1"># Abbruch wenn bereits ein Lockfile existiert, ansonsten Lockfile anlegen</span> <span class="nb">test</span> -e /var/lock/firefox-profile-sync <span class="o">&amp;&amp;</span> <span class="nb">exit</span> <span class="m">0</span> <span class="o">||</span> touch /var/lock/firefox-profile-sync <span class="c1"># Überprüfung der MAC des Quellsystems (Scriptabbruch in fremden Netzen)</span> <span class="k">if</span> <span class="o">[</span> <span class="k">$(</span>arp -a <span class="p">|</span> awk <span class="s2">&quot;/</span><span class="nv">$IP_REMOTE</span><span class="s2">/ {print \$4}&quot;</span><span class="k">)</span> <span class="o">==</span> <span class="nv">$MAC</span> <span class="o">]</span> <span class="k">then</span> su -c <span class="s2">&quot;rsync -ae &#39;ssh -p </span><span class="nv">$SSH_PORT</span><span class="s2">&#39; --delete \</span> <span class="s2"> </span><span class="nv">$USER_REMOTE</span><span class="s2">@</span><span class="nv">$IP_REMOTE</span><span class="s2">:/home/</span><span class="nv">$USER_REMOTE</span><span class="s2">/.mozilla/firefox/</span><span class="nv">$FIREFOX_PROFILE</span><span class="s2"> \</span> <span class="s2"> /home/</span><span class="nv">$USER_LOCAL</span><span class="s2">/.mozilla/firefox/&quot;</span> <span class="nv">$USER_LOCAL</span> <span class="k">fi</span> rm /var/lock/firefox-profile-sync </pre></div> </td></tr></table> <p>Das Script kann man dann per <a href="https://wiki.ubuntuusers.de/cron/">cron</a> oder <a href="https://www.thomas-krenn.com/de/wiki/Anacron">anacron</a> im gewünschten Intervall ausführen lassen.</p> Sat, 18 Feb 2017 15:50:00 GMT tag:blog.mdosch.de,2017-02-18:/2017/02/18/firefoxprofil-automatisiert-ubertragen HTTP Public Key Pinning https://blog.mdosch.de/2017/02/09/http-public-key-pinning/ <p>Heute kam ich endlich mal dazu <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key_Pinning">HTTP Public Key Pinning</a> (<em>HPKP</em>) einzurichten. Eine Technik, die <a href="https://de.wikipedia.org/wiki/Man-in-the-Middle-Angriff">Man-In-The-Middle-Angriffe</a> verhindern soll. Damit schneide ich in den gängigen Sicherheits- und Verschlüsselungstests überall noch ein bisschen besser ab.</p> <p><a href="https://reraise.eu/2016/06/30/let-s-encrypt-hpkp-in-der-praxis-einsetzen-best-practice">Hier</a> habe ich eine hilfreiche Anleitung zur Einrichtung von <em>HPKP</em> bei Verwendung von <a href="https://letsencrypt.org/">Let's Encrypt</a> gefunden. </p> <p>Die Einrichtung ist in dem Blog ganz gut beschrieben, weshalb ich hier nicht näher darauf eingehe. Die Hashes von den <em>Let's Encrypt</em> Zertifikaten findet man <a href="https://community.letsencrypt.org/t/official-hpkp-support-from-lets-encrypt/23753">hier</a>.</p> Thu, 09 Feb 2017 17:58:00 GMT tag:blog.mdosch.de,2017-02-09:/2017/02/09/http-public-key-pinning Netflix und der Firefox unter Linux https://blog.mdosch.de/2017/02/03/netflix-und-der-firefox-unter-linux/ <p>Seit Version 49 <a href="https://www.soeren-hentzschel.at/firefox/firefox-49-netflix-ohne-silverlight-nun-auch-fuer-linux-nutzer/">erfüllt</a> der Firefox sämtliche Anforderungen um Netflix auch unter Linux nutzen zu können. Mittlerweile nutze ich unter Debian Testing Firefox 51 (aus unstable) und ich werde immer noch per Browserweiche auf eine <a href="https://help.netflix.com/de/node/23742">Seite</a> weitergeleitet, die mir erzählt, dass ich die Voraussetzungen nicht erfülle und auflistet welche Kombinationen funktionieren.</p> <p>Die Kombination <em>Firefox &gt;49 / Linux</em> funktioniert aber. Es gibt technisch keine Probleme, man kann Netflix nämlich auch unter Linux mit dem Firefox nutzen wenn man den Browserstring folgendermaßen manipuliert: <!-- more --></p> <div class="highlight"><pre><span></span><span class="nt">Linux</span> <span class="o">/</span> <span class="nt">Chrome</span> <span class="nt">53</span><span class="o">:</span> <span class="nt">Mozilla</span><span class="o">/</span><span class="nt">5</span><span class="p">.</span><span class="nc">0</span> <span class="o">(</span><span class="nt">X11</span><span class="o">;</span> <span class="nt">Ubuntu</span><span class="o">;</span> <span class="nt">Linux</span> <span class="nt">x86_64</span><span class="o">)</span> <span class="nt">AppleWebKit</span><span class="o">/</span><span class="nt">535</span><span class="p">.</span><span class="nc">11</span> <span class="o">(</span><span class="nt">KHTML</span><span class="o">,</span> <span class="nt">like</span> <span class="nt">Gecko</span><span class="o">)</span> <span class="nt">Chrome</span><span class="o">/</span><span class="nt">53</span><span class="p">.</span><span class="nc">0</span><span class="p">.</span><span class="nc">2785</span><span class="p">.</span><span class="nc">34</span> <span class="nt">Safari</span><span class="o">/</span><span class="nt">537</span><span class="p">.</span><span class="nc">36</span> </pre></div> <p>Da sich nichts zu bessern scheint habe ich mich mal an den Support-Chat gewandt und ein freundlicher Mitarbeiter (oder ein Chat-Bot, aufgrund der sehr generischen Aussagen bin ich mir da nicht so sicher) nahm sich meiner an.</p> <p>Es kamen lustige Aussagen, dass Netflix offiziell kein Linux unterstützt, da dies aufgrund der offenen <del>Architektur</del> Struktur schwierig sei (?!) <a href="https://blog.mdosch.de/2017/02/03/netflix-und-der-firefox-unter-linux/#1">[1]</a>, dass man aber keine speziellen Behandlungen für Linux-Nutzer hinterlegt hätte usw. Die letzte Aussage ist ein Witz wenn ich daran denke, dass Netflix funktioniert sobald ich den Browserstring manipuliere, aber wenn ich dies nicht tue auf eine andere Seite umleitet. Eine solche Browserweiche ist doch genau das, was Netflix laut Aussage dieses Support-Mitarbeiters (Chatbots?) nicht tut.</p> <p>Ich habe versucht das Dilemma zu erklären, habe als Beispiel auch oben genannten Browserstring in den Chat kopiert und erklärt, dass es damit auch im Firefox funktioniert und Netflix also eine Browserweiche eingebaut haben muss, die sie doch bitte entfernen sollen. Darauf kam eine Erklärung über die Probleme Linux zu unterstützen, die man wohlwollend noch als wirr bezeichnen kann. <a href="https://blog.mdosch.de/2017/02/03/netflix-und-der-firefox-unter-linux/#2">[2]</a></p> <p>Immerhin wurde mir auf meine Bitte die genannten Beschreibungen und technischen Details doch bitte an eine technische Abteilung weiterzuleiten, die vermutlich versteht worum es geht positiv beantwortet. Hoffentlich passiert dies wirklich und diese unnötige Beschränkung auf Google Chrome oder nervige Manipulation des Browserstrings sind bald passé. </p> <h5>Update</h5> <p>Wenige Minuten nach Erstellung dieses Blogposts trudelt auch das Transkript per Email ein. Hier zwei nette Auszüge:</p> <p id="1">[1]</p> <blockquote> <p>[...] Wir blockieren Streaming auf Linux-Computern nicht aktiv, aber wir können nicht dafür garantieren, dass es zuverlässig funktioniert.Aufgrund der offenen Struktur von Linux haben wir keine Lösungen für Streaming-Probleme, die auf diesem Betriebssystem auftreten. [...]</p> </blockquote> <p id="2">[2]</p> <blockquote> <p>Netflix hat an sich spezielle Wege, um an sein Ziel zu kommen. Diese Wege werden immer gegangen, um den Kunden die Chance zu geben Netflix zu schauen. Bei Linux ist das aber so, dass die Wege nicht immer gleich sind. Somit sammeln sich im Hintergrund die Daten an. Sobald Linux dann aber plötzlich einen anderen Weg geht, kann Netflix die Daten nicht mehr abrufen bzw. wiedergeben, die es benötigt. Das ist der Grund warum das auf dem Firefox an sich nicht möglich ist.</p> </blockquote> Fri, 03 Feb 2017 14:56:00 GMT tag:blog.mdosch.de,2017-02-03:/2017/02/03/netflix-und-der-firefox-unter-linux fgallery: Schlichte, hübsche Fotogalerien https://blog.mdosch.de/2016/12/14/fgallery-schlichte-huebsche-fotogalerien/ <p>Ich habe gerade mein <a href="http://de.piwigo.org/">Piwigo</a>, das bisher meine <a href="https://blog.mdosch.de/2013/11/13/neu-pics-mdosch-de/">Bildergalerien</a> erzeugt hat, in Rente geschickt. Stattdessen erzeuge ich jetzt statische Bildergalerien mit <a href="https://www.thregr.org/~wavexx/software/fgallery/">fgallery</a>.</p> <p><em>Fgallery</em> steht unter der <em>GPLv2+</em> und ist ab <em>Stretch</em> in <em>Debian</em> <a href="https://packages.debian.org/stretch/fgallery">verfügbar</a>. Mit <em>fgallery</em> kann man schlichte aber hübsche Fotogalerien in HTML/JavaScript generieren lassen. <!-- more --> Meiner Meinung nach sehen diese simplen Galerien gerade wegen ihrer Einfachkeit bzw. Reduktion auf das wesentliche , die Bilder, toll aus. Download-/Viewzähler, Bewertungen etc. benötige ich nicht unbedingt weshalb eine statische Galerie für mich auch ausreichend ist und auch Vorteile mit sich bringt.</p> <p>Da ich <em>Piwigo</em> selten genutzt habe kam es vor, dass ich von einem Update längere Zeit nichts mitbekam und dies erst relativ spät ausgeführt habe. Das kann natürlich ein Sicherheitsrisiko bedeuten, das statische Seiten nicht mit sich bringen.</p> <p>Das einzige was ich an <em>fgallery</em> etwas vermisse ist die Unterstützung für mehrere Galerien, aber das habe ich umgangen indem ich die Galerien einfach einzeln anlege und in Ermangelung einer Übersichtsseite einfach <a href="https://pics.mdosch.de">pics.mdosch.de</a> auf den entsprechenden tag im blog umgeleitet habe.</p> Wed, 14 Dec 2016 18:46:00 GMT tag:blog.mdosch.de,2016-12-14:/2016/12/14/fgallery-schlichte-huebsche-fotogalerien Quickstart firejail https://blog.mdosch.de/2016/12/02/quickstart-firejail/ <p>Ich hatte schon einmal <a href="https://firejail.wordpress.com/">firejail</a>, ein Programm um Anwendungen in <a href="http://www.itwissen.info/definition/lexikon/Sandbox.html">Sandboxes</a> vom restlichen System abzuschotten, installiert und damit herumexperimentiert. Aber aus Gründen, an die ich mich nicht mehr erinnere, habe ich es nie wirklich in mein System integriert. </p> <p>In letzter Zeit ist mir <em>firejail</em> wieder durch Blogeinträge oder <a href="https://www.kuketz-blog.de/firejail-linux-haerten-teil4/">diesen</a> Teil einer interessanten Artikelserie ins Gedächtnis gerufen worden und ich werde es nun für so viele Programme wie möglich nutzen. <!-- more --></p> <h5>Installation</h5> <p>Unter Debian ist <em>firejail</em> ab <em>Stretch</em> enthalten, bzw. für <em>Jessie</em> in den <a href="https://backports.debian.org/">Backports</a> verfügbar. Man installiert es denkbar einfach:</p> <div class="highlight"><pre><span></span># apt install firejail </pre></div> <h5>Einrichtung und Benutzung</h5> <p>Für viele Programme sind schon Profile unter <code>/etc/firejail</code> vorhanden und man kann diese einfach nutzen, indem man die Anwendung per <code>firejail $PROGRAMMNAME</code> aufruft. Per <code>firecfg</code> kann man sich für installierte Programme, für die ein Profil vorhanden ist, folgendermaßen automatisch Symlinks nach <code>/usr/local/bin/</code> anlegen lassen:</p> <div class="highlight"><pre><span></span># firecfg </pre></div> <p>Dadurch genügt es nun das Programm in einem Terminal oder per <em>Alt+F2</em> mit dem Programmnamen ohne vorangestelltes <code>firejail</code> aufzurufen.</p> <p>Mit folgendem Befehl kann man sich anzeigen lassen, welche Symlinks zu <em>firejail</em> von <em>firecfg</em> angelegt wurden:</p> <div class="highlight"><pre><span></span>$ firecfg --list </pre></div> <p>Da viele Programmstarter (.desktop-Dateien) unter <code>/usr/local/share/applications/</code> den kompletten Pfad zum binary enthalten funktionieren die Verknüpfungen aus den Menüs der Desktopumgebungen für diese Programme nicht mit <em>firejail</em>. Das lässt sich ebenfalls automatisch mit <em>firecfg</em> beheben:</p> <div class="highlight"><pre><span></span>$ firecfg --fix </pre></div> <p>Dann scannt firecfg die .desktop-Dateien unter <code>/usr/local/share/applications/</code> nach vollständigen Pfadangaben bei <code>Exec=</code> in den Startern von unterstützten Programmen, kopiert diese nach <code>~/.local/share/applications/</code> und trägt dort statt dem kompletten Pfad nur den Namen des binary ein. Nach anschließendem Aus- und Einloggen (bzw. Ausführen von <code>r</code> mittels <em>Alt+F2</em> bei Gnome3) werden diese Anwendungen nun automatisch in einer Sandbox geöffnet.</p> <p>Man kann sich anzeigen lassen welche Programme gerade von <em>firejail</em> in einer Sandbox ausgeführt werden:</p> <div class="highlight"><pre><span></span>$ firejail --list </pre></div> <p>Oder man lässt sich auch sämtliche Subprozesse mit anzeigen:</p> <div class="highlight"><pre><span></span>$ firejail --tree </pre></div> <h5>Eigene Profile anlegen</h5> <p>Möchte man ein Profil abändern erstellt man den Ordner <code>~/.config/firejail/</code> und kopiert das entsprechende Profil von <code>/etc/firejail/</code> in den erstellten Ordner <code>~/.config/firejail/</code>. Man kann die Profile natürlich auch global in <code>/etc/firejail/</code> editieren, aber die Änderungen könnten von Updates überschrieben werden.</p> <p>Möchte man eigene Profile für Programme, für die kein Profil mitgeliefert wird, anlegen macht man dies am Besten unter <code>~/.config/firejail/$BINARYNAME.profile</code>. Es bietet sich an ein neues Profil auf der Basis von <code>/etc/firejail/default.profile</code> aufzubauen.</p> <p>Auf die Konfiguration von Profilen werde ich hier (noch?) nicht eingehen, da ich auch noch in der Einarbeitungsphase stecke. Deshalb gibt es hier auch "nur" einen Quickstart-Guide. <code>firecfg --fix</code> wird leider in den Blogbeiträgen, die ich bisher zum Theme gelesen habe, nicht erwähnt. Dummerweise habe ich es erst in der manpage gefunden nachdem ich das schon händisch erledigt hatte. 😄</p> <h5>Profile testen [Update 2017-02-25]</h5> <p>Mit der Option <code>--audit</code> lassen sich Profile auf mögliche Sicherheitslecks untersuchen. Ein einfacher Aufruf ohne weitere Parameter prüft das Defaultprofil:</p> <div class="highlight"><pre><span></span>$ firejail --audit </pre></div> <p>Die vorhanden Profile lassen sich prüfen indem man einfach den Programmnamen übergibt:</p> <div class="highlight"><pre><span></span>$ firejail --audit firefox </pre></div> <p>Mögliche Sicherheitslöcher werden von firejail dann folgendermaßen berichtet:</p> <div class="highlight"><pre><span></span><span class="n">UGLY</span><span class="o">:</span> <span class="n">I</span> <span class="n">can</span> <span class="n">access</span> <span class="n">files</span> <span class="k">in</span> <span class="sr">/home/martin/.mozilla directory. Use &quot;firejail --blacklist=/home/martin/</span><span class="o">.</span><span class="na">mozilla</span><span class="err">&quot;</span> <span class="n">to</span> <span class="n">block</span> <span class="n">it</span><span class="o">.</span> </pre></div> <p>In dem fall ist es natürlich ok, dass <em>firefox</em> auf <code>~/.mozilla</code> zugreifen darf. Findet man aber Zugriffe auf Ordner, die man global unterbinden möchte legt man eine Datei <code>/etc/firejail/disable-common.local</code> an und fügt dort einen blacklist Eintrag ein:</p> <div class="highlight"><pre><span></span># Lokale firejail blacklist blacklist <span class="cp">${</span><span class="n">HOME</span><span class="cp">}</span>/.gnupg blacklist <span class="cp">${</span><span class="n">HOME</span><span class="cp">}</span>/.mozilla blacklist <span class="cp">${</span><span class="n">HOME</span><span class="cp">}</span>/.thunderbird </pre></div> <p>Trotzdem sollte man die Programme die man mit firejail in den Berechtigungen einschränkt auch noch einzeln einem Audit unterziehen, da globale Einstellungen in den einzelnen Profilen wieder aufgehoben werden können.</p> <h5>Troubleshooting</h5> <h6>Gnome-extensions AddOn im Firefox [Update 2016-12-03]</h6> <p>Heute fiel mir auf, dass ich keine Gnome-extensions mehr im Firefox installieren konnte. Ich konnte es lösen indem ich folgende Zeilen dem <code>firefox.profile</code> hinzugefügt habe:</p> <div class="highlight"><pre><span></span>noblacklist ~/.local/share/gnome-shell/extensions/ whitelist ~/.local/share/gnome-shell/extensions/ </pre></div> <p>Das komplette Profil sieht nun so aus:</p> <div class="highlight"><pre><span></span># Firejail profile for Mozilla Firefox (Iceweasel in Debian) noblacklist ~/.mozilla noblacklist ~/.cache/mozilla noblacklist ~/.local/share/gnome-shell/extensions/ include /etc/firejail/disable-common.inc include /etc/firejail/disable-programs.inc include /etc/firejail/disable-devel.inc caps.drop all netfilter nonewprivs noroot protocol unix,inet,inet6,netlink seccomp tracelog whitelist <span class="cp">${</span><span class="n">DOWNLOADS</span><span class="cp">}</span> mkdir ~/.mozilla whitelist ~/.mozilla mkdir ~/.cache/mozilla/firefox whitelist ~/.cache/mozilla/firefox whitelist ~/dwhelper whitelist ~/.zotero whitelist ~/.vimperatorrc whitelist ~/.vimperator whitelist ~/.pentadactylrc whitelist ~/.pentadactyl whitelist ~/.keysnail.js whitelist ~/.config/gnome-mplayer whitelist ~/.cache/gnome-mplayer/plugin whitelist ~/.pki # Gnome-Shell AddOn whitelist ~/.local/share/gnome-shell/extensions/ # lastpass, keepassx whitelist ~/.keepassx whitelist ~/.config/keepassx whitelist ~/keepassx.kdbx whitelist ~/.lastpass whitelist ~/.config/lastpass #silverlight whitelist ~/.wine-pipelight whitelist ~/.wine-pipelight64 whitelist ~/.config/pipelight-widevine whitelist ~/.config/pipelight-silverlight5.1 include /etc/firejail/whitelist-common.inc # experimental features #private-etc passwd,group,hostname,hosts,localtime,nsswitch.conf,resolv.conf,gtk-2.0,pango,fonts,iceweasel,firefox,adobe,mime.types,mailcap,asound.conf,pulse </pre></div> Fri, 02 Dec 2016 16:24:00 GMT tag:blog.mdosch.de,2016-12-02:/2016/12/02/quickstart-firejail Der schnellste Live-Ticker für Eishockey-Fans https://blog.mdosch.de/2016/11/23/der-schnellste-live-ticker-fuer-eishockey-fans/ <p>Ich verfolge leidenschaftlich Eishockey und wenn ich gerade zu Hause bin während meine Mannschaft ein Auswärtsspiel bestreitet verfolge ich dieses gerne indem ich die Übertragung schaue. Leider wird nur ein ausgewähltes Spiel pro Woche im Free-TV übertragen und ich möchte mir das Telekom-Abo nicht zulegen.<!-- more -->¹</p> <p>Wird ein Spiel nicht im Free-TV übertragen habe ich bisher den Sport1 Live-Ticker aufgerufen und im Hintergrund dem Bericht von <a href="http://www.radio-oberwiesenfeld.de/">Radio Oberwiesenfeld</a> gelauscht. Das war aber häufig ärgerlich, da der Liveticker von Sport1 extrem langsam ist und die Qualität der Berichterstattung des Sport1-Tickers auch stark zu wünschen übrig ließ.</p> <p>Mittlerweile habe ich den Live-Ticker von <a href="http://www.flashscore.de/eishockey/">flashscore</a> als bessere Alternative schätzen gelernt. Der Live-Ticker ist schnell, extrem schnell. Teilweise kam es schon vor, dass ich im Live-Ticker bereits von einem Tor erfahren habe, bevor ich es im Webradio hörte. Dazu gibt es noch die Live-Tabelle, die genau so hochaktuell den Tabellenstand entsprechend der aktuellen Zwischenstände widergibt. Fehlerhafte Berichterstattung wie bei Sport1 gibt es auch nicht, da es bei flashscore einfach die aktuelle Statistik und keine Prosa zu sehen gibt. Aber dafür höre ich ja <em>Radio Oberwiesenfeld</em>. ;-)</p> <p><a href="https://files.mdosch.de/2016-11/flashscore_icehockey.png"><img alt="Flashscore Icehockey" src="https://files.mdosch.de/2016-11/flashscore_icehockey_sm.png"/></a></p> <p>Wer aktuelle Statistiken sehen möchte und sich an Werbung für Wettportale nicht stört, dem möchte ich ausdrücklich <em>flashscore</em> empfehlen.</p> <p>¹ Es lohnt sich für mich einfach nicht, da ich zu wenige Spiele schauen würde. Heimspiele schaue ich im Stadion und ich werde Freitag Abende nicht daheim vorm Fernseher verbringen wenn ein Ausswärtsspiel ansteht. Selbst die Spiele am Sonntag Nachmittag oder Abend würde ich u.U. nicht verfolgen, da ich evtl. auf Dienstreise bin und es aufgrund der Zeitverschiebung nicht möglich ist. Daher vermisse ich bei der Telekom zusätzlich zum Abo-Modell die Möglichkeit einzelne Spiele für einen fairen Preis (3€ fände ich angemessen) zu kaufen. So entgehen der Telekom die Gelegenheits-Zuschauer, wie ich einer bin (bezogen auf die übertragen, ins Stadion gehe ich bei jeder Gelegenheit).</p> Wed, 23 Nov 2016 18:00:00 GMT tag:blog.mdosch.de,2016-11-23:/2016/11/23/der-schnellste-live-ticker-fuer-eishockey-fans Mal wieder auf der Suche nach einer Blogsoftware https://blog.mdosch.de/2016/10/17/mal-wieder-auf-der-suche-nach-einer-blogsoftware/ <p>Da der, von mir verwendete, Blog-Compiler <a href="https://posativ.org/acrylamid/"><em>Acrylamid</em></a> leider seit kurzem <a href="https://github.com/posativ/acrylamid/commit/c53c85088d9cd79335f69ad74fb647468c707afd">nicht mehr weiterentwickelt</a> wird werde ich irgendwann auf eine neue Blog-Software umsteigen müssen. Natürlich funktioniert Acrylamid auch weiterhin und Sicherheitslücken sind bei einem statischen Blog-Compiler nicht wirklich ein Thema aber wer weiß ob Acrylamid nicht irgendwann inkompatibel zu seinen Abhängigkeiten wird. Um in diesem Fall nicht plötzlich vor Problemen zu stehen möchte ich mir schon vorher einen neuen Blog-Compiler besorgen, testen und wenn alles soweit klappt umsteigen.</p> <p>Ich hatte hier schon mal einen <a href="https://blog.mdosch.de/2014/01/16/wordpress-alternativen/">ähnlichen Beitrag</a> geschrieben als ich von Wordpress umsteigen wollte. Nun ist leider die Zeit gekommen um erneut umzusteigen, auch wenn mir Acrylamid sehr gut gefallen hat. <!-- more --></p> <p>Was ich derzeit von einer Blog-Software erwarte:</p> <ul> <li>Statischer Blog, da ich nicht von überall und jedem fremden Rechner bloggen muss und da ich mittlerweile die <a href="https://blog.mdosch.de/2014/09/07/blog-mdosch-de-jetzt-statisch/">Vorzüge</a> eines statischen Blogs zu schätzen weiß (must have)</li> <li>Permalink-Struktur muss erhalten bleiben, d.h. die Struktur <code>https://blog.mdosch.de/$JAHR/$MONAT/$TAG/$TITEL</code> muss konfigurierbar sein (must have)</li> <li>OpenSource (must have)</li> <li>Beiträge in <a href="http://markdown-here.com/">Markdown</a> (must have)</li> <li>In den Debian-Repos vorhanden (nice-to-have)</li> <li>Automatische Silbentrennung für Zeilenumbrüche (nice-to-have)</li> </ul> <p>Bevor ich auf Acrylamid umgestiegen bin habe ich das alles recht gut mit <a href="https://jekyllrb.com/"><em>Jekyll</em></a> hinbekommen. Ich habe Jekyll dann nur verworfen weil mir Acrylamid besser gefallen hat. Ich denke, dass ich mir das Jekyll-Framework <a href="http://octopress.org/"><em>Octopress</em></a> näher ansehen werde.</p> <p>Wenn jemand einen tollen statischen Blog-Compiler kennt, der meine Anforderungen erfüllt wäre ich für Hinweise dankbar. Überraschenderweise sind einige Tests mit statischen Blog-Compilern daran gescheitert, dass ich nicht herausfinden konnte wie ich die Permalink-Struktur wie gewünscht einstelle. Ich bin fast sicher, dass so etwas nicht hartkodiert sondern variabel programmiert ist, aber in den Beispiel-Configs und der Dokumentation habe ich meist nichts dazu gefunden.</p> <h5>[2016-10-17]</h5> <p>Da die automatische Silbentrennung für Zeilenumbrüche ein nettes Feature von Acrylamid ist habe ich dies in der Liste nachgetragen.</p> <h5>[2016-10-18]</h5> <p>Aufgrund der Kommentare stehen derzeit folgende Blog-Compiler auf meiner Liste um sie bei Gelegenheit näher zu betrachten:</p> <ul> <li><a href="https://gohugo.io/">Hugo</a></li> <li><a href="http://blogcpp.org/">BlogC++</a></li> <li><a href="http://blog.getpelican.com/">Pelican</a></li> <li><a href="https://getnikola.com/">Nikola</a></li> </ul> <p>Vielen Dank für die Hinweise.</p> Mon, 17 Oct 2016 18:51:00 GMT tag:blog.mdosch.de,2016-10-17:/2016/10/17/mal-wieder-auf-der-suche-nach-einer-blogsoftware HTTPS: Wechsel von WoSign zu Let's Encrypt https://blog.mdosch.de/2016/10/16/https-wechsel-von-wosign-zu-let-s-encrypt/ <p>Bisher habe ich https mit einem Zertifikat von <em>WoSign</em> angeboten, aber aufgrund <a href="https://wiki.mozilla.org/CA:WoSign_Issues">einiger Probleme</a> bei WoSign sieht es aus als würde <em>Mozilla</em> demnächst deren Zertifikate <a href="http://www.golem.de/news/wosign-und-startcom-mozilla-macht-ernst-mit-dem-rauswurf-1610-123829.html">rauswerfen</a>.</p> <p>Da ich bei WoSign alle 3 Jahre neue Zertifikate erstellen und einpflegen muss wäre ich über kurz oder lang eh auf <a href="https://letsencrypt.org/"><em>Let's Encrypt</em></a> umgestiegen, da sich das bei <em>Uberspace</em> schön automatisieren lässt. Die Einrichtung ging mit Hilfe des <a href="https://wiki.uberspace.de/webserver:https#let_s-encrypt-zertifikate">Wiki</a> einwandfrei und die Bewertung meiner Transportverschlüsselung bleibt bei den gängigen Testportalen gleich hoch.</p> <p>Jetzt heißt es nur abwarten ob die Automatisierung auch funktioniert sonst kann man, <a href="https://de.wikipedia.org/wiki/HTTP_Strict_Transport_Security">HSTS</a> sei Dank, nach Ablauf der Gültigkeit der Zertifikate meine Seiten nicht mehr aufrufen.</p> Sun, 16 Oct 2016 12:54:00 GMT tag:blog.mdosch.de,2016-10-16:/2016/10/16/https-wechsel-von-wosign-zu-let-s-encrypt Beiträge jetzt per E-Mail teilbar https://blog.mdosch.de/2016/10/15/beitraege-jetzt-per-e-mail-teilbar/ <p>Ich hatte in meinem Blog ja zeitweise Share-Buttons für soziale Netzwerke über die <a href="https://blog.mdosch.de/2014/09/07/2-klicks-fuer-mehr-datenschutz/">2-Klick-Variante</a> von <a href="https://heise.de">heise</a> eingebaut. Diese habe ich dann irgendwann durch <a href="https://blog.mdosch.de/2014/09/20/social-media-jetzt-als-einfache-textlinks/">einfache Textlinks</a> ersetzt. Warum? Weil das mit einem Klick funktioniert, auch keine externen Scripte nachlädt und einfach ohne irgendwelches Scripting funktioniert. <a href="https://de.wikipedia.org/wiki/KISS-Prinzip">KISS</a>! <!-- more --></p> <p>Heute fiel mir auf, dass der Klassiker, nämlich die E-Mail, fehlt. Zwar bietet der Firefox auch eine Funktion zum Teilen (Datei -&gt; Link per E-Mail senden...) an und ich gehe davon aus, dass die anderen gängigen Browser auch so eine Funktion anbieten, aber es ist doch deutlich komfortabler wenn man dies einfach durch einen Link unterhalb des Beitrags tun kann.</p> <p>Es gibt <a href="https://blog.kulturbanause.de/2012/01/e-mail-links-mailto-mit-betreff-kopie-cc-blindkopie-bcc-und-nachrichteninhalt/">diverse Möglichkeiten</a> E-Mail-Verlinkungen in HTML zu erstellen. Ich habe letztlich folgendes in das Template für Beiträge eingebaut:</p> <div class="highlight"><pre><span></span><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;mailto:?subject=</span><span class="cp">{{</span> <span class="nv">entry.title</span> <span class="cp">}}</span><span class="s">&amp;body=</span><span class="cp">{{</span> <span class="nv">conf.www_root</span> <span class="o">+</span> <span class="nv">entry.permalink</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="nt">&gt;</span>E-Mail<span class="nt">&lt;/a&gt;</span> </pre></div> <p>Ich verzichte also auf die E-Mail-Adresse, die direkt nach dem <code>mailto:</code> stehen sollte und gebe mit <code>subject=</code> einen Betreff und mit <code>&amp;body=</code> den Nachrichteninhalt mit. <code>{{ entry.title }}</code> und <code>{{ conf.www_root + entry.permalink }}</code> werden von meinem Blog-Compiler mit dem Titel und dem Link des Beitrags ersetzt.</p> <p>Bei einem ersten Test funktioniert dieses Vorgehen bei mir einwandfrei. Thunderbird öffnet eine neue E-mail und der Cursor ist sogar im Empfängerfeld positioniert. Auch auf meinem Mobiltelefon gibt es keine Probleme, der <a href="https://de.wikipedia.org/wiki/Jolla#Sailfish_OS">Sailfish</a>-Browser öffnet den Sailfish-Mail-Client und der Cursor ist ebenfalls im Empfängerfeld. Ich hoffe dies funktioniert bei anderen E-Mail-Programmen ähnlich gut. Wenn nicht bitte ich um Rückmeldung, da ich die Funktion wieder entfernen werde, falls das Gros der Programme mit diesem Link nicht klar kommt. Schließlich möchte ich niemanden frusten.</p> <p>Der gesamte Bereich um Beiträge über <em>Facebook</em>, <em>Twitter</em>, <em>Google</em> oder <em>E-Mail</em> zu teilen sieht so aus:</p> <div class="highlight"><pre><span></span><span class="nt">&lt;p&gt;</span>Teilen: <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;https://www.facebook.com/sharer.php?u=</span><span class="cp">{{</span> <span class="nv">conf.www_root</span> <span class="o">+</span> <span class="nv">entry.permalink</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="nt">&gt;</span>FB<span class="nt">&lt;/a&gt;</span> | <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;https://plus.google.com/share?url=</span><span class="cp">{{</span> <span class="nv">conf.www_root</span> <span class="o">+</span> <span class="nv">entry.permalink</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="nt">&gt;</span>G+<span class="nt">&lt;/a&gt;</span> | <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;https://twitter.com/intent/tweet?text=</span><span class="cp">{{</span> <span class="nv">entry.title</span> <span class="cp">}}</span><span class="s">&amp;url=</span><span class="cp">{{</span> <span class="nv">conf.www_root</span> <span class="o">+</span> <span class="nv">entry.permalink</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="nt">&gt;</span>TW<span class="nt">&lt;/a&gt;</span> | <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;mailto:?subject=</span><span class="cp">{{</span> <span class="nv">entry.title</span> <span class="cp">}}</span><span class="s">&amp;body=</span><span class="cp">{{</span> <span class="nv">conf.www_root</span> <span class="o">+</span> <span class="nv">entry.permalink</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="nt">&gt;</span>E-Mail<span class="nt">&lt;/a&gt;&lt;/p&gt;</span> </pre></div> Sat, 15 Oct 2016 19:48:00 GMT tag:blog.mdosch.de,2016-10-15:/2016/10/15/beitraege-jetzt-per-e-mail-teilbar Erste Schritte mit YaCy https://blog.mdosch.de/2016/10/15/erste-schritte-mit-yacy/ <p>Angeregt durch diesen <a href="http://www.golem.de/news/howto-goodbye-google-suchmaschinen-selber-hosten-1610-123482.html">Artikel</a> und diesen <a href="http://tmowizard.square7.ch/wordpress/2016/10/15/yacy-deusu-und-co-suchmaschinen-google-ist-nicht-alles/">Blogpost</a> habe ich etwas mit <a href="http://yacy.net/de/index.html">YaCy</a> gespielt.</p> <p>Was ist <em>YaCy</em>? Ich zitiere die YaCy-<a href="http://yacy.net/de/index.html">Homepage</a>:</p> <blockquote> <p>YaCy ist eine Suchmaschine bei dem die Nutzer selbst zum Betreiber werden. Die freie Suchmaschinensoftware YaCy läuft nicht auf einem Server im Internet, sondern auf Ihrem eigenen Rechner. So können Sie Ihr persönliches Suchportal errichten, bei dem nur Sie bestimmen was die Suchmaschine im Suchindex hat. <!-- more --></p> <p>Die Besonderheit von YaCy ist aber, dass es sich mit den anderen Benutzern, die ebenfalls eine YaCy Suchmaschine betreiben, verbinden kann. So entsteht ein vollständig dezentrales Peer-to-Peer Suchmaschinennetz welches mit der Anzahl der Nutzer skaliert. Diese, von der Gemeinschaft der Nutzer betriebene Suchmaschine ist nicht zensierbar und speichert auch kein Nutzerverhalten an zentraler Stelle. Das Erreichen von Informationsfreiheit durch freie, dezentrale Suchsoftware ist auch ein Projektziel. </p> </blockquote> <p>Das klingt ja alles recht nett also habe ich YaCy mal schnell auf meinem alten Laptop, welches mittlerweile als Server für diverse Dienste genutzt wird, installiert. Mein Server läuft mit Debian <a href="https://www.debian.org/releases/stable/">Stable</a> (derzeit <a href="https://www.debian.org/releases/jessie/releasenotes">Jessie</a>) und die Installation war nach dieser <a href="http://www.yacy-websuche.de/wiki/index.php/De:DebianInstall">Anleitung</a> kein Problem.</p> <p>Auch die Einrichtung war mit Hilfe des <a href="http://www.yacy-websuche.de/wiki/index.php/De:Start">Wiki</a> kein Problem.</p> <p>Lediglich zwei Sachen fielen mir beim Herumspielen bisher auf:</p> <ul> <li>Der Crawler konnte meinen eigenen Blog nicht indizieren</li> <li>Ich kann meine Installation derzeit nicht per https aufraufen (noch ungelöst)</li> </ul> <h5>Meine Webseite indizieren</h5> <p>Das erste Problem lag wohl daran, dass YaCy und meine Seite Probleme beim Schlüsselaustausch hatten: <code>scraper cannot load URL: java.io.IOException: Client can't execute: Could not generate DH keypair duration=187 for url</code>. Nach einiger Recherche fand ich <a href="http://stackoverflow.com/questions/6851461/java-why-does-ssl-handshake-give-could-not-generate-dh-keypair-exception">hier</a> eine für mich funktionierende Lösung:</p> <p>Ich musste in der Datei <code>/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security</code> die Zeile</p> <div class="highlight"><pre><span></span>jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize &lt; 768 </pre></div> <p>folgendermaßen ändern:</p> <div class="highlight"><pre><span></span>jdk.tls.disabledAlgorithms=SSLv3, RC4, DHE, MD5withRSA, DH keySize &lt; 768 </pre></div> <p>Danach habe ich als <em>root</em> YaCy neu gestartet und konnte auch meinen Blog indizieren:</p> <div class="highlight"><pre><span></span>service yacy restart </pre></div> <p>Nebenwirkungen konnte ich bisher keine feststellen, kann ich aber natürlich auch nicht ausschließen. Ich persönlich vermute aber, dass diese veraltete Methode kaum noch eingesetzt wird.</p> <h5>HTTPS-Zugriff</h5> <p>Dieses Problem besteht derzeit noch, obwohl ich alles gemäß dem Wiki eingerichtet habe. Ich hoffe ich komme demnächst dazu hier etwas zu recherchieren und das Problem zu lösen. Laut YaCy ist https aktiviert, aber mit https://192.168.178.22:8443 kann keine Verbindung aufgebaut werden. Auch ein Portscan mit <a href="https://wiki.ubuntuusers.de/nmap/">nmap</a> zeigte nur die Ports der anderen installierten Dienste.</p> <p>Falls jemand ein ähnliches Problem hatte und dies gelöst hat oder einen möglichen Ansatz weiß würde ich mich über Rückmeldungen freuen.</p> Sat, 15 Oct 2016 17:44:00 GMT tag:blog.mdosch.de,2016-10-15:/2016/10/15/erste-schritte-mit-yacy Code-Schnippsel: Backup über SSH mit rsync (2) https://blog.mdosch.de/2016/09/24/code-schnippsel-backup-ueber-ssh-mit-rsync-2/ <p>Seit meinem letzten <a href="https://blog.mdosch.de/2014/09/29/code-schnippsel-backup-ueber-ssh-mit-rsync/">Beitrag</a> über mein Backup-Script ist schon wieder eine Weile vergangen und ich möchte hier mal wieder den aktuellen Stand protokollieren. <!-- more --></p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="c1">#### Diese Variablen bitte auf die eigenen Bedürfnisse anpassen</span> <span class="nv">BACKUP_PFADE</span><span class="o">=</span><span class="s2">&quot;/home/martin /etc /root /usr/local&quot;</span> <span class="c1"># Pfade die gesichert werden sollen</span> <span class="nv">ZIELPFAD</span><span class="o">=</span>/mnt/backup <span class="c1"># Pfad auf dem Backupserver (ohne abschließenden /)</span> <span class="nv">ZIEL_EXT</span><span class="o">=</span><span class="nb">true</span> <span class="c1"># true = Wechseldatenträger, false = interner Speicher</span> <span class="nv">ANZAHL_TAGE</span><span class="o">=</span><span class="m">7</span> <span class="c1"># Tägliches Backup für x Tage</span> <span class="nv">BENUTZER</span><span class="o">=</span>martin <span class="c1"># Benutzername auf dem Backupserver</span> <span class="nv">SERVER</span><span class="o">=</span>backup <span class="c1"># IP-Adresse oder Hostname des Backupservers</span> <span class="nv">PORT</span><span class="o">=</span><span class="m">1418</span> <span class="c1"># SSH-Port des Backupservers</span> <span class="nv">MAC</span><span class="o">=</span><span class="m">88</span>:ae:1d:31:cd:17 <span class="c1"># MAC-Adresse des Servers für WOL</span> <span class="nv">EXCLUDES</span><span class="o">=</span><span class="s2">&quot;--exclude .cache/ \</span> <span class="s2">--exclude cache/ --exclude Cache/&quot;</span> <span class="c1"># TODO: Elegantere Lösung finden </span> <span class="nv">HISTORY</span><span class="o">=</span>/root/.backup_hist <span class="c1"># Protokoll-Datei</span> <span class="nv">LISTE</span><span class="o">=</span>/root/installed_packages.txt <span class="c1"># Speicherort für Liste der installierten Pakete</span> <span class="c1">#### Don&#39;t touch this; domdididom</span> <span class="c1">#### Ab hier bitte nichts anfassen, wenn du nicht sicher weißt was du tust</span> <span class="nv">MONAT</span><span class="o">=</span><span class="k">$(</span>date +%-m<span class="k">)</span> <span class="nv">VORMONAT</span><span class="o">=</span><span class="k">$(</span>expr <span class="nv">$MONAT</span> - <span class="m">1</span><span class="k">)</span> <span class="nv">HOST</span><span class="o">=</span><span class="k">$(</span>hostname<span class="k">)</span> <span class="c1"># Backup-Server bereit?</span> <span class="k">if</span> ! ping -c <span class="m">1</span> <span class="nv">$SERVER</span> &gt; /dev/null <span class="k">then</span> <span class="c1"># Backup-Server hochfahren</span> wakeonlan <span class="nv">$MAC</span> <span class="m">1</span>&gt;/dev/null sleep <span class="m">60</span> <span class="k">if</span> ! ping -c <span class="m">1</span> <span class="nv">$SERVER</span> &gt; /dev/null <span class="k">then</span> <span class="nb">echo</span> <span class="s2">&quot;Backup konnte nicht durchgeführt werden. Der Server war nicht erreichbar.&quot;</span> <span class="se">\</span> <span class="p">|</span> mail -s <span class="s1">&#39;Backup fehlgeschlagen!&#39;</span> <span class="k">$(</span>whoami<span class="k">)</span>@<span class="nv">$HOST</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="k">fi</span> <span class="c1"># Falls Zieldatenträger Wechselplatte, diese einhängen</span> <span class="k">if</span> <span class="nv">$ZIEL_EXT</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo mount </span><span class="nv">$ZIELPFAD</span><span class="s2">&quot;</span> &gt;/dev/null <span class="c1"># Datei CURRENT zur Protokollierung der aktiven Backups existiert?</span> <span class="k">if</span> ! ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> stat <span class="nv">$ZIELPFAD</span>/CURRENT <span class="se">\&gt;</span> /dev/null <span class="m">2</span><span class="se">\&gt;\&amp;</span><span class="m">1</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;touch </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT &amp;&amp; echo &quot;</span><span class="m">0</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="c1"># CURRENT auslesen und inkrementieren</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span>ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;cat </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span><span class="k">)</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$CURRENT</span><span class="s2"> + 1&quot;</span> <span class="p">|</span> bc<span class="k">)</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo </span><span class="nv">$CURRENT</span><span class="s2"> &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="c1"># Link 0 -&gt; 12 (für Link auf letztes Backup im Januar) existiert?</span> <span class="k">if</span> ! ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> stat <span class="nv">$ZIELPFAD</span>/<span class="nv">$HOST</span>/0 <span class="se">\&gt;</span> /dev/null <span class="m">2</span><span class="se">\&gt;\&amp;</span><span class="m">1</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;ln -s </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/12 </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/0&quot;</span> <span class="k">fi</span> <span class="c1"># Bei Problemen zu Testzwecken auskommentieren</span> <span class="c1"># ssh -v -p $PORT $BENUTZER@$SERVER /bin/true</span> <span class="c1"># Eine Liste der installierten Pakete erstellen</span> dpkg --get-selections &gt; <span class="nv">$LISTE</span> <span class="c1"># Backup per rsync</span> <span class="k">for</span> PFAD in <span class="nv">$BACKUP_PFADE</span> <span class="k">do</span> rsync -az --delete-excluded <span class="nv">$EXCLUDES</span> --rsync-path<span class="o">=</span><span class="s1">&#39;sudo rsync&#39;</span> --rsh<span class="o">=</span><span class="s2">&quot;ssh -p </span><span class="nv">$PORT</span><span class="s2">&quot;</span> <span class="se">\</span> --link-dest<span class="o">=</span>../<span class="nv">$VORMONAT</span> <span class="nv">$PFAD</span> <span class="nv">$BENUTZER</span>@<span class="nv">$SERVER</span>:<span class="nv">$ZIELPFAD</span>/<span class="nv">$HOST</span>/<span class="nv">$MONAT</span> <span class="k">done</span> <span class="c1"># Erstellen von Snapshots der letzten x Tage</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo rm -rf </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="nv">$ANZAHL_TAGE</span><span class="s2">&quot;</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$ANZAHL_TAGE</span> -gt <span class="m">1</span> <span class="o">]</span> <span class="k">then</span> <span class="k">for</span> <span class="o">((</span> <span class="nv">ANZAHL</span><span class="o">=</span><span class="nv">$ANZAHL_TAGE</span> <span class="p">;</span> ANZAHL &gt;<span class="o">=</span> <span class="m">2</span> <span class="p">;</span> ANZAHL-- <span class="o">))</span> <span class="k">do</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="se">\</span> <span class="s2">&quot;sudo mv </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="k">$(</span>expr <span class="nv">$ANZAHL</span> - <span class="m">1</span><span class="k">)</span><span class="s2"> </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="nv">$ANZAHL</span><span class="s2">&quot;</span> <span class="k">done</span> <span class="k">fi</span> <span class="k">if</span> <span class="o">[</span> ! <span class="nv">$ANZAHL_TAGE</span> -eq <span class="m">0</span> <span class="o">]</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo mv </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.latest </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.1&quot;</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo cp -al </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/</span><span class="nv">$MONAT</span><span class="s2"> </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.latest&quot;</span> <span class="k">fi</span> <span class="c1"># Falls Zieldatenträger Wechselplatte, diese aushängen sofern kein weiteres Backup aktiv ist (Variable Current)</span> <span class="k">if</span> <span class="nv">$ZIEL_EXT</span> <span class="k">then</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span>ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;cat </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span><span class="k">)</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$CURRENT</span> -eq <span class="m">1</span> <span class="o">]</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo &quot;</span><span class="m">0</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo umount </span><span class="nv">$ZIELPFAD</span><span class="s2">&quot;</span> &gt;/dev/null <span class="k">else</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$CURRENT</span><span class="s2"> - 1&quot;</span> <span class="p">|</span> bc<span class="k">)</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo &quot;</span><span class="nv">$CURRENT</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="k">fi</span> <span class="c1"># Datum und Uhrzeit des Backups protokollieren</span> date &gt;&gt; <span class="nv">$HISTORY</span> </pre></div> </td></tr></table> <p>Das Script sorgt dafür, dass mein <em>home</em> <code>/home/martin</code>, sowie <code>/etc</code> und <code>/usr/local/bin</code> gesichert werden.</p> <p>Ich habe auch eine Rotation eingebaut, die mir erlaubt auf einen Snapshot der letzten 7 Sicherungen zuzugreifen und es werden Snapshots der letzten 11 Monate aufbewahrt.</p> <p>Durch Nutzung von <a href="https://wiki.ubuntuusers.de/ln/#Hardlinks">Hardlinks</a> reduziere ich den Speicherplatzverbauch auf ein Minimum.</p> <p>Das Script ist darauf ausgelegt den Backup-Server per <a href="https://wiki.ubuntuusers.de/Wake_on_LAN/">WOL</a> aufzuwecken, eine externe Festplatte zu mounten und das Backup durchzuführen. Das mag ein recht spezifisches Setup sein, aber vielleicht kann es ja mal jemand brauchen oder zumindest Teile davon für eigene Scripte recyclen.</p> <p>Dieses Script wird einmal täglich von <a href="https://de.wikipedia.org/wiki/Anacron">anachron</a> aufgerufen und sorgt dafür, dass ich mich nicht mehr bewusst um Backups kümmern muss.</p> <p>Angefangen hat das Script als einfaches <em>rsync</em>-Kommando das mein Home-Verzeichnis <code>/home/martin</code> per <em>SSH</em> auf eine USB-Festplatte auf meinem Server kopiert hat. Mit der Zeit habe ich aber immer mehr Verbesserungen vorgenommen und es ist eine recht gute Backup-Lösung geworden.</p> Sat, 24 Sep 2016 17:53:00 GMT tag:blog.mdosch.de,2016-09-24:/2016/09/24/code-schnippsel-backup-ueber-ssh-mit-rsync-2 Kurztipp: Eine bestimmte Stelle eines Youtube-Videos verlinken https://blog.mdosch.de/2016/09/17/kurztipp-eine-bestimmte-stelle-eines-youtube-videos-verlinken/ <p>In meinem <a href="https://blog.mdosch.de/2016/09/17/der-letzte-mond-vor-dem-beil/">letzten Beitrag</a> musste ich auf eine bestimmte Stelle eines Youtube-Videos verlinken, da die Band ihr komplettes Album als Video online gestellt hat und nicht die einzelnen Songs.</p> <p>Wie ich <a href="http://sebastian.thiele.me/blog/youtube-verlinken-auf-eine-bestimmte-stelle">hier</a> sehen konnte ist dies sogar denkbar einfach: Man hängt an die URL des Videos einfach <code>#t=$MINUTENm$SEKUNDENs</code> an.</p> <p>Im Beispiel meines verlinkten Beitrages heißt dies: Ich möche auf die Stelle bei 33 Minuten und 40 Sekunden im Video <a href="https://www.youtube.com/watch?v=YW5ARg-dEjE">https://www.youtube.com/watch?v=YW5ARg-dEjE</a> verlinken und erreiche dies per folgendem Link: <a href="https://www.youtube.com/watch?v=YW5ARg-dEjE#t=33m40s">https://www.youtube.com/watch?v=YW5ARg-dEjE#t=33m40s</a>.</p> Sat, 17 Sep 2016 16:46:00 GMT tag:blog.mdosch.de,2016-09-17:/2016/09/17/kurztipp-eine-bestimmte-stelle-eines-youtube-videos-verlinken Der letzte Mond vor dem Beil https://blog.mdosch.de/2016/09/17/der-letzte-mond-vor-dem-beil/ <p>I really enjoy listening to <a href="http://www.last.fm/music/Totenmond">Totenmond</a>s latest album "Der letzte Mond vor dem Beil". But... for the first time they did a song with english lyrics by doing a cover of <a href="https://en.wikipedia.org/wiki/Deep_Purple">Deep Purple</a>s "<a href="https://www.youtube.com/watch?v=QcH_HCRQczM">Into the fire</a>" and I want to nominate Pazzer for the worst english pronounciation. But actually the pronounciation is so funny that I think he did it purrrrrrrrrrrrrrrrrposely this way.</p> <p><a href="https://www.youtube.com/watch?v=YW5ARg-dEjE#t=33m40s">Totenmond "Into the fire" on YouTube</a></p> Sat, 17 Sep 2016 16:35:00 GMT tag:blog.mdosch.de,2016-09-17:/2016/09/17/der-letzte-mond-vor-dem-beil Sicherheitseinstellungen von Webseiten mit Observatory testen https://blog.mdosch.de/2016/08/28/sicherheitseinstellungen-von-webseiten-mit-observatory-testen/ <p>Jetzt geht's rund. :D Vorgestern hatte ich Webkoll <a href="https://blog.mdosch.de/2016/08/26/mein-blog-und-der-datenschutz/">entdeckt</a> und deswegen schon einiges auf der ToDo-Liste und heute sehe ich einen <a href="https://www.soeren-hentzschel.at/mozilla/observatory-by-mozilla/">Blog-Eintrag</a> der auf Mozillas <a href="https://observatory.mozilla.org/">Observatory</a> hinweist, ein weiteres Tool um die Sicherheit der eigenen Webseite zu testen.</p> <p>Da ich dort nur ein <strong>D</strong> Rating für meine Seite bekam machte ich mich nun daran die nötigen Einstellungen vorzunehmen. Leider kam ich nicht über eine Bewertung von <strong>B+</strong> hinaus, da ich noch Inline-Skripte erlaube. Ohne dies funktioniert nämlich die Anbindung meines Kommentarsystems <a href="http://posativ.org/isso/">Isso</a> nicht mehr.</p> <p>Was ist neu? <!-- more --></p> <ul> <li>Ich habe eine <a href="https://developer.mozilla.org/en-US/docs/Web/Security/CSP">Content Security Policy</a> umgesetzt, mit der ich bestimme welche Objekte von welchen hosts geholt bzw. ausgeführt werden. Das hilft <a href="https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting">XSS</a>- Attacken zu vermeiden.</li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security">HTTP Strict Transport Security</a>, d.h. der Browser bekommt mitgeteilt, dass er die Seite in Zukunft nur noch per <em>https</em> aufruft.</li> <li><a href="http://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff">X-Content-Type-Options nosniff</a> hält soweit ich das verstanden habe Browser davon ab anders zu interpretieren als vorgegeben, damit der Browser z.B. nicht auf die Idee kommt Inhalt als Script auszuführen, der kein Script sein sollte. </li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options">X-Frame-Options</a> verbieten meine Seite in einem <em>iframe</em> auszuliefern, was gegen <a href="https://en.wikipedia.org/wiki/Clickjacking">Clickjacking</a> hilft.</li> <li><a href="https://stackoverflow.com/questions/9090577/what-is-the-http-header-x-xss-protection">X-XSS-Protection</a> aktiviert Browsermethoden zur Vermeidung von <a href="https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting">XSS</a>- Attacken</li> </ul> <p>Damit sieht die Konfiguration meiner Seite in den gängigen Testtools schon ganz gut aus, aber ich werde in nächster Zeit versuchen das nach und nach noch etwas zu verbessern. Leider weiß ich nicht, ob ich bei einem shared hosting da nicht irgendwann an Grenzen stoße.</p> Sun, 28 Aug 2016 12:27:00 GMT tag:blog.mdosch.de,2016-08-28:/2016/08/28/sicherheitseinstellungen-von-webseiten-mit-observatory-testen Mein Blog und der Datenschutz https://blog.mdosch.de/2016/08/26/mein-blog-und-der-datenschutz/ <p>Ich bin heute über einen <a href="https://www.kuketz-blog.de/webbkoll-wie-datenschutzfreundlich-ist-deine-webseite/">Link</a> auf das interessante Tool <a href="https://webbkoll.dataskydd.net/en">Webkoll</a> aufmerksam geworden. <br /> <em>Webkoll</em> ist ein Open-Source-Tool mit dem man die eigene Homepage, und auch andere, auf Datenschutzkonformität überprüfen kann. Da das Tool OpenSource ist kann der <a href="https://github.com/andersju/webbkoll">Quellcode</a> eingesehen werden und man kann das Tool auch auf dem eigenen Webspace/Server installieren. Ich habe die bequeme Variante vorgezogen die <a href="https://webbkoll.dataskydd.net/en">Onlineversion</a> des Entwicklers zu nutzen. <!-- more --></p> <p>Das Tool überprüft die Verwendung externer Ressourcen und bewertet sie danach ob sie in der Blockliste von <a href="https://disconnect.me/">Disconnect</a> vorkommen, ob die Seite über <em>HTTPS</em> ausgeliefert wird, <em>HSTS</em> genutzt wird, Drittpartie-Cookies gesetzt werden und einiges mehr.</p> <p><a href="https://webbkoll.dataskydd.net/en/results?url=https%3A%2F%2Fblog.mdosch.de%2F">Mein Ergebnis</a> sah gar nicht so schlecht aus aber ließ sich durch Abschalten der <em>referrer</em> noch verbessern, d.h. es wird Seiten nicht mehr mitgeteilt, dass ihr von hier kommt wenn ihr einem Link folgt (es sei denn ihr nutzt einen veralteten Browser der dies noch nicht unterstützt). <br /> Auch habe ich <a href="https://blog.mdosch.de/2013/06/15/piwik/">Piwik</a> nicht mehr auf dieser Seite in Betrieb. Piwik ist zwar quelloffen und somit für interessierte Personen mit der nötigen Kompetenz überprüfbar und auch lokal gehosted (d.h. es werden keine Daten an Google oder sonstige Firmen übermittelt), aber da mir der Datenschutz wichtig ist habe ich es deaktiviert. Piwik wurde von <em>Webkoll</em> übrigens nicht negativ bewertet, aber ich habe die Überprüfung mal als Denkanstoß genommen und Piwik entfernt.</p> <p>Ich habe auch <em>HSTS</em> auf diesem Blog aktiviert, d.h. Browser merken sich, dass dieser Blog über <em>HTTPS</em> erreichbar ist und werden in Zukunft nicht mehr versuchen unverschlüsselt zuzugreifen.</p> <p><em>Webkoll</em> zeig <em>HSTS</em> zwar weiterhin als nicht aktiv an, aber mein <a href="https://www.ssllabs.com/ssltest/analyze.html?d=blog.mdosch.de&amp;s=95.143.172.208">SSL-Labs Ranking</a> hat sich durch diese Maßnahme von <strong>A</strong> auf <strong>A+</strong> verbessert. Vermutlich wird <em>HSTS</em> von <em>Webkoll</em> erst gewürdigt wenn man die Seite in eine Liste eintragen lässt, die mit allen gängigen Browsern ausgeliefert wird. Ist man in dieser Liste vertreten wird jeder Browser, der sie ausliefert, sofort eine HTTPS-Verbindung zur Seite aufbauen, auch wenn die Seit explizit mit http:// aufgerufen wurde.</p> <p>Wie schneidet eure Seite ab? <strong>Hosen runter!</strong> :D</p> Fri, 26 Aug 2016 17:08:00 GMT tag:blog.mdosch.de,2016-08-26:/2016/08/26/mein-blog-und-der-datenschutz Saints Row 2 unter Linux https://blog.mdosch.de/2016/08/21/saints-row-2-unter-linux/ <p><em>Saints Row 2</em> ist ein spaßiges, wenn auch brutales, Spiel aber auf den Inhalt möchte ich hier nicht eingehen. Wie auch anderen <a href="https://www.onli-blogging.de/1564/Saints-Row-2.html">Blogs</a> zu entnehmen ist der Linux-Port eher schlecht gelungen. Ich möchte hier ein paar Tipps sammeln, wie man das Spielerlebnis etwas verbessern kann. Bisher habe ich nur Möglichkeiten gefunden die kaputte Sound-Ausgabe zu beheben, aber damit werden die Cut-Scenes wenigstens erträglich. Ich werde noch etwas weitersuchen ob ich evtl. Möglichkeiten finde die Performance allgemein zu verbessern. Für sein Alter läuft das Spiel nämlich relativ unperformant. <!--more--></p> <h5>Audio-Probleme</h5> <h6>Kein Audio bzw. Verzerrungen in Cut-Scenes</h6> <p>Dies lässt sich wie <a href="https://playingtux.com/forumposts/fix-stutteringmissing-audio-cutscenes-saints-row-2">hier</a> beschrieben durch folgende Änderung am Script <em>saintsrow2</em> beheben:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1 2 3 4</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#!/bin/sh</span> <span class="c1">#export __GL_THREADED_OPTIMIZATIONS=1</span> <span class="nb">export</span> <span class="nv">PULSE_LATENCY_MSEC</span><span class="o">=</span><span class="m">60</span> ./saferun.sh ./saintsrow2.i386 <span class="s2">&quot;</span><span class="nv">$@</span><span class="s2">&quot;</span> </pre></div> </td></tr></table> <p>Bei <em>Steam</em> unter <em>Debian</em> befindet sich die Datei unter <code>~/.steam/steam/SteamApps/common/Saints\ Row\ 2/saintsrow2</code>.</p> <h6>Radio-Qualität verbessern</h6> <p>Die Radio-Qualität lässt sich deutlich steigern wenn man die beiden Dateien <em>music1.vpp_pc</em> und <em>music2.vpp_pc</em> durch die <a href="https://www.saintsrowmods.com/forum/threads/high-quality-radio-mod.9515/">hier</a> zum Download angebotenen ersetzt.</p> Sun, 21 Aug 2016 13:58:00 GMT tag:blog.mdosch.de,2016-08-21:/2016/08/21/saints-row-2-unter-linux SailfishOS: Übersicht über Pakete aus OpenRepos https://blog.mdosch.de/2016/08/20/sailfishos-uebersicht-ueber-pakete-aus-openrepos/ <p>Seit ich <a href="https://sailfishos.org/">Sailfish</a> nutze habe ich auch viele Pakete per <a href="https://openrepos.net/content/basil/warehouse">Warehouse</a> aus <a href="https://openrepos.net/">OpenRepos</a> installiert. Nach einiger Zeit hatte ich so einige Repos aktiviert und keinerlei Überblick mehr, aus welchen Repos ich welche App installiert hatte und ob nicht einige Repos aktiviert sind obwohl ich keinerlei App mehr aus diesen beziehe. Nach ein paar hilfreichen Antworten bei <a href="https://together.jolla.com/question/139085/how-to-get-an-overview-about-installed-apps-used-repos-in-open-repos/">TJC</a> und etwas rumprobieren fand ich eine Lösung. <!--more--></p> <p>Damit der Befehl funktioniert muss <em>zypper</em> installiert sein:</p> <div class="highlight"><pre><span></span>pkcon install zypper </pre></div> <p>Wurde <em>zypper</em> erfolgreich installiert kann man sich als <em>root</em> mit folgendem Script die aktivierten Repos und deren installierte Apps anzeigen lassen:</p> <div class="highlight"><pre><span></span><span class="nt">for</span> <span class="nt">REPO</span> <span class="nt">in</span> <span class="o">$(</span><span class="nt">ssu</span> <span class="nt">lr</span> <span class="o">|</span> <span class="nt">awk</span> <span class="s1">&#39;/openrepos/ {print $2}&#39;</span><span class="o">)</span> <span class="nt">do</span> <span class="nt">echo</span> <span class="nt">-e</span> <span class="s2">&quot;$REPO:\n&quot;</span><span class="o">;</span> <span class="nt">zypper</span> <span class="nt">search</span> <span class="nt">-i</span> <span class="nt">-r</span> <span class="o">$</span><span class="nt">REPO</span><span class="o">;</span> <span class="nt">echo</span> <span class="nt">-e</span> <span class="s2">&quot;\n\n&quot;</span> <span class="nt">done</span> </pre></div> <p>Bzw. als Einzeiler zum Einfügen per Copy&amp;Paste:</p> <div class="highlight"><pre><span></span><span class="nt">for</span> <span class="nt">REPO</span> <span class="nt">in</span> <span class="o">$(</span><span class="nt">ssu</span> <span class="nt">lr</span> <span class="o">|</span> <span class="nt">awk</span> <span class="s1">&#39;/openrepos/ {print $2}&#39;</span><span class="o">);</span> <span class="nt">do</span> <span class="nt">echo</span> <span class="nt">-e</span> <span class="s2">&quot;$REPO:\n&quot;</span><span class="o">;</span> <span class="nt">zypper</span> <span class="nt">search</span> <span class="nt">-i</span> <span class="nt">-r</span> <span class="o">$</span><span class="nt">REPO</span><span class="o">;</span> <span class="nt">echo</span> <span class="nt">-e</span> <span class="s2">&quot;\n\n&quot;</span><span class="o">;</span> <span class="nt">done</span> </pre></div> <p>Ich habe mir nun auch zwei Scripte zum Deaktivieren und Reaktivieren aller Repos aus OpenRepos angelegt. <br /> Deaktivieren:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1 2 3 4</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> ssu lr <span class="p">|</span> awk <span class="s1">&#39;/openrepos/ {print $2}&#39;</span> &gt; /home/nemo/repo.list <span class="k">for</span> REPO in <span class="k">$(</span>cat /home/nemo/repo.list<span class="k">)</span><span class="p">;</span> <span class="k">do</span> ssu dr <span class="nv">$REPO</span><span class="p">;</span> <span class="k">done</span> </pre></div> </td></tr></table> <p>Aktivieren:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1 2 3</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="k">for</span> REPO in <span class="k">$(</span>cat /home/nemo/repo.list<span class="k">)</span><span class="p">;</span> <span class="k">do</span> ssu er <span class="nv">$REPO</span><span class="p">;</span> <span class="k">done</span> </pre></div> </td></tr></table> Sat, 20 Aug 2016 13:55:00 GMT tag:blog.mdosch.de,2016-08-20:/2016/08/20/sailfishos-uebersicht-ueber-pakete-aus-openrepos Südfriedhof München https://blog.mdosch.de/2016/08/20/suedfriedhof-muenchen/ <p>Letzten Montag nutzte ich das schöne Wetter um über den Münchner <a href="https://de.wikipedia.org/wiki/Alter_S%C3%BCdfriedhof_(M%C3%BCnchen)">Südfriedhof</a> zu spazieren und ein paar Fotos zu schießen. Wirklich eine schöne Atmosphäre.</p> <p><a href="https://pics.mdosch.de/muenchen/suedfriedhof/"><img alt="Südfriedhof München" src="https://files.mdosch.de/2016-12/suedfriedhof.jpg"/></a></p> Sat, 20 Aug 2016 12:40:00 GMT tag:blog.mdosch.de,2016-08-20:/2016/08/20/suedfriedhof-muenchen Runalyze unter freier Lizenz https://blog.mdosch.de/2016/08/20/runalyze-unter-freier-lizenz/ <p>Ich habe <a href="https://blog.mdosch.de/2014/01/11/runalyze-sport-aktivitaeten-protokollieren/">hier</a> und <a href="https://blog.mdosch.de/2014/01/11/runalyze-sport-aktivitaeten-protokollieren/">hier</a> schon <a href="https://blog.runalyze.com/">Runalyze</a> vorgestellt. Da ich damals noch kritisierte, dass Runalyze als OpenSource bezeichnet wurde aber noch keine Lizenz gewählt hatte möchte ich nun darauf hinweisen, dass Runalyze seit einiger Zeit eine Lizenz <a href="https://github.com/Runalyze/Runalyze/issues/952#issuecomment-149895426">gewählt hat</a>: <a href="https://www.gnu.org/licenses/agpl-3.0.de.html">AGPL</a>.</p> <p>Runalyze ist ein sehr schönes Tool um Statistiken über sportliche Aktivitäten auszuwerten, was mich daran erinnert, dass ich wieder mehr Radfahren sollte.</p> Sat, 20 Aug 2016 12:18:00 GMT tag:blog.mdosch.de,2016-08-20:/2016/08/20/runalyze-unter-freier-lizenz Kommentarfunktion wieder aktiv https://blog.mdosch.de/2016/08/20/kommentarfunktion-wieder-aktiv/ <p>Ich hatte seit längerem Probleme mit meinem Kommentarsystem aber seit heute kann wieder fleißig kommentiert werden.</p> <p>Ich möchte jedem das Kommentarsystem <a href="https://posativ.org/isso/">Isso</a> nahe legen, der bisher Disqus oder ähnliches nutzt. Seit meinem Umstieg auf den statischen Bloggenerator <a href="https://posativ.org/acrylamid/">Acrylamid</a> nutze ich Isso, da ich keinen externen Kommentardienstleister nutzen möchte und ein statisches Kommentarsystem zu aufwändig und träge ist. <br /> Auf Uberspace war die <a href="https://blog.posativ.org/2014/isso-und-uberspace-de/">Einrichtung</a> ein Kinderspiel und ich konnte sogar ohne größere Probleme meine alten Kommentare von Wordpress importieren. :)</p> Sat, 20 Aug 2016 12:10:00 GMT tag:blog.mdosch.de,2016-08-20:/2016/08/20/kommentarfunktion-wieder-aktiv Kurztipp: Tracking Protection im Firefox dauerhaft aktivieren https://blog.mdosch.de/2016/06/17/kurztipp-tracking-protection-im-firefox-dauerhaft-aktivieren/ <p>Mittlerweile enhält der beliebte Browser <em>Firefox</em> eine <a href="http://www.heise.de/newsticker/meldung/Firefox-42-blockiert-Tracker-2868184.html">Funktion</a> zum Blockieren von Trackern. Standardmäßig ist diese nur im privaten Modus aktiviert, lässt sich jedoch recht einfach dauerhaft aktivieren. Dazu muss man lediglich <code>about:config</code> in die Adresszeile eingeben und dort den Wert <code>privacy.trackingprotection.enabled</code> auf <code>true</code> setzen.</p> <p>Ein netter Nebeneffekt ist, dass damit auch die meiste Werbung blockiert wird. Mozilla liefert also mit dem Tracking-Schutz quasi einen Werbeblocker mit.</p> <p>Firefox greift auf die Listen der bekannten Erweiterung <a href="https://disconnect.me/">Disconnect</a> zurück.</p> Fri, 17 Jun 2016 17:30:00 GMT tag:blog.mdosch.de,2016-06-17:/2016/06/17/kurztipp-tracking-protection-im-firefox-dauerhaft-aktivieren Deppen raus! https://blog.mdosch.de/2016/06/12/deppen-raus/ <p>Na sauber, gestern ärgere ich mich noch über die russischen und englischen Deppen und heute sehe ich <a href="https://www.tagesschau.de/ausland/deutsche-fans-lille-101.html">das</a>. Können die Idioten aller Länder nicht ihre eigenen Europa- und Weltmeisterschaften austragen und sich in irgendwelchen nicht besiedelten Gebieten treffen um auf sich einzuprügeln? Da diese Krawallmacher im Normalfall nicht an dem Sport, sondern am Prügeln interessiert sind ist es völlig unnötig damit diese Veranstaltungen zu ruinieren...</p> Sun, 12 Jun 2016 18:21:00 GMT tag:blog.mdosch.de,2016-06-12:/2016/06/12/deppen-raus Movember 2015 https://blog.mdosch.de/2015/11/22/movember-2015/ <p>Dieses Jahr nehme ich zum ersten Mal am <a href="https://mobro.co/martindosch">Movember</a> teil. Der <a href="https://de.movember.com/">Movember</a> ist eine jährlich stattfindende Aktion um auf Männergesundheit aufmerksam zu machen.</p> <blockquote> <p>Die Movember Foundation ist eine weltweit tätige Organisation, die sich dafür einsetzt, dass Männer glücklicher, gesünder und länger leben. Seit 2003 haben sich Millionen von Menschen der Movember Bewegung angeschlossen und insgesamt 485 Millionen Euro an Spenden gesammelt. Damit wurden über 1000 Programme in den Bereichen Prostata- und Hodenkrebs, seelisches Wohlbefinden und Bewegungsmangel finanziert.</p> </blockquote> <p>Um Aufmerksamkeit zu Erlangen lässt man sich während des <em>Movember</em> einen Schnurrbart wachsen. Für den guten Zweck habe ich also tatsächlich meinen Vollbart geopfert. Wer etwas für die Männergesundheit tun will darf mir gerne eine <a href="http://mobro.co/martindosch">Spende</a> zukommen lassen.</p> <p><a href="https://de.movember.com/about/foundation">Hier</a> kann man nachlesen wofür das im <em>Movember</em> gesammelte Geld verwendet wird.</p> Sun, 22 Nov 2015 12:37:00 GMT tag:blog.mdosch.de,2015-11-22:/2015/11/22/movember-2015 Sailfish OS: App schließen durch Wischen von oben https://blog.mdosch.de/2015/09/11/sailfish-os-app-schliessen-durch-wischen-von-oben/ <p>Seit dem Update auf <em>Sailfish</em> <a href="http://www.jollausers.com/2015/09/video-and-changelog-sailfish-os-2-0-is-out/">1.1.9.28</a> fehlte mir eine Funktion, die ich häufig benutzte. Das Schließen einer App durch Wischen von oben nach unten. Statt die App zu schließen wurde nun eine Auswahl der Ambiente eingeblendet. Da ich selten Ambiente wechsle aber häufig Apps, die ich nur selten benötige, komplett schließen und nicht minimieren möchte hat mich diese Änderung sehr gestört.</p> <p>Jetzt habe ich festgestellt, dass die Funktion zum Glück nicht komplett abgeschafft wurde sondern konfigurierbar ist und das neue Verhalten nach dem Update als Standard eingestellt ist. <!-- more --></p> <p>Möchte man das alte Verhalten wieder einstellen muss man lediglich in den Einstellungen unter <code>System -&gt; Gesten</code> die Option <em>Schnelles Schließen der App</em> aktivieren.</p> <p><a href="https://files.mdosch.de/2015-09/20150910193600.png"><img alt="App schließen durch wischen von oben" src="https://files.mdosch.de/2015-09/20150910193600.png"/></a></p> Fri, 11 Sep 2015 19:05:00 GMT tag:blog.mdosch.de,2015-09-11:/2015/09/11/sailfish-os-app-schliessen-durch-wischen-von-oben Erneute Empfehlung: Runalyze https://blog.mdosch.de/2015/07/26/erneute-empfehlung-runalyze/ <p>Ich habe <a href="http://blog.runalyze.com/blog/">Runalyze</a> zwar <a href="https://blog.mdosch.de/2014/01/11/runalyze-sport-aktivitaeten-protokollieren/">hier</a> schon mal vorgestellt, aber ich möchte heute noch mal darauf hinweisen. </p> <p>Mittlerweile hat man Blog durch diverse Planeten eine höhere Reichweite und die Wahrscheinlichkeit, dass jemand, für den <em>Runalyze</em> von Nutzen ist, darauf aufmerksam wird ist höher. <br /> Außerdem habe ich dieses Jahr wieder angefangen Rad zu fahren und nutze dadurch <em>Runalyze</em> intensiver. </p> <p><em>Runalyze</em> wurde primär von Läufern für Läufer entwickelt, aber kann auch für andere Sportarten verwendet werden. Ich nutze es um Mountainbike-Fahrten, Schwimmen und Hanteltraining zu erfassen. <br /> Vor <em>Runalyze</em> habe ich Endomondo verwendet, aber mir ist es doch lieber die Daten auf meinem Webspace zu speichern als bei einem externen Dienstleister. Bei einem Vergleich vor kurzem empfand ich Endomondo auch als etwas unübersichtlich und die Möglichkeiten zur Auswertung von <em>Runalyze</em> deutlich überlegen. <br /> Das ist natürlich subjektiv und andere mögen das anders sehen, aber die Entwickler von <em>Runalyze</em> gehen auch häufig auf Nutzerwünsche ein, die bei <a href="https://github.com/Runalyze/Runalyze/issues">Github</a> geäußert werden.</p> <p>Wer keinen eigenen Server oder Webspace hat kann <em>Runalyze</em> auch auf in der <a href="https://runalyze.com">Online-Version</a> auf deren Server nutzen.</p> <p>Ich persönlich finde <em>Runalyze</em> hervorragend und die umfassenden Möglichkeiten sein Training auszuwerten sind sehr interessant und wirken auf mich motivierend am Ball zu bleiben. :)</p> <p>Ein kleines Manko gibt es leider noch: Die Entwickler bezeichnen <em>Runalyze</em> als <em>Open Source Software</em> haben aber noch keine konkrete <a href="https://github.com/Runalyze/Runalyze/issues/952">Lizenz gewählt</a>.</p> <p>Hier mal die Kurzversion meiner heutigen MTB-Runde (Trainingsdetails sind nicht öffentlich):</p> <div class="runalyze-emb"><a href="https://runalyze.com/" class="runalyze-emb-runalyze">runalyze.com</a><strong>67,6 km Radfahren</strong> <small>26.07.2015</small><br><div class="runalyze-emb-infos"><span class="runalyze-emb-time">3:10:28</span><span class="runalyze-emb-pace">21,3 km/h</span><span class="runalyze-emb-elev">650 hm</span></div><a href="https://blog.mdosch.de/2015/07/26/erneute-empfehlung-runalyze" class="runalyze-emb-share"></a><div class="runalyze-clear"></div></div> <script src="https://runalyze.com/lib/embedded.js"></script> Sun, 26 Jul 2015 17:57:00 GMT tag:blog.mdosch.de,2015-07-26:/2015/07/26/erneute-empfehlung-runalyze Flash: Lasst es endlich sterben https://blog.mdosch.de/2015/07/14/flash-lasst-es-endlich-sterben/ <p><a href="https://de.wikipedia.org/wiki/Adobe_Flash">Flash</a> war ja schon immer recht häufig von Sicherheitslücken betroffen, aber in letzter Zeit häufen sich die <a href="https://helpx.adobe.com/security.html#flashplayer"><em>Security Advisories</em></a> für den Flash-Player extrem (u.a. durch die <a href="http://www.heise.de/thema/Hacking-Team"><em>Hacking Team</em>-Geschichte</a>).</p> <p>Nicht nur die Sicherheitslücken sprechen gegen Adobes Flash, auch die Instabilität. Gut das mag jetzt subjektiv sein, aber bei allen Browserabstürzen oder -hängern auf meinen Rechnern in den letzten Jahren wurde gerade ein Video in einem Flashplayer wiedergegeben.</p> <p>Besonders schlimm finde ich das, da es mit <a href="https://de.wikipedia.org/wiki/HTML5">HTML5</a> eine Alternative zum <a href="https://de.wikipedia.org/wiki/HTML5#Multimedia-Elemente">Einbinden von Videos</a> gibt (dafür wird Flash ja meistens genutzt). Also bitte nutzt die Möglichkeiten von HTML5 und bindet Videos darüber ein. Natürlich bitte mit einem freien Codec. </p> <p>Interessant finde ich auch folgendes: <br /> Deaktiviert man den Flashplayer, lässt aber das PlugIn installiert bringen viele Seiten eine Fehlermeldung und man kann das Video nicht sehen. Deinstalliert man das PlugIn wird man plötzlich auf eine HTML5-Version weitergeleitet und kann das Video sehen. <br /> Manche Seiten verweigern aber auch dann noch die Wiedergabe des Videos. Schwindelt man den Seiten aber mit einem Browser-AddOn, wie beispielsweise <a href="https://addons.mozilla.org/en-US/firefox/addon/user-agent-overrider/">User Agent Overrider</a>, vor mit einer anderen Kombination aus Browser und Betriebssystem unterwegs zu sein, können auch diese Seiten häufig Videos über HTML5 wiedergeben. Meiner Erfahrung nach klappt das meistens mit einem Browserstring der Kombination <a href="http://readwrite.com/2014/10/02/html5-apple-ios-8-wkwebview">iOS / Safari</a>. <br /> <strong>Ich finde es sinnlos und dreist viele User dazu zu gängeln eine instabile, proprietäre Software zu installieren, die auch noch häufig gravierende Sicherheitsmängel aufweist obwohl es eine Alternative gibt und man diese sogar implementiert hat.</strong> Warum kann man die Seitenbesucher, die den Flash-Player deaktiviert oder deinstalliert haben nicht einfach auf die vorhandene HTML5-Lösung umleiten? Warum muss man dazu erst vorgeben mit einem iPhone oder iPad unterwegs zu sein?</p> Tue, 14 Jul 2015 18:29:00 GMT tag:blog.mdosch.de,2015-07-14:/2015/07/14/flash-lasst-es-endlich-sterben upgrade-system - gefällt mir nicht https://blog.mdosch.de/2015/07/08/upgrade-system-gefaellt-mir-nicht/ <p>Über diesen <a href="https://debianforum.de/forum/viewtopic.php?f=15&amp;t=156290">Thread</a> wurde ich auf <em>upgrade-system</em> aufmerksam. Die Idee ist ja ganz nett, wie folgender Auszug aus der <a href="http://manpages.debian.org/cgi-bin/man.cgi?query=upgrade-system">man-page</a> belegt:</p> <blockquote> <p>upgrade-system is an APT front-end that simplifies regular upgrading of Debian systems, only requiring an administrator's intervention whenever updated packages necessitate the configuration of new features.</p> <p>The command sequentially performs the following operations: </p> <ul> <li>Synchronize the list of available Debian packages. </li> <li>Upgrade all installed packages to their newest versions. </li> <li>Recursively uninstall all obsolete package dependencies. </li> <li>Clean retrieved archives off the APT cache. </li> </ul> </blockquote> <p><em>Upgrade-system</em> will also folgende Schritte übernehmen:</p> <ul> <li>apt-get update (Informationen über neue Pakete einholen)</li> <li>apt-get dist-upgrade (Pakete aktualisieren)</li> <li>Unnötige Pakete entfernen (via <a href="https://packages.debian.org/stretch/deborphan">deborphan</a></li> <li>apt-get autoclean (veraltete Paketversionen aus dem Cache entfernen)</li> </ul> <p>Klingt eigentlich recht gut, aber die Verwendung von <em>deborphan</em> hat bei mir dazu geführt, dass Pakete entfernt werden sollten, die ich definitiv behalten möchte. Ich wollte mir mit einem</p> <p><code>apt-mark manual $(deborphan)</code></p> <p>behelfen, aber das änderte nichts. Auch das Rumspielen mit den <em>deborphan</em>-Optionen in <code>/etc/upgrade-system.conf</code> brachte nichts.</p> <p>Aus meiner Sicht also eine nette Idee, aber ich bleibe weiterhin bei meinem <em>alias</em> in der <em>Shell</em>:</p> <div class="highlight"><pre><span></span>alias upd=&quot;apt update &amp;&amp; apt dist-upgrade -y &amp;&amp; apt-get --purge autoremove&quot; </pre></div> Wed, 08 Jul 2015 19:18:00 GMT tag:blog.mdosch.de,2015-07-08:/2015/07/08/upgrade-system-gefaellt-mir-nicht CD-Ripper morituri: Falsche Dateirechte https://blog.mdosch.de/2015/06/27/cd-ripper-morituri-falsche-dateirechte/ <p>Ich nutze derzeit zum Rippen von CDs <a href="https://blog.mdosch.de/2015/03/25/empfehlung-cd-ripper-morituri/">morituri</a>, doch leider fiel mir auf, dass die von <em>morituri</em> erstellten Dateien nicht die Rechte erhielten, die ich bei <code>umask</code> in der <code>/etc/login.defs</code> eingestellt hatte. In meinem Fall hatten die Dateien die Rechte <code>-rw--wxrwx</code> statt, wie gewünscht, <code>-rw-r-----</code>. <br /> Die Lösung fand ich in diesem <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779293">Bugreport</a>: Es genügt in der Datei <code>/usr/lib/python2.7/dist-packages/morituri/program/cdparanoia.py</code> die Zeile </p> <div class="highlight"><pre><span></span>self.file_mode = 0666 - umask </pre></div> <p>folgendermaßen abzuändern: </p> <div class="highlight"><pre><span></span>self.file_mode = 0666 &amp; ~ umask </pre></div> Sat, 27 Jun 2015 08:22:00 GMT tag:blog.mdosch.de,2015-06-27:/2015/06/27/cd-ripper-morituri-falsche-dateirechte München: Frühling und Graffiti am Candidplatz https://blog.mdosch.de/2015/04/12/muenchen-fruehling-und-graffiti-am-candidplatz/ <p>Der schöne sonnige Sonntag lud heute zum Spazieren ein, also schlenderte ich die Isar entlang und habe die Frühlingssonne genossen. Da ich mal daran dachte meine Digicam einzupacken habe ich auch das ein oder andere Foto geschossen. Die Fotos zeigen die Frühlingsflora in München und recht hübsche Graffiti am Candidplatz.</p> <p><a href="https://pics.mdosch.de/muenchen/fruehling-graffiti/"><img alt="Frühling in München" src="https://files.mdosch.de/2016-12/fruehling.jpg"/></a></p> Sun, 12 Apr 2015 14:08:00 GMT tag:blog.mdosch.de,2015-04-12:/2015/04/12/muenchen-fruehling-und-graffiti-am-candidplatz Kurztipp: Audiodateien umkodieren https://blog.mdosch.de/2015/04/06/kurztipp-audiodateien-umkodieren/ <p>Ich rippe meine Audio-CDs ja mittels <a href="https://blog.mdosch.de/2015/03/25/empfehlung-cd-ripper-morituri/">morituri</a> als <a href="https://de.wikipedia.org/wiki/Free_Lossless_Audio_Codec">flac</a> auf die Festplatte. Leider kann mein Autoradio keine <em>flac</em>-Dateien abspielen und ich muss diese zu <em>mp3</em> umkodieren. Dabei ist das Script <a href="https://packages.debian.org/search?keywords=pacpl&amp;searchon=names&amp;suite=all&amp;section=all">pacpl</a> sehr hilfreich:</p> <div class="highlight"><pre><span></span>pacpl --to mp3 -p -r --bitrate 320 --outdir /home/martin/mp3 /home/martin/Musik </pre></div> <!-- more --> <p>Mit <code>--to mp3</code> gebe ich das Zielformat und über <code>--bitrate</code> die Bitrate an. Andere Formate (<em>flac</em>, <em>ogg</em> etc.) werden also in mp3-Dateien mit 320kbps umgewandelt. Über <code>-p</code> (<code>--preserve</code>) wird festgelegt, dass die Ordnerstruktur im Zielordner, der des Quellordners entspricht. <code>-r</code> sorgt dafür, dass das Quellverzeichnis rekursiv durchsucht wird und alle Musikdateien umgewandelt werden, nicht nur die Dateien, die sich direkt im Quellverzeichnis befinden.</p> <p>Mit diesem Befehl sorge ich also dafür, dass meine Musiksammlung unter <code>/home/martin/Musik</code> noch mal als mp3 unter <code>/home/martin/mp3</code> abgelegt wird.</p> <p>Weiter Informationen können dem <a href="http://wiki.ubuntuusers.de/Perl_Audio_Converter">UU-Wiki</a> oder der <a href="http://manpages.debian.org/cgi-bin/man.cgi?query=pacpl">manpage</a> entnommen werden.</p> <h5>Update 2016-08-26</h5> <p>Später fiel mir auf, dass pacpl mir die UTF8-Kodierung innerhalb der tags kaputt gemacht hat. Mit mid3iconv aus dem Paket python-mutagen konnte ich dies folgendermaßen reparieren: </p> <div class="highlight"><pre><span></span>find . -name &quot;*.mp3&quot; -print0 | xargs -0 mid3iconv -e UTF8 -d </pre></div> Mon, 06 Apr 2015 16:04:00 GMT tag:blog.mdosch.de,2015-04-06:/2015/04/06/kurztipp-audiodateien-umkodieren Kurztipp: Versionsüberprüfung für Extensions der Gnome Shell deaktivieren https://blog.mdosch.de/2015/03/26/kurztipp-versionsueberpruefung-fuer-extensions-der-gnome-shell-deaktivieren/ <p>Ich hatte desöfteren den Fall, dass Extensions für die Gnome Shell nicht für neue Gnome3-Versionen aktualisiert wurden. Bisher hatte ich Glück und die Extensions funktionierten auch alle mit den neueren Versionen, ich musste lediglich die aktuelle Version als unterstützt in die Datei <code>~/.local/share/gnome-shell/extensions/*EXTENSION_ORDNER*/metadata.json</code> eintragen. <br /> Heute habe ich bei <em>Pro-Linux</em> einen <a href="http://www.pro-linux.de/news/1/22164/comm/575136/re-extensionkompatibilitaet.html">Kommentar</a> gesehen, wie man die Versionsprüfung dauerhaft abschaltet. <!-- more --> Dazu benötigt man den ab <em>Jessie</em> verfügbaren <a href="https://packages.debian.org/search?keywords=dconf-editor&amp;searchon=names&amp;suite=all&amp;section=all">dconf-editor</a> und wählt dort unter <code>org → gnome → shell</code> die Option <code>disable-extension-version-validation</code> an. </p> <p><a href="https://files.mdosch.de/2015-03/dconf-editor-disable-extension-verification.png"><img alt="Disable extension verification" src="https://files.mdosch.de/2015-03/dconf-editor-disable-extension-verification.png"/></a></p> <p>Natürlich gibt es auch hier keine Garantie, dass die Extension unter höheren Versionen arbeitet, wenn sie nicht offiziell dafür freigegeben ist, aber ich hatte diesen Fall bisher noch nicht.</p> Thu, 26 Mar 2015 17:12:00 GMT tag:blog.mdosch.de,2015-03-26:/2015/03/26/kurztipp-versionsueberpruefung-fuer-extensions-der-gnome-shell-deaktivieren Empfehlung: CD-Ripper morituri https://blog.mdosch.de/2015/03/25/empfehlung-cd-ripper-morituri/ <p>Um CDs möglichst fehlerfrei zu rippen wird immer das Programm <a href="http://www.exactaudiocopy.de/"><em>Exact Audio Copy (EAC)</em></a> empfohlen, welches leider nur für Windows verfügbar ist. Bisher habe ich unter Linux <a href="https://code.google.com/p/rubyripper/"><em>Rubyripper</em></a> verwendet und war sehr zufrieden. <em>Rubyripper</em> funktioniert zwar noch, wird aber nicht mehr weiterentwickelt. Um nicht irgendwann ohne ordentlichen CD-Ripper auskommen zu müssen habe ich mich nach Alternativen umgesehen und bin auf <a href="http://thomas.apestaart.org/morituri/trac/"><em>morituri</em></a> gestoßen. <!-- more --> <br /> <em>Morituri</em> hat in den letzten Monaten bei mir sehr gute Arbeit geleistet, weshalb ich das Programm allen ans Herz legen möchte, die Wert auf einen fehlerfreien Rip legen. Installieren kann man <em>morituri</em> unter Debian aus den offiziellen <a href="https://packages.debian.org/search?keywords=morituri&amp;searchon=names&amp;suite=all&amp;section=all">Quellen</a>.</p> <p>Da ich nicht täglich CDs umwandle und mir die Syntax zum Ändern der Standardpfade nicht merken möchte habe einen alias für folgenden Befehl angelegt:</p> <div class="highlight"><pre><span></span>rip cd rip --offset=6 --output-directory=&quot;/home/martin/Musik/&quot; --track-template=&quot;%A/%y - %d/%t - %n&quot; --disc-template=&quot;%A/%y - %d/%y - %d&quot; --working-directory=&quot;/tmp/&quot; </pre></div> <h5>[Update 28.03.2015]</h5> <p>Dabei bedeutet <code>rip cd rip</code>, dass ich die CD rippen und das Datei- und Ordnerschema über Templates festlegen möchte. Aus der manpage: </p> <blockquote> <p><em>rip cd rip</em></p> <p>rip CD</p> <p>Usage: rip cd rip</p> <p>Rips a CD.</p> <p>Tracks are named according to the track template, filling in the variables and adding the file extension.</p> </blockquote> <p>Mit <code>--offset=6</code> gebe ich den <a href="http://wiki.hydrogenaud.io/index.php?title=AccurateRip#Drive_read_offsets">Offset</a> meines CD-Laufwerks an. Diesen habe ich zuvor per <code>rip offset find</code> von <em>morituri</em> herausfinden lassen.</p> <p><code>--output-directory="/home/martin/Musik/"</code> legt fest in welchem Ordner ich meine Musikdaten anlegen möchte.</p> <p>Durch <code>--track-template="%A/%y - %d/%t - %n"</code> bestimme ich die Namenskonvention meiner Musikdateien und mittels <code>--disc-template="%A/%y - %d/%y - %d"</code> die des <a href="https://de.wikipedia.org/wiki/Cuesheet">Cuesheets</a>, der Playlist und der Logdatei.</p> <p>Die einzelnen Parameter kann man wieder der manpage entnehmen:</p> <blockquote> <p>Tracks are named according to the track template, filling in the variables and adding the file extension. Variables exclusive to the track template are:</p> <ul> <li>%t: track number</li> <li>%a: track artist</li> <li>%n: track title</li> <li>%s: track sort name</li> </ul> <p>Disc files (.cue, .log, .m3u) are named according to the disc template, filling in the variables and adding the file extension. Variables for both disc and track template are:</p> <ul> <li>%A: album artist</li> <li>%S: album sort name</li> <li>%d: disc title</li> <li>%y: release year</li> <li>%r: release type, lowercase</li> <li>%R: Release type, normal case</li> <li>%x: audio extension, lowercase</li> <li>%X: audio extension, uppercase</li> </ul> </blockquote> <p>Mit <code>--working-directory="/tmp/"</code> gebe ich lediglich an, dass die temporären Dateien in <code>/tmp/</code> gespeichert werden sollen. Da ich <code>/tmp/</code> im <em>RAM</em> liegen habe, erspare ich mir hierdurch unnötige Festplattenzugriffe.</p> <p>Hier ein Beispiel für die Ordner- und Dateistruktur, die ich mit diesem alias erhalte:</p> <div class="highlight"><pre><span></span>ls ~/Musik/Metallica/1988\ -\ …and\ Justice\ for\ All 01 - Blackened.flac 05 - The Shortest Straw.flac 09 - Dyers Eve.flac 02 - ...and Justice for All.flac 06 - Harvester of Sorrow.flac 1988 - …and Justice for All.cue 03 - Eye of the Beholder.flac 07 - The Frayed Ends of Sanity.flac 1988 - …and Justice for All.log 04 - One.flac 08 - To Live Is to Die.flac 1988 - …and Justice for All.m3u </pre></div> <h5>[Update 27.06.2015]</h5> <p>Morituri erstellt die Dateien mit falschen Berechtigungen: <a href="https://blog.mdosch.de/2015/06/27/cd-ripper-morituri-falsche-dateirechte/">Lösung</a></p> Wed, 25 Mar 2015 17:18:00 GMT tag:blog.mdosch.de,2015-03-25:/2015/03/25/empfehlung-cd-ripper-morituri Sailfish: Fotos automatisch zur Owncloud hochladen https://blog.mdosch.de/2015/03/05/sailfish-fotos-automatisch-zur-owncloud-hochladen/ <p>Unter <em>Android</em> habe ich die <em>Owncloud</em>-App einzig zu dem Zweck genutzt meine Fotos automatisiert in meine <em>Owncloud</em> hochzuladen, wenn ich eine WLAN-Verbindung hatte. Diese Funktion vermisse ich derzeit bei meinem <em>Jolla</em>. Es gibt zwar eine <em>Owncloud</em>-App, aber diese hat wohl diese Funktion nicht und außerdem habe ich es noch nicht geschafft mich einzuloggen. Hier kommt mir entgegen, dass <em>Sailfish OS</em> ein <em>Linux</em> ist und sogar standardmäßig <em>SSH</em> und <em>rsync</em> an Board hat.</p> <p>Ich habe mein <em>Jolla</em> nun so automatisiert, dass es meine Fotos bei WLAN-Verbindung automatisch in den <em>Owncloud</em>-Ordner auf meinem <a href="https://uberspace.de">uberspace</a> hochlädt, den zuvor die <em>Android</em>-App benutzt hat. <!-- more --> Dazu habe ich zuerst ein <em>SSH</em>-Schlüsselpaar erstellt:</p> <div class="highlight"><pre><span></span>ssh-keygen </pre></div> <p>Den öffentlichen Schlüssel findet man nun in <code>/home/nemo/.ssh/id_rsa.pub</code> und muss ihn auf dem uberspace in die Datei <code>/home/USER/.ssh/authorized_keys</code> anhängen, wobei <em>USER</em> hier und im folgenden durch den eigenen Benutzernamen auf uberspace ersetzt werden muss. </p> <p><a href="http://blog.simon-dreher.de/jolla-foto-backup.html">Hier</a> habe ich eine Anleitung gefunden, wie man einen automatischen Upload bei vorhandener WLAN-Verbindung startet und leicht auf meine Bedürfnisse angepasst.</p> <p>Man legt auf dem <em>Jolla</em> die Datei <code>~/.config/systemd/user/backup.path</code> mit diesem Inhalt an:</p> <div class="highlight"><pre><span></span><span class="k">[Unit]</span> <span class="na">Description</span><span class="o">=</span><span class="s">Checks if paths changed or contain new images.</span> <span class="k">[Path]</span> <span class="na">PathChanged</span><span class="o">=</span><span class="s">%h/Pictures/Camera</span> <span class="k">[Install]</span> <span class="na">WantedBy</span><span class="o">=</span><span class="s">default.target</span> </pre></div> <p>Danach legt man die Datei <code>~/.config/systemd/user/backup.service</code> und trägt folgendes ein:</p> <div class="highlight"><pre><span></span><span class="k">[Unit]</span> <span class="na">Description</span><span class="o">=</span><span class="s">Backs up files</span> <span class="k">[Service]</span> <span class="na">ExecStart</span><span class="o">=</span><span class="s">/home/nemo/backup.sh</span> </pre></div> <p>Schließlich muss man natürlich das eigentliche Script <code>/home/nemo/backup.sh</code> anlegen:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#!/bin/sh</span> <span class="c1"># Check if we&#39;re on wlan</span> <span class="k">if</span> <span class="o">[</span> <span class="k">$(</span>ifconfig <span class="p">|</span> grep -o wlan0<span class="k">)</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> <span class="nb">echo</span> <span class="s2">&quot;WLAN used&quot;</span> <span class="c1"># Start backup using rsync</span> /usr/bin/rsync /home/nemo/Pictures/Camera/ -a USER@DOMAIN:/home/USER/html/owncloud/data/OWNCLOUD_USER/files/SofortUpload/ <span class="k">else</span> <span class="nb">echo</span> <span class="s2">&quot;No WLAN&quot;</span> <span class="k">if</span> <span class="o">[</span> -e /tmp/backup.lock <span class="o">]</span><span class="p">;</span> <span class="k">then</span> <span class="nb">echo</span> <span class="s2">&quot;Another script is already waiting for WLAN to sync.&quot;</span> <span class="nb">exit</span> <span class="m">0</span> <span class="k">else</span> <span class="c1"># Wait for WLAN to come back</span> touch /tmp/backup.lock <span class="k">until</span> <span class="o">[</span> <span class="k">$(</span>ifconfig <span class="p">|</span> grep -o wlan0<span class="k">)</span> <span class="o">]</span><span class="p">;</span> <span class="k">do</span> <span class="nb">echo</span> <span class="s2">&quot;Still no WLAN&quot;</span> sleep <span class="m">300</span> <span class="k">done</span> /usr/bin/rsync /home/nemo/Pictures/Camera/ -a USER@DOMAIN:/home/USER/html/owncloud/data/OWNCLOUD_USER/files/SofortUpload/ rm /tmp/backup.lock <span class="k">fi</span> <span class="k">fi</span> <span class="nb">exit</span> </pre></div> </td></tr></table> <p>Nun wird das Script wird per </p> <div class="highlight"><pre><span></span>chmod +x /home/nemo/backup.sh </pre></div> <p>ausführbar gemacht. Bei den beiden <em>rsync</em>-Aufrufen sind natürlich Benutzer, Domain, Owncloud-Benutzer und gewünschter Zielpfad anzupassen. Über <code>sleep</code> wird das Intervall in Sekunden eingestellt, in dem abgefragt wird ob WLAN vorhanden ist wenn Fotos ohne WLAN-Verbindung geschossen wurden. </p> <p>Abschließend kann man das Script zum testen manuell ausführen</p> <div class="highlight"><pre><span></span>systemctl --user start backup.path </pre></div> <p>und wenn alles funktioniert aktivieren:</p> <div class="highlight"><pre><span></span>systemctl --user enable backup.path </pre></div> Thu, 05 Mar 2015 17:22:00 GMT tag:blog.mdosch.de,2015-03-05:/2015/03/05/sailfish-fotos-automatisch-zur-owncloud-hochladen XMPP (Jabber) in Sailfish aktivieren https://blog.mdosch.de/2015/03/04/xmpp-jabber-in-sailfish-aktivieren/ <p>Ich habe mich die ganze Zeit gewundert, wie wohl die Einbindung von <em>XMPP</em> in <em>Sailfish</em> funktioniert, da ich ein Konto angelegt habe, dann aber nirgends etwas davon gesehen habe. Ich finde die Aktivierung etwas versteckt, deshalb möchte ich hier kurz beschreiben wie man <em>XMPP</em> in <em>Sailfish</em> aktiviert. <br /> <!-- more --></p> <p>Zuerst legt man unter <code>Einstellungen -&gt; Konten</code> ein Konto für XMPP an und trägt die jeweiligen Benutzerdaten ein.</p> <p><a href="https://files.mdosch.de/2015-03/sailfish_xmpp_konten.png"><img alt="Sailfish XMPP Konteneinstellung" src="https://files.mdosch.de/2015-03/sailfish_xmpp_konten.png"/></a></p> <p>Danach habe ich mich gewundert, wo ich denn nun meinen Onlinestatus und meine Kontakte sehe. Um mit dem <em>XMPP</em>-Account online zu gehen muss man das Benachrichtigungsfeld öffnen (unten von außerhalb nach oben wischen) und <code>Statusinformationen anzeigen</code> auswählen.</p> <p><a href="https://files.mdosch.de/2015-03/sailfish_xmpp_status.png"><img alt="Sailfish XMPP Status anzeigen" src="https://files.mdosch.de/2015-03/sailfish_xmpp_status.png"/></a></p> <p>Dort wählt man dann <code>Verfügbar</code> und die Verbindung wird hergestellt.</p> <p><a href="https://files.mdosch.de/2015-03/sailfish_xmpp_aktivierung.png"><img alt="Sailfish XMPP aktivierung" src="https://files.mdosch.de/2015-03/sailfish_xmpp_aktivierung.png"/></a></p> <p>Nachrichten kann man dann über die SMS-Funktion schreiben. Leider ist die Integration in <em>Sailfish OS</em> noch nicht perfekt:</p> <ul> <li>Kontakte können nicht aus <em>Sailfish</em> hinzugefügt werden</li> <li>Es werden nur die Kontakte angezeigt, die schon auf dem Server vorhanden sind (keine Kontakte aus den CardDAV-Kontakten im Adressbuch)</li> <li><em>OTR</em>-Verschlüsselung ist nicht möglich</li> </ul> Wed, 04 Mar 2015 17:04:00 GMT tag:blog.mdosch.de,2015-03-04:/2015/03/04/xmpp-jabber-in-sailfish-aktivieren rostrotkupferbraunbronze https://blog.mdosch.de/2015/03/01/rostrotkupferbraunbronze/ <p>Derzeit bin ich ja Vollbartträger. Das war keine bewusste Modeentscheidung sondern entstand aus Faulheit, da ich mich in einer Zeit in der ich beruflich viel unterwegs war auf das Rasieren verzichtete. Nachdem aus dieser Faulheit ein Vollbart entsprang wollte ich diesen nicht mehr abrasieren, da ich Gefallen an ihm gefunden habe. <br /> Langer Rede kurzer Sinn: Dieser <a href="https://www.youtube.com/embed/xeNqGdE2yo0">Monolog</a> spricht mir in einigen Punkten aus <del>dem Bart</del> der Seele und ist sehr witzig.</p> Sun, 01 Mar 2015 15:28:00 GMT tag:blog.mdosch.de,2015-03-01:/2015/03/01/rostrotkupferbraunbronze Kurztipp: Webcam-Modul beim Systemstart entladen https://blog.mdosch.de/2015/02/19/kurztipp-webcam-modul-beim-systemstart-entladen/ <p>Ich führe nie Videochats durch und benutze die integrierte Webcam meines Laptops nie. Damit nicht irgendwelche Programme ohne mein Wissen auf die Webcam zugreifen können habe ich nun beschlossen das Modul automatisch beim Systemstart zu entladen. Dazu fügt man folgende Zeile (irgendwo vor <code>exit 0</code>) in die Datei <code>/etc/rc.local</code> ein:</p> <div class="highlight"><pre><span></span>modprobe -r uvcvideo </pre></div> <p>Ganz paranoide können die Webcam natürlich auch einfach abkleben. ;o)</p> Thu, 19 Feb 2015 20:13:00 GMT tag:blog.mdosch.de,2015-02-19:/2015/02/19/kurztipp-webcam-modul-beim-systemstart-entladen München: S-Bahnhof Olympiastadion https://blog.mdosch.de/2015/02/14/muenchen-s-bahnhof-olympiastadion/ <p>Ich finde sog. "<em>lost places</em>" sehr interessant, also war mir klar, dass ich die <a href="https://de.wikipedia.org/wiki/Bahnhof_M%C3%BCnchen_Olympiastadion">S-Bahn-Station Olympiastadion</a> besichtigen muss, nachdem ich kürzlich von ihr erfahren habe. <br /> Am Rande des gut besuchten <em>Olympiaparks</em> in <em>München</em> liegt ein verlassener S-Bahnhof mit vier stillgelegten Gleisen und rottet vor sich hin. Leider hatte ich etwas ungünstiges Licht, aber ich finde die Fotos sind trotzdem sehenswert.</p> <p><a href="https://pics.mdosch.de/muenchen/s-bahnhof-olympiastadion/"><img alt="S-Bahnhof Olympiastadion" src="https://files.mdosch.de/2016-12/olympiastadion.jpg"/></a></p> Sat, 14 Feb 2015 13:31:00 GMT tag:blog.mdosch.de,2015-02-14:/2015/02/14/muenchen-s-bahnhof-olympiastadion München: Olympisches Dorf https://blog.mdosch.de/2015/02/14/muenchen-olympisches-dorf/ <p>Das <a href="https://de.wikipedia.org/wiki/Olympisches_Dorf_%28M%C3%BCnchen%29">Olympische Dorf</a> in <em>München</em> ist nicht wirklich eine Schönheit, aber die Bewohner (wohl hauptsächlich Studenten) nehmen es offensichtlich mit Humor.</p> <p><a href="https://pics.mdosch.de/muenchen/s-bahnhof-olympiastadion/#56"><img alt="Olydorf München" src="https://files.mdosch.de/2016-12/olydorf.jpg"/></a></p> Sat, 14 Feb 2015 11:53:00 GMT tag:blog.mdosch.de,2015-02-14:/2015/02/14/muenchen-olympisches-dorf Acer C720: Trackpad-Unterstützung in Debian Jessie https://blog.mdosch.de/2015/02/13/acer-c720-trackpad-unterstuetzung-in-debian-jessie/ <p>Bisher habe ich die Kernel mit Touchpad-Unterstützung für das <em>Acer C720</em> selbst bauen müssen und diese hier der Allgemeinheit zur Verfügung gestellt. Mittlerweile wird das Trackpad auch vom Kernel in <em>Debian Jessie</em> unterstützt, wie man diesem <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774209">Bugreport</a> entnehmen kann. Ich habe den Kernel gerade installiert und kann bestätigen, dass das Touchpad funktioniert. <br /> Aus diesem Grund wird es hier keine weiteren Kernel für das <em>C720</em> geben und ich empfehle jedem auf den Distributions-Kernel umzusteigen. Das Touchpad funktioniert ab dieser Kernel-Version in <em>Debian</em>: <!-- more --></p> <div class="highlight"><pre><span></span>$apt-cache policy linux-image-3.16.0-4-amd64 linux-image-3.16.0-4-amd64: Installiert: 3.16.7-ckt4-3 Installationskandidat: 3.16.7-ckt4-3 Versionstabelle: *** 3.16.7-ckt4-3 0 900 http://ftp.debian.org/debian/ jessie/main amd64 Packages 100 /var/lib/dpkg/status </pre></div> <p>Ich finde es toll, dass Debian in diesem Fall so pragmatisch war und die Unterstützung aus dem 3.17er Kernel in den 3.16er übernommen hat, da man gemäß den Debian-Richtlinien sonst über den kompletten Lebenszyklus von <em>Jessie</em> auf selbstkompilierte Kernel zurückgreifen gemusst hätte.</p> Fri, 13 Feb 2015 18:56:00 GMT tag:blog.mdosch.de,2015-02-13:/2015/02/13/acer-c720-trackpad-unterstuetzung-in-debian-jessie Kurztipp: needrestart https://blog.mdosch.de/2015/02/07/kurztipp-needrestart/ <p>Ich habe <a href="https://blog.mdosch.de/2014/11/18/kurztipp-checkrestart/">hier</a> bereits das Programm <em>checkrestart</em> erwähnt. Mittlerweile habe ich die bessere Alternative <a href="https://packages.debian.org/search?keywords=needrestart">needrestart</a> entdeckt. <em>Needrestart</em> wird automatisch nach Paketinstallationen aufgerufen und bietet die Möglichkeit die Dienste direkt neuzustarten.</p> Sat, 07 Feb 2015 11:01:00 GMT tag:blog.mdosch.de,2015-02-07:/2015/02/07/kurztipp-needrestart Kurztipp: SSH als Proxy nutzen https://blog.mdosch.de/2015/02/07/kurztipp-ssh-als-proxy-nutzen/ <p>Wenn man mal schnell einen Tunnel benötigt, kann man das auch über <em>SSH</em> erledigen. Dazu muss man sich lediglich mit der Option <code>-D PORT</code> zum SSH-Server verbinden:</p> <div class="highlight"><pre><span></span>ssh -D 5000 nutzer@example.com </pre></div> <p>Danach trägt man <code>localhost</code> und den gewählten Port als <em>SOCKS</em>-Rechner ein. Hier ein Beispiel für den Networkmanager von Gnome:</p> <p><a href="https://files.mdosch.de/2015-02/network_configuration.png"><img alt="Network configuration Gnome" src="https://files.mdosch.de/2015-02/network_configuration.png"/></a></p> <p>Man darf natürlich nicht vergessen dies als Proxy in den jeweiligen Anwendungen zu konfigurieren, z.B. im Firefox <em>"Proxy-Einstellungen des Systems verwenden"</em> auszuwählen. <br /> Möchte man lediglich im Firefox den Proxy verwenden kann man natürlich auch die Netzwerkkonfiguration überspringen und den Server direkt im Firefox eintragen.</p> Sat, 07 Feb 2015 10:24:00 GMT tag:blog.mdosch.de,2015-02-07:/2015/02/07/kurztipp-ssh-als-proxy-nutzen Acer C720: Debian Kernel 3.18.4 https://blog.mdosch.de/2015/01/27/acer-c720-debian-kernel-3-18-4/ <p>Update auf 3.18.4: <a href="https://files.mdosch.de/acer-c720-kernel/">Kernel</a>, <a href="https://files.mdosch.de/acer-c720-headers/">Kernel-Headers</a></p> <div class="highlight"><pre><span></span>md5sum linux-image-3.18.4-c720_20150127_amd64.deb 2645b03d2b2b56b5907d7d1798836580 linux-image-3.18.4-c720_20150127_amd64.deb md5sum linux-headers-3.18.4-c720_20150127_amd64.deb 98ef51bd177a0ed6c92de9496a280fd3 linux-headers-3.18.4-c720_20150127_amd64.deb </pre></div> Tue, 27 Jan 2015 19:28:00 GMT tag:blog.mdosch.de,2015-01-27:/2015/01/27/acer-c720-debian-kernel-3-18-4 Acer C720: Debian Kernel 3.18.3 https://blog.mdosch.de/2015/01/22/acer-c720-debian-kernel-3-18-3/ <p>Heute gibt es mal wieder ein Kernel-Update für das Acer C720. Der Kernel 3.18.3 kann <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden. <br /> Aufgrund einiger Nachfragen habe ich diesmal auch ein Paket für die Kernel-Headers gebaut, das <a href="https://files.mdosch.de/acer-c720-headers/">hier</a> heruntergeladen werden kann.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.18.3-c720_20150122_amd64.deb 8b24c48d7535927450600f6a75ba0e6f linux-image-3.18.3-c720_20150122_amd64.deb md5sum linux-headers-3.18.3-c720_20150122_amd64.deb 3b6936eb8b69a3159d9e85af8dc9e16f linux-headers-3.18.3-c720_20150122_amd64.deb </pre></div> Thu, 22 Jan 2015 18:07:00 GMT tag:blog.mdosch.de,2015-01-22:/2015/01/22/acer-c720-debian-kernel-3-18-3 Kurztipp: Taschenrechner in der Gnome-Shell https://blog.mdosch.de/2015/01/21/kurztipp-taschenrechner-in-der-gnome-shell/ <p>Mir fiel gerade durch Zufall auf, dass Gnome3 eine nette Funktion mitbringt. Bei installiertem <a href="https://packages.debian.org/search?keywords=gnome-calculator">Gnome-Calculator</a> können einfache Rechenaufgaben durchgeführt werden ohne diesen öffnen zu müssen. Man öffnet einfach die Aktivitäten-Ansicht per <code>Super</code>-Taste (aka <code>Windows</code>-Taste) und tippt los. :)</p> <p><a href="https://files.mdosch.de/2015-01/calc.png"><img alt="Taschenrechner der Gnome-Shell" src="https://files.mdosch.de/2015-01/calc.png"/></a></p> Wed, 21 Jan 2015 20:39:00 GMT tag:blog.mdosch.de,2015-01-21:/2015/01/21/kurztipp-taschenrechner-in-der-gnome-shell Acer C720: Debian Kernel 3.18.1 https://blog.mdosch.de/2014/12/18/acer-c720-debian-kernel-3-18-1/ <p>Heute gibt es mal wieder ein Update für das Acer C720. Der Kernel 3.18.1 kann <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.18.1-c720_20141218_amd64.deb e406ac505fbf480f001e37350ede8510 linux-image-3.18.1-c720_20141218_amd64.deb sha1sum linux-image-3.18.1-c720_20141218_amd64.deb e4517e660ba83b64e7af934023195bb6232d03c3 linux-image-3.18.1-c720_20141218_amd64.deb </pre></div> Thu, 18 Dec 2014 08:46:00 GMT tag:blog.mdosch.de,2014-12-18:/2014/12/18/acer-c720-debian-kernel-3-18-1 Acer C720: Debian Kernel 3.17.5 https://blog.mdosch.de/2014/12/07/acer-c720-debian-kernel-3-17-5/ <p>Der aktuelle Kernel für das C720 steht wieder hier zum <a href="https://files.mdosch.de/acer-c720-kernel/">Download</a> bereit.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.5-c720_20141207_amd64.deb c535a14e721d01ba8ac7433680234e68 linux-image-3.17.5-c720_20141207_amd64.deb sha1sum linux-image-3.17.5-c720_20141207_amd64.deb ac69b2de40c4fcb759bcd1a4996ff53cb4d34f99 linux-image-3.17.5-c720_20141207_amd64.deb </pre></div> Sun, 07 Dec 2014 14:03:00 GMT tag:blog.mdosch.de,2014-12-07:/2014/12/07/acer-c720-debian-kernel-3-17-5 Kernel kompilieren für Anfänger https://blog.mdosch.de/2014/11/20/kernel-kompilieren-fuer-anfaenger/ <p>In meiner (über) 10-jährigen Karriere als Linux-Anfänger kam ich mittlerweile häufiger in die Situation einen Kernel selbst kompilieren zu müssen. Es kam vor, dass Hardware erst ab einer neueren Version, als in den Distributions-Quellen vorhanden, unterstützt wurde, oder dass im <a href="https://www.kernel.org/">Upstream-Kernel</a> bestimmte Patches noch nicht integriert wurden (wie z.B. beim Touchpad für das <a href="https://blog.mdosch.de/tag/acer-c720/">Acer C720</a>).<br /> Anleitungen gibt es zwar viele, aber häufig bekam ich trotzdem keinen bootbaren Kernel heraus. Das Kompilieren eines eigenen Kernels war für mich ein Buch mit sieben Siegeln. Irgendwann fand ich dann ein paar Befehle, mit deren Hilfe sich ein Kernel für <em>Debian</em> ganz einfach kompilieren lässt.<br /> Natürlich kann man viel auf die eigene Hardware optimieren, wenn man einen Kernel baut, aber dieser Eintrag soll die einfachste Möglichkeit beschreiben einen funktionierenden Kernel auf Basis der Distributionskonfiguration zu erstellen.</p> <h5>Vorbereitungen</h5> <p>Um unter Debian einen Kernel kompilieren zu können installiert man (als <em>root</em>) die folgenden (Meta-)Pakete:</p> <div class="highlight"><pre><span></span>apt-get install build-essential kernel-package </pre></div> <p>Dann benötigt man natürlich den Quellcode des Kernels, den man kompilieren möchte z.B.:</p> <div class="highlight"><pre><span></span>wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.17.3.tar.xz </pre></div> <p>Danach entpackt man diesen und wechselt in das Verzeichnis:</p> <div class="highlight"><pre><span></span>tar -xvf linux-3.17.3.tar.xz cd linux-3.17.3 </pre></div> <h5>Konfiguration und Kernelbau</h5> <p>Am einfachsten ist es die funktionierende Konfiguration des Distributionskernels als Basis zu nehmen:</p> <div class="highlight"><pre><span></span>make oldconfig </pre></div> <p>Ist der zu kompilierende Kernel neuer als der aktuell verwendete erhält man nun einige Fragen zu neuen Kernel-Modulen. Im Normalfall ist es empfehlenswert die Vorgabe per <code>Return</code> zu übernehmen. Sollte man den Kernel wegen eines neuen Moduls bauen, so sollte man dies natürlich auswählen (<code>y</code> zum fest einkompilieren, <code>m</code> um ein nachladbares Modul zu bauen).<br /> Nun existiert im Verzeichnis eine Datei <code>.config</code>. Möchte man bei bestimmten Modulen eine andere Auswahl als im Distributionskernel treffen muss man diese Datei editieren.</p> <p>Nun ist man schon beim letzten Schritt angelangt, dem Kompilieren des Kernels. Theoretisch soll dieser Schritt auch als normaler Benutzer funktionieren, aber ich musste vor diesem Schritt bisher zu <em>root</em> werden.</p> <div class="highlight"><pre><span></span>make-kpkg --initrd --revision=20141120 -j4 --append-to-version=-eigenbau kernel_image </pre></div> <p>Per <code>--revision</code> legt man eine Nummer fest, die an die Kernel-Version angehängt wird um eine Unterscheidung zwischen verschiedenen Builds zu ermöglichen. Man könnte auch einfach von <code>1</code> ab hochzählen, wenn man den gleichen Kernel häufiger kompiliert. <code>-j4</code> bewirkt, dass 4 Prozesse parallel ausgeführt werden. Das beschleunigt den Vorgang, sofern man über genug (virtuelle) Prozessoren verfügt. Auf einem Single-Core würde ich empfehlen diese Option wegzulassen, auf einem Dualcore zu <code>-j2</code> raten und auf einem aktuellen Prozessor wie <em>i3/i5/i7</em> stellt <code>-j4</code> kein Problem dar. Mit <code>--append-to-version=</code> kann man einen String anhängen, der in <em>GRUB</em> angezeigt wird. Somit kann man leicht erkennen, welches der selbstkompilierte Kernel ist. <code>kernel_image</code> ist letzten Endes nur die Anweisung ein Kernelpaket zu generieren. Benötigt man auch die Kernel-Header (z.B. um selbst Kernel-Module zu kompilieren) hängt man noch <code>kernel_headers</code> an.</p> <p>Mit diesem Workflow baue ich seit Jahren erfolgreich Debianpakete aus den Kernelquellen und weiß mittlerweile gar nicht mehr warum das jemals ein Problem für mich darstellte.</p> Thu, 20 Nov 2014 17:55:00 GMT tag:blog.mdosch.de,2014-11-20:/2014/11/20/kernel-kompilieren-fuer-anfaenger Kurztipp: Suspend via systemd bei geschlossenem Laptop verhindern https://blog.mdosch.de/2014/11/20/kurztipp-suspend-via-systemd-bei-geschlossenem-laptop-verhindern/ <p>Ich habe gestern spasseshalber meinen Homeserver (eigentlich nur mein ausrangiertes Notebook) auf <em>Jessie</em> aktualisiert. Es war es schon mal wert, weil ich jetzt endlich komfortabel aus dem <em>VLC</em> per <em>DLNA/UPNP</em> auf meine Video- und Musiksammlung zugreifen kann. Leider ist der Server immer kurz nach dem Start in <em>Suspend</em> gegangen. Da ich das alte Laptop als Server nutze steht es zusammengeklappt unter meinem Router, ich greife ja sowieso nur über <em>SSH</em> darauf zu. Da möchte ich natürlich nicht, dass ein geschlossener Deckel bewirkt, dass das Notebook in StandBy geht.</p> <p><a href="http://m157q.logdown.com/posts/2013/10/15/arch-linux-systemd-disable-auto-suspend">Hier</a> habe ich den Hinweis gefunden, wie man das unter <em>systemd</em> verhindert: </p> <p>Man öffnet die Datei <code>/etc/systemd/logind.conf</code> und ändert die Zeile</p> <div class="highlight"><pre><span></span>#HandleLidSwitch=suspend </pre></div> <p>folgendermaßen ab:</p> <div class="highlight"><pre><span></span>HandleLidSwitch=ignore </pre></div> <p>Danach startet man den Dienst (als root) neu:</p> <div class="highlight"><pre><span></span>systemctl restart systemd-logind </pre></div> Thu, 20 Nov 2014 17:03:00 GMT tag:blog.mdosch.de,2014-11-20:/2014/11/20/kurztipp-suspend-via-systemd-bei-geschlossenem-laptop-verhindern Whatsapp mit Ende-zu-Ende-Verschlüsselung? https://blog.mdosch.de/2014/11/18/whatsapp-mit-ende-zu-ende-verschluesselung/ <p>Ich bin gerade per <a href="https://netzpolitik.org/2014/ueberraschung-whatsapp-verspricht-ende-zu-ende-verschluesselung/">netzpolitik.org</a> über diesen <a href="https://whispersystems.org/blog/whatsapp/">Beitrag</a> gestolpert. Anscheinend soll <a href="https://whispersystems.org/">open whispersystems</a> Ende-zu-Ende-Verschlüsselung in <em>WhatsApp</em> integrieren.</p> <p><em>Open whispersystems</em> ist bereits durch ihren verschlüsselnden Messenger <em>TextSecure</em> und <em>RedPhone</em> für verschlüsselte Telefonate ein Begriff. Auch die Funktion per <a href="http://www.cyanogenmod.org/blog/whisperpush-secure-messaging-integration">WhisperPush</a> verschlüsselte SMS unter <a href="http://www.cyanogenmod.org">cyanogenmod</a> zu versenden wurde von <em>open whispersystems</em> realisiert.</p> <p>Wer hätte das gedacht? Ich bin zumindest erstaunt und beobachte mal wie es weitergeht.</p> Tue, 18 Nov 2014 17:44:00 GMT tag:blog.mdosch.de,2014-11-18:/2014/11/18/whatsapp-mit-ende-zu-ende-verschluesselung Kurztipp: checkrestart https://blog.mdosch.de/2014/11/18/kurztipp-checkrestart/ <p>Natürlich ist es nicht genug <a href="http://blog.chr.istoph.de/ohje-alles-gepacht-und-doch-verwundbar/">nur Updates einzuspielen</a>, sondern man muss auch die Dienste, welche die Bibliotheken verwenden neustarten. Unter Debian kann man sich per <em>checkrestart</em> aus dem Paket <a href="https://packages.debian.org/search?lang=de&amp;searchon=names&amp;keywords=debian-goodies">debian-goodies</a> anzeigen lassen welche Programme oder Dienste einen Neustart benötigen.</p> Tue, 18 Nov 2014 17:04:00 GMT tag:blog.mdosch.de,2014-11-18:/2014/11/18/kurztipp-checkrestart Acer C720: Debian Kernel 3.17.3 https://blog.mdosch.de/2014/11/15/acer-c720-debian-kernel-3-17-3/ <p>Der aktuelle Kernel für das C720 steht zum <a href="https://files.mdosch.de/acer-c720-kernel/">Download</a>.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.3-c720_20141114_amd64.deb 99b056c21825f0e03c7e550649391ef8 linux-image-3.17.3-c720_20141114_amd64.deb sha1sum linux-image-3.17.3-c720_20141114_amd64.deb be8e9a4a0a7647eebe5816c5200575c065839431 linux-image-3.17.3-c720_20141114_amd64.deb </pre></div> Sat, 15 Nov 2014 08:42:00 GMT tag:blog.mdosch.de,2014-11-15:/2014/11/15/acer-c720-debian-kernel-3-17-3 Kurztipp: Live-CDs mit dem Acer C720 booten https://blog.mdosch.de/2014/11/11/kurztipp-live-cds-mit-dem-acer-c720-booten/ <p>Bei meinen ersten Experimenten mit dem Chromebook <em>Acer C720</em> wollte ich natürlich zuerst mal eine Live-CD booten bevor ich mich an die Installation wagte.<br /> Leider war es nicht möglich Live-CDs zu starten, da ich immer eine Fehlermeldung erhielt, dass zu wenig Arbeitsspeicher verfügbar wäre.<br /> Bei den Kollegen von Arch habe ich eine <a href="https://bbs.archlinux.org/viewtopic.php?pid=1356681#p1356681">Lösung</a> gefunden:</p> <ul> <li>Im Auswahl-Menü von <em>GRUB</em> die Taste <code>e</code> drücken.</li> <li>In der mit <code>linux</code> beginnenden Zeile <code>mem=1024MB</code> am Ende einfügen</li> <li>Mittels <code>Ctrl+X</code> den Bootvorgang fortsetzen</li> </ul> <p>Damit sollten auch die meisten Live-CDs mit dem <em>C720</em> starten.</p> Tue, 11 Nov 2014 20:11:00 GMT tag:blog.mdosch.de,2014-11-11:/2014/11/11/kurztipp-live-cds-mit-dem-acer-c720-booten Acer C720: Debian Kernel 3.17.2 https://blog.mdosch.de/2014/11/01/acer-c720-debian-kernel-3-17-2/ <p>Frisch kompiliert: Der aktuelle Kernel für das <em>C720</em>. <br /> Wie üblich kann der Kernel <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.2-c720_20141101_amd64.deb b21b35725af8401da5f8c7503403d3ae linux-image-3.17.2-c720_20141101_amd64.deb sha1sum linux-image-3.17.2-c720_20141101_amd64.deb c4a0a7c5820cc065809b0bf3ebae41394450f866 linux-image-3.17.2-c720_20141101_amd64.deb </pre></div> Sat, 01 Nov 2014 15:39:00 GMT tag:blog.mdosch.de,2014-11-01:/2014/11/01/acer-c720-debian-kernel-3-17-2 Kurztipp: Webseiten-Ladezeit durch Komprimierung beschleunigen https://blog.mdosch.de/2014/11/01/kurztipp-webseiten-ladezeit-durch-komprimierung-beschleunigen/ <p>Da mein Blog mittlerweile, abgesehen von den Kommentaren, rein statisch ausgeliefert wird, dachte ich mir, dass sich die Ladezeit durch Komprimierung der Dateien drastisch reduzieren müsste. <br /> Ich hatte mich bisher noch nie darüber informiert und war überrascht, wie simpel sich das für <em>Apache</em> konfigurieren lässt. Man muss lediglich folgende Zeile zur <code>.htaccess</code> hinzufügen:</p> <div class="highlight"><pre><span></span># Compression AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript text/javascript </pre></div> <p>Ich habe jetzt leider keine Vergleichsmessungen durchgeführt, aber rein gefühlt ist die Seite nach dem Löschen des Browser-Caches und erneutem Aufruf sofort komplett geladen.</p> Sat, 01 Nov 2014 11:44:00 GMT tag:blog.mdosch.de,2014-11-01:/2014/11/01/kurztipp-webseiten-ladezeit-durch-komprimierung-beschleunigen Acer C720: Debian Kernel 3.17.1 https://blog.mdosch.de/2014/10/24/acer-c720-debian-kernel-3-17-1/ <p>Heute gibt es mal wieder einen aktuellen Debian-Kernel für das Chromebook <em>Acer C720</em>. Wie üblich kann der Kernel <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.1-c720_20141023_amd64.deb 88a697be776819c06f401d6fd177e3fc linux-image-3.17.1-c720_20141023_amd64.deb sha1sum linux-image-3.17.1-c720_20141023_amd64.deb ff0ae439aa8be73fd31d5b01cc1f357c72c0914a linux-image-3.17.1-c720_20141023_amd64.deb </pre></div> Fri, 24 Oct 2014 07:34:00 GMT tag:blog.mdosch.de,2014-10-24:/2014/10/24/acer-c720-debian-kernel-3-17-1 Anfragen bzgl. Sponsoring von Artikeln https://blog.mdosch.de/2014/10/22/anfragen-bzgl-sponsoring-von-artikeln/ <p>Da ich in letzter Zeit häufiger Anfragen erhalte, ob ich nicht Artikel über gewisse Produkte oder Veranstaltungen gegen ein Entgelt schreiben möchte, will ich mich hier kurz dazu äußern:</p> <p><strong>Ich habe kein Interesse daran Artikel gegen Geld zu schreiben.</strong></p> <p>Zur Begründung: Dies ist eine rein private Seite, die ich aus Spaß an der Freude betreibe. Ich möchte damit keine Einnahmen erzielen, deshalb gibt es hier auch keine Werbebanner oder ähnliches. Im Gegenteil, das Betreiben dieser Seite kostet mich Geld. Da ich diese Ausgaben aber als Hobby verbuche habe ich kein Interesse die Ausgaben zu decken oder gar Gewinne zu generieren.</p> <p>Auch wenn die Anfragen bisher immer sehr freundlich und nie unverschämt waren, man räumte mir inhaltlich freie Hand ein, ich sollte lediglich bestimmte Produkte erwähnen oder bestimmte Seiten verlinken, so möchte ich hier klar stellen, dass ich an Anfragen bezüglich des Sponsorings von Beiträgen nicht interessiert bin.<br /> Sie verschwenden nur Ihre und meine Zeit für die Anfrage und die Absage.</p> <p>Wenn ich hier Programme, Produkte oder Veranstaltungen positiv erwähne oder gar empfehle dann tu ich das weil das meine Meinung ist, nicht weil ich dafür entlohnt werde.</p> <p>Abschließend möchte ich noch festhalten, dass ich verwundert bin in letzter Zeit einige dieser Anfragen zu erhalten, da mein Blog doch eine eher kleine Seite von vielen ist. Ich hätte gedacht, dass kommerzielle Kooperationsangebote eher den großen Seiten vorbehalten sind.</p> Wed, 22 Oct 2014 18:20:00 GMT tag:blog.mdosch.de,2014-10-22:/2014/10/22/anfragen-bzgl-sponsoring-von-artikeln Schloss Nymphenburg im Herbst https://blog.mdosch.de/2014/10/12/schloss-nymphenburg-im-herbst/ <p>Da sich der Herbst derzeit von seiner schönen Seite zeigt, habe ich heute meine Kamera geschnappt und bin durch die Anlage von Schloss Nymphenburg flaniert.<br /> Die Grünanlage rund um das Schloss ist nicht nur im Sommer sehenswert, gerade an schönen sonnigen Herbsttagen wie heute kann man bei einem Spaziergang dort einfach das Leben genießen und abschalten.</p> <p><a href="https://pics.mdosch.de/muenchen/schloss-nymphenburg/"><img alt="Schloss Nymphenburg" src="https://files.mdosch.de/2016-12/schloss-nymphenburg.jpg"/></a></p> Sun, 12 Oct 2014 13:48:00 GMT tag:blog.mdosch.de,2014-10-12:/2014/10/12/schloss-nymphenburg-im-herbst München: Blick aufs Oktoberfest von der Paulskirche https://blog.mdosch.de/2014/10/01/muenchen-blick-aufs-oktoberfest-von-der-paulskirche/ <p>Wer zur Zeit nach München reist, der tut dies meist um das <a href="http://www.oktoberfest.de/de">Oktoberfest</a> zu besuchen. München hat aber deutlich mehr zu bieten als ein überlaufenes Volksfest. Gerade zum <em>Oktoberfest</em> bietet es sich an durch München zu streifen oder bei schönem Wetter die Biergärten aufzuzuschen. Plätze die sonst völlig überfüllt sind können in aller Ruhe besucht werden, da die Massen der Touristen zu dieser Jahreszeit (man kann das Oktoberfest in München fast als eigene Jahreszeit betrachten) nur zur Theresienwiese strömen.<br /> Will man eine schöne Impression vom Oktoberfest, so lohnt es sich den Turm der nahe gelegenen <a href="http://www.erzbistum-muenchen.de/Pfarrei/Page010890.aspx">Paulskirche</a> zu besteigen, da man von dort einen sehr schönen Ausblick auf das Fest hat. Den Aufstieg sollte man aber nicht in Angriff nehmen wenn man sich bereits auf dem Oktoberfest einige Maß genehmigt hat, da es zu Fuß über eine enge Wendeltreppe nach Oben geht.</p> <p><a href="https://pics.mdosch.de/muenchen/paulskirche/"><img alt="Blick aufs Oktoberfest" src="https://files.mdosch.de/2016-12/oktoberfest_paulskirche.jpg"/></a></p> Wed, 01 Oct 2014 20:05:00 GMT tag:blog.mdosch.de,2014-10-01:/2014/10/01/muenchen-blick-aufs-oktoberfest-von-der-paulskirche Kurztipp: bash -x https://blog.mdosch.de/2014/10/01/kurztipp-bash-x/ <p>Die meisten Scripte unter Linux dürften mit der <a href="http://tiswww.case.edu/php/chet/bash/bashtop.html">bash</a> <em>(The GNU Bourne-Again SHell)</em> durchgeführt werden. Möchte man ein Script debuggen oder nach einer Änderung diese überprüfen, so ist es rech praktisch das Script mittels <code>bash -x /pfad/zum/script</code> im <em>Debug Mode</em> aufzurufen. Man erhält dann eine Rückmeldung über die durchgeführten Befehle und sieht auch was in interne Variablen geschrieben wird.</p> <div class="highlight"><pre><span></span>cat beispielscript.sh #! /bin/bash VARIABLE1=1 VARIABLE2=3 VARIABLE3=$(echo &quot;$VARIABLE1 + $VARIABLE2&quot; | bc) echo &quot;$VARIABLE3 + $VARIABLE1&quot; | bc </pre></div> <div class="highlight"><pre><span></span>bash -x beispielscript.sh + VARIABLE1=1 + VARIABLE2=3 ++ echo &#39;1 + 3&#39; ++ bc + VARIABLE3=4 + echo &#39;4 + 1&#39; + bc 5 </pre></div> Wed, 01 Oct 2014 16:06:00 GMT tag:blog.mdosch.de,2014-10-01:/2014/10/01/kurztipp-bash-x Acer C720: Debian Kernel 3.17-rc7 https://blog.mdosch.de/2014/09/30/acer-c720-debian-kernel-3-17-rc7/ <p>Eine neue Version des Debian-Kernels für das Chromebook <em>Acer C720</em>. Der Kernel kann wieder <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.0-rc7-c720_20140930_amd64.deb 5c69bdd75b231d55369a72188e6c659a linux-image-3.17.0-rc7-c720_20140930_amd64.deb sha1sum linux-image-3.17.0-rc7-c720_20140930_amd64.deb cb724d1151752ea763895e5781bb22f3c0efd1a5 linux-image-3.17.0-rc7-c720_20140930_amd64.deb </pre></div> Tue, 30 Sep 2014 10:47:00 GMT tag:blog.mdosch.de,2014-09-30:/2014/09/30/acer-c720-debian-kernel-3-17-rc7 Code-Schnippsel: Backup über SSH mit rsync https://blog.mdosch.de/2014/09/29/code-schnippsel-backup-ueber-ssh-mit-rsync/ <p>Hier mal mein aktuelles Backup-Script mit dem ich aktuell sehr zufrieden bin. Ich hatte das ganze schon mal <a href="https://blog.mdosch.de/2013/08/01/meine-neue-backup-loesung/">hier</a> angerissen aber mittlerweile hat sich doch einiges getan. War mein Backup-Script zu Beginn einfach nur ein Befehl, der täglich mein Home mittels <a href="http://wiki.ubuntuusers.de/Cron#Anacron-Anac-h-ronistic-Cron">rsync</a> über <em>SSH</em> auf meinen Server kopiert und dabei die alte Version überschrieben hat, so ist das ganze deutlich komplexer und flexibler. Mittlerweile sichere ich mein <em>/home/</em>, mein <em>/etc/</em>, mein <em>/root/</em> und mein <em>/usr/local/</em>. <!-- more --> Da mein Backup auf dem Backup-Server auf einer externen Festplatte gespeichert wird, hänge ich diese vor dem Backup ein und nach dem Backup aus. Ich habe auch eine Rotation eingebaut um Snapshots der letzten 7 Tage, sowie monatliche Snapshots des letzten Jahres zur Verfügung zu stellen. Um nicht unnötig Speicher zu belegen werden <a href="https://de.wikipedia.org/wiki/Harter_Link">hardlinks</a> genutzt, da sich große Datenmengen wie die Musiksammlung ja nicht groß ändern. <br /> Das Script liegt unter <code>/etc/cron.daily/ssh_backup</code> und wird täglich von <a href="http://wiki.ubuntuusers.de/Cron#Anacron-Anac-h-ronistic-Cron">anacron</a> ausgeführt.<br /> Um die Dateirechte zu übertragen benutze ich auf dem Server <a href="http://wiki.ubuntuusers.de/sudo">sudo</a>, da ich den <em>root</em>-LogIn per <em>SSH</em> nicht erlaubt habe. Sollte der Backup-Server down sein erhalte ich eine Email, die ich im <a href="https://blog.mdosch.de/2013/06/12/system-mails-von-linux-mit-thunderbird-abfragen/">Thunderbird empfange</a>. <br /> Nach langer Rede folgt nun mein Backup-Script:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="c1">#### Diese Variablen bitte auf die eigenen Bedürfnisse anpassen</span> <span class="nv">BACKUP_PFADE</span><span class="o">=</span><span class="s2">&quot;/home/martin /etc /root /usr/local&quot;</span> <span class="c1"># Pfade die gesichert werden sollen</span> <span class="nv">ZIELPFAD</span><span class="o">=</span>/mnt/backup <span class="c1"># Pfad auf dem Backupserver (ohne abschließenden /)</span> <span class="nv">ZIEL_EXT</span><span class="o">=</span><span class="nb">true</span> <span class="c1"># true = Wechseldatenträger, false = interner Speicher</span> <span class="nv">ANZAHL_TAGE</span><span class="o">=</span><span class="m">7</span> <span class="c1"># Tägliches Backup für x Tage</span> <span class="nv">BENUTZER</span><span class="o">=</span>martin <span class="c1"># Benutzername auf dem Backupserver</span> <span class="nv">SERVER</span><span class="o">=</span>backup <span class="c1"># IP-Adresse oder Hostname des Backupservers</span> <span class="nv">PORT</span><span class="o">=</span><span class="m">1418</span> <span class="c1"># SSH-Port des Backupservers</span> <span class="nv">MAC</span><span class="o">=</span><span class="m">88</span>:ae:1d:31:cd:17 <span class="c1"># MAC-Adresse des Servers für WOL</span> <span class="nv">HISTORY</span><span class="o">=</span>/root/.backup_hist <span class="c1"># Protokoll-Datei</span> <span class="nv">LISTE</span><span class="o">=</span>/root/installed_packages.txt <span class="c1"># Speicherort für Liste der gespeicherten Pakete</span> <span class="c1">#### Don&#39;t touch this; domdididom</span> <span class="c1">#### Ab hier bitte nichts anfassen, wenn du nicht sicher weißt was du tust</span> <span class="nv">MONAT</span><span class="o">=</span><span class="k">$(</span>date +%-m<span class="k">)</span> <span class="nv">VORMONAT</span><span class="o">=</span><span class="k">$(</span>expr <span class="nv">$MONAT</span> - <span class="m">1</span><span class="k">)</span> <span class="nv">HOST</span><span class="o">=</span><span class="k">$(</span>hostname<span class="k">)</span> <span class="c1"># Backup-Server bereit?</span> <span class="k">if</span> ! ping -c <span class="m">1</span> <span class="nv">$SERVER</span> &gt; /dev/null <span class="k">then</span> <span class="c1"># Backup-Server hochfahren</span> wakeonlan <span class="nv">$MAC</span> <span class="m">1</span>&gt;/dev/null sleep <span class="m">60</span> <span class="k">if</span> ! ping -c <span class="m">1</span> <span class="nv">$SERVER</span> &gt; /dev/null <span class="k">then</span> <span class="nb">echo</span> <span class="s2">&quot;Backup konnte nicht durchgeführt werden. \nDer Server war nicht erreichbar.&quot;</span> <span class="p">|</span> mail -s <span class="s1">&#39;Backup fehlgeschlagen!&#39;</span> <span class="k">$(</span>whoami<span class="k">)</span>@<span class="nv">$HOST</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="k">fi</span> <span class="c1"># Falls Zieldatenträger Wechselplatte, diese einhängen</span> <span class="k">if</span> <span class="nv">$ZIEL_EXT</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo mount </span><span class="nv">$ZIELPFAD</span><span class="s2">&quot;</span> &gt;/dev/null <span class="c1"># Datei CURRENT zur Protokollierung der aktiven Backups existiert?</span> <span class="k">if</span> ! ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> stat <span class="nv">$ZIELPFAD</span>/CURRENT <span class="se">\&gt;</span> /dev/null <span class="m">2</span><span class="se">\&gt;\&amp;</span><span class="m">1</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;touch </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT &amp;&amp; echo &quot;</span><span class="m">0</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="c1"># CURRENT auslesen und inkrementieren</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span>ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;cat </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span><span class="k">)</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$CURRENT</span><span class="s2"> + 1&quot;</span> <span class="p">|</span> bc<span class="k">)</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo </span><span class="nv">$CURRENT</span><span class="s2"> &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="c1"># Link 0 -&gt; 12 (für Link auf letztes Backup im Januar) existiert?</span> <span class="k">if</span> ! ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> stat <span class="nv">$ZIELPFAD</span>/<span class="nv">$HOST</span>/0 <span class="se">\&gt;</span> /dev/null <span class="m">2</span><span class="se">\&gt;\&amp;</span><span class="m">1</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;ln -s </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/12 </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/0&quot;</span> <span class="k">fi</span> <span class="c1"># Bei Problemen zu Testzwecken auskommentieren</span> <span class="c1"># ssh -v -p $PORT $BENUTZER@$SERVER /bin/true</span> <span class="c1"># Eine Liste der installierten Pakete erstellen</span> dpkg --get-selections &gt; <span class="nv">$LISTE</span> <span class="c1"># Backup per rsync</span> <span class="k">for</span> PFAD in <span class="nv">$BACKUP_PFADE</span> <span class="k">do</span> rsync -az --delete --rsync-path<span class="o">=</span><span class="s1">&#39;sudo rsync&#39;</span> --rsh<span class="o">=</span><span class="s2">&quot;ssh -p </span><span class="nv">$PORT</span><span class="s2">&quot;</span> --link-dest<span class="o">=</span>../<span class="nv">$VORMONAT</span> <span class="nv">$PFAD</span> <span class="nv">$BENUTZER</span>@<span class="nv">$SERVER</span>:<span class="nv">$ZIELPFAD</span>/<span class="nv">$HOST</span>/<span class="nv">$MONAT</span> <span class="k">done</span> <span class="c1"># Erstellen von Snapshots der letzten x Tage</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo rm -rf </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="nv">$ANZAHL_TAGE</span><span class="s2">&quot;</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$ANZAHL_TAGE</span> -gt <span class="m">1</span> <span class="o">]</span> <span class="k">then</span> <span class="k">for</span> <span class="o">((</span> <span class="nv">ANZAHL</span><span class="o">=</span><span class="nv">$ANZAHL_TAGE</span> <span class="p">;</span> ANZAHL &gt;<span class="o">=</span> <span class="m">2</span> <span class="p">;</span> ANZAHL-- <span class="o">))</span> <span class="k">do</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo mv </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="k">$(</span>expr <span class="nv">$ANZAHL</span> - <span class="m">1</span><span class="k">)</span><span class="s2"> </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.</span><span class="nv">$ANZAHL</span><span class="s2">&quot;</span> <span class="k">done</span> <span class="k">fi</span> <span class="k">if</span> <span class="o">[</span> ! <span class="nv">$ANZAHL_TAGE</span> -eq <span class="m">0</span> <span class="o">]</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo mv </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.latest </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.1&quot;</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo cp -al </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/</span><span class="nv">$MONAT</span><span class="s2"> </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$HOST</span><span class="s2">/daily.latest&quot;</span> <span class="k">fi</span> <span class="c1"># Falls Zieldatenträger Wechselplatte, diese aushängen sofern kein weiteres Backup aktiv ist (Variable Current)</span> <span class="k">if</span> <span class="nv">$ZIEL_EXT</span> <span class="k">then</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span>ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;cat </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span><span class="k">)</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$CURRENT</span> -eq <span class="m">1</span> <span class="o">]</span> <span class="k">then</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo &quot;</span><span class="m">0</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;sudo umount </span><span class="nv">$ZIELPFAD</span><span class="s2">&quot;</span> &gt;/dev/null <span class="k">else</span> <span class="nv">CURRENT</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$CURRENT</span><span class="s2"> - 1&quot;</span> <span class="p">|</span> bc<span class="k">)</span> ssh -p <span class="nv">$PORT</span> <span class="nv">$BENUTZER</span><span class="se">\@</span><span class="nv">$SERVER</span> <span class="s2">&quot;echo &quot;</span><span class="nv">$CURRENT</span><span class="s2">&quot; &gt; </span><span class="nv">$ZIELPFAD</span><span class="s2">/CURRENT&quot;</span> <span class="k">fi</span> <span class="k">fi</span> <span class="c1"># Datum und Uhrzeit des Backups protokollieren</span> date &gt;&gt; <span class="nv">$HISTORY</span> </pre></div> </td></tr></table> <p>Das Script ist natürlich auf meine Bedürfnisse bzw. Vorlieben zugeschneidert. Aber vielleicht kann es dem ein oder anderen als Inspiration für ein eigenes Backup-Konzept dienen, oder man kann den ein oder anderen Schnippsel für eigene Scripte verwerten.</p> <p><strong>[Update 2014-10-01]</strong><br /> Da ich mittlerweile zwei Rechner mit Hilfe dieses Scriptes sichere habe ich nun das Script um eine Funktion erweitert. Erfolgt das Backup auf ein Wechselmedium wird eine Datei <code>CURRENT</code> angelegt. Diese wird mit <code>0</code> initialisiert und beim Start des Backups inkrementiert. Steht am Ende des Backups in der Datei eine Zahl <code>&gt; 1</code> ist noch ein anderes Backup aktiv und die Zahl in <code>CURRENT</code> wird dekrementiert und das Wechselmedium nicht ausgehängt. Steht in <code>CURRENT</code> eine <code>1</code> wird eine <code>0</code> zurückgeschrieben und das Laufwerk ausgehängt.<br /> Das ganze ist eine <em>quick and dirty</em> Lösung, da mir erst mal keine bessere Lösung eingefallen ist. Wenn jemand einen eleganteren Weg kennt bin ich für Hinweise offen.<br /> Ich habe jetzt ein paar mal die gleichzeitige Durchführung des Backups an beiden Rechnern forciert und war mit der Funktion zufrieden (<code>bash -x ...</code> ist ganz nett um Scriptänderungen zu testen).</p> <p><strong>[Update 2016-09-24]</strong> Ich habe den Ausschnitt aus der <em>/etc/sudoers</em> entfernt, da dieser fehlerhaft war. Mittlerweile lasse ich meinen user per <em>rsync</em> alles ausführen, was nicht wirklich kritisch ist, da der Server eh nicht von außen erreichbar ist.</p> Mon, 29 Sep 2014 19:16:00 GMT tag:blog.mdosch.de,2014-09-29:/2014/09/29/code-schnippsel-backup-ueber-ssh-mit-rsync Empfehlung: Clementine https://blog.mdosch.de/2014/09/28/empfehlung-clementine/ <h5>Clementine</h5> <p>Mein Favorit unter den zahlreichen, für Linux verfügbaren, Audioplayern ist <a href="https://www.clementine-player.org/de/">Clementine</a>. <em>Clementine</em> ist kein reiner Audioplayer sondern ein Komplettpaket und bietet neben der Bibliotheksverwaltung und Wiedergabe zahlreiche weitere Funktionen. Man kann mit <em>Clementine</em> auch Musik umkodieren, Cover herunterladen, Tags editieren und vieles mehr. Ein Feature das mir bei vielen anderen Playern gefehlt hat ist die Einbindung von Geräten und das automatische Umkodieren. Das klingt seltsam, aber ich weiß nicht wie ich die Funktion benennen soll also erkläre ich es in groben Zügen: Ich binde ein externes Gerät (z.B. Handy, mp3-Player oder USB-Stick) in <em>Clementine</em> ein. Darauf kann ich <em>Clementine</em> dem Gerät unterstützte Formate (z.B. mp3, flac oder ogg) zuordnen. Klicke ich nun ein Album an und wähle <code>An das Gerät senden</code> wird die Musik vor der Übertragung automatisch umkodiert, wenn die Musik als <em>flac</em> vorliegt, das Gerät aber nur <em>mp3</em> unterstützt.<br /> Ansonsten bietet <em>Clementine</em> eigentlich alle wesentlichen Funktionen, die andere Audioplayer/Bibliotheksverwaltungen auch bieten. Da <em>Clementine</em> mit der Zielsetzung entwickelt wird einen Audioplayer in der Art von <a href="https://amarok.kde.org/">Amarok</a> in Version 1 zur Verfügung zu stellen sollte <em>Clementine</em> vielen bekannt vorkommen. <em>Amarok</em> war ein toller Audioplayer, den ich gerne benutzte, der mir aber nach den großen Umbauten in Version 2 nicht mehr gefiel. Diese Lücke schließt <em>Clementine</em> bei mir seit längerem.</p> <p>Hier ein Überblick über die Funktionen von der <em>Clementine</em>-Homepage:</p> <blockquote> <ul> <li>Durchsuchen und Abspielen Ihrer lokalen Musiksammlung.</li> <li>Internetradio hören, von Spotify, Grooveshark, SomaFM, Magnatune, Jamendo, SKY.fm, Digitally Imported, JAZZRADIO.com, Soundcloud, Icecast und Subsonic servers.</li> <li>Suchen und Lieder abspielen, die Sie hoch geladen haben auf Box, Dropbox, Google Drive, und OneDrive</li> <li>Erstellen intelligenter sowie dynamischer Wiedergabelisten.</li> <li>Wiedergabelisten mit Reitern, Im- und Exportieren von M3U, XSPF, PLS und ASX.</li> <li>Unterstützung für Cuesheets.</li> <li>Abspielen von Audio-CDs.</li> <li>Visualisierungen von projectM.</li> <li>Liedtextte, Biografien und Fotos der Künstler.</li> <li>Konvertieren von Musik in die Formate MP3, Ogg Vorbis, Ogg Speex, FLAC oder AAC.</li> <li>Bearbeiten der Metadaten von MP3- und OGG-Dateien, Organisieren Ihrer Musik.</li> <li>Abrufen fehlender Metadaten von MusicBrainz.</li> <li>Podcasts entdecken und herunterladen.</li> <li>Fehlende Albentitelbilder von Last.fm und Amazon herunterladen.</li> <li>Plattformübergreifend - funktioniert unter Linux, Mac OS X und Windows.</li> <li>Native Schreibtischbenachrichtigungen unter Linux (libnotify) und Mac OS X (Growl).</li> <li>Fernsteuerung mittels Android-Gerät, Wii-Fernbedienung, MPRIS oder Befehlszeile.</li> <li>Kopieren von Musik auf Ihren iPod, iPhone, MTP- oder USB-Massenspeicher.</li> <li>Warteschlangenverwaltung.</li> </ul> </blockquote> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/clementine.png"><img alt="Clementine" src="https://blog.mdosch.de//files.mdosch.de/2014-09/clementine.png"/></a></p> <h5>Clementine-Remote</h5> <p>Als Fernbedienung verwende ich <a href="https://play.google.com/store/apps/details?id=de.qspool.clementineremote">Clementine-Remote</a> um <em>Clementine</em> mit meinem <em>Android</em>-Handy zu bedienen. <em>Clementine-Remote</em> verbindet sich per <em>WLAN</em> mit meinem Rechner, was ich praktische finde da ich Bluetooth sowohl am Rechner, als auch am Handy immer ausgeschaltet habe.</p> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/clementine_remote.png"><img alt="Clementine-Remote" src="https://blog.mdosch.de//files.mdosch.de/2014-09/clementine_remote.png"/></a></p> Sun, 28 Sep 2014 18:01:00 GMT tag:blog.mdosch.de,2014-09-28:/2014/09/28/empfehlung-clementine Acer C720: Debian Kernel 3.17-rc6 https://blog.mdosch.de/2014/09/23/acer-c720-debian-kernel-3-17-rc6/ <p>Eine neue Version des Debian-Kernels für das Chromebook <em>Acer C720</em>. Der Kernel kann wieder <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.0-rc6-c720_20140923_amd64.deb 97676f972d04459e004a473448622c93 linux-image-3.17.0-rc6-c720_20140923_amd64.deb sha1sum linux-image-3.17.0-rc6-c720_20140923_amd64.deb 456d8d58479cd6b84cebe8ce847593ebe11396bd linux-image-3.17.0-rc6-c720_20140923_amd64.deb </pre></div> Tue, 23 Sep 2014 05:44:00 GMT tag:blog.mdosch.de,2014-09-23:/2014/09/23/acer-c720-debian-kernel-3-17-rc6 Suchfeld für den eigenen Blog https://blog.mdosch.de/2014/09/22/suchfeld-fuer-den-eigenen-blog/ <p>Ich bin noch am überlegen, ob ich ein Suchfeld einbauen soll. Einerseits finde ich es praktisch, andererseits weiß ich derzeit nicht genau wo ich ein Suchfeld unterbringen sollte ohne dass es den optischen Eindruck stört.</p> <p>Eine Möglichkeit eine Suche in einen statischen Blog einzubinden ist es eine externe Suchmaschine wie <a href="https://duckduckgo.com">DuckDuckGo</a> oder <a href="https://ixquick.de/deu">Ixquick</a> zu nutzen. Das geht glücklicherweise in reinem <em>HTML</em> ohne Einbinden von Scripten o.ä. bedingt aber, dass zum Suchen auf eine externe Seite weitergeleitet werden muss.</p> <p>Unabhängig davon, ob ich es nun einbaue oder nicht: Beim <a href="http://blog.schockwellenreiter.de/">Schockwellenreiter</a> habe ich eine Möglichkeit gesehen, wie man ein <em>DuckDuckGo</em>-Suchfeld einbinden kann. Mit den entsprechenden <a href="https://duckduckgo.com/params">Parametern</a> kann man die Suche noch etwas anpassen.</p> <p>Hier der Code:</p> <div class="highlight"><pre><span></span><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">&quot;https://duckduckgo.com/&quot;</span> <span class="na">method=</span><span class="s">&quot;post&quot;</span><span class="nt">&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;hidden&quot;</span> <span class="na">name=</span><span class="s">&quot;kl&quot;</span> <span class="na">value=</span><span class="s">&quot;de-de&quot;</span><span class="nt">/&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;hidden&quot;</span> <span class="na">name=</span><span class="s">&quot;kp&quot;</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span><span class="nt">/&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;hidden&quot;</span> <span class="na">name=</span><span class="s">&quot;kh&quot;</span> <span class="na">value=</span><span class="s">&quot;1&quot;</span><span class="nt">/&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;hidden&quot;</span> <span class="na">name=</span><span class="s">&quot;sites&quot;</span> <span class="na">value=</span><span class="s">&quot;blog.mdosch.de&quot;</span><span class="nt">/&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;text&quot;</span> <span class="na">name=</span><span class="s">&quot;q&quot;</span> <span class="na">size=</span><span class="s">&quot;30&quot;</span> <span class="na">maxlength=</span><span class="s">&quot;255&quot;</span> <span class="na">placeholder=</span><span class="s">&quot;DuckDuckGo-Suche&quot;</span><span class="nt">/&gt;</span> <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">&quot;submit&quot;</span> <span class="na">value=</span><span class="s">&quot;Suchen&quot;</span> <span class="nt">/&gt;</span> <span class="nt">&lt;/form&gt;</span> </pre></div> <p>So würde das Suchfeld, ohne jegliche Anpassungen über <em>CSS</em>, aussehen:</p> <form action="https://duckduckgo.com/" method="post"> <input type="hidden" name="kl" value="de-de"/> <input type="hidden" name="kp" value="1"/> <input type="hidden" name="kh" value="1"/> <input type="hidden" name="sites" value="blog.mdosch.de"/> <input type="text" name="q" size="30" maxlength="255" placeholder="DuckDuckGo-Suche"/> <input type="submit" value="Suchen"/> </form> <p>Mal schauen ob ich Lust dazu finde meinen Blog mit einem Suchfeld zu verunstalten. :D</p> Mon, 22 Sep 2014 19:03:00 GMT tag:blog.mdosch.de,2014-09-22:/2014/09/22/suchfeld-fuer-den-eigenen-blog Kneipen und Clubs in München: Strom https://blog.mdosch.de/2014/09/21/kneipen-und-clubs-in-muenchen-strom/ <p>Kürzlich wurde ich von nem Kumpel ins <a href="http://www.strom-muenchen.com/">Strom</a> geschleppt. Dort fand eine Pary statt, die als <em>Hardcore</em> bezeichnet wurde. Sie war fernab von Hardcore, stattdessen kamen diverse Rock- und Metal-Klassiker und auch coole Musik aus anderen Genres. U.a. wurde <em>LaBrassBanda</em> gespielt, aber auch <em>Johnny Cash</em> und <em>Creedence Clearwater Revival</em> kamen zum Zug. <br /> Als <em>Death-Metal</em>-Fan war ich zuerst skeptisch ob ich auf diese Party gehen soll. Aber da jede Menge Rock/Metal-Klassiker gespielt wurden, die man immer hören kann und auch cooles Zeug wie <em>CCR</em> oder <em>Johnny</em> hatte ich dort auf jeden Fall meinen Spass. <br /> Die Leute im <em>"Club"</em> waren auch alle recht cool drauf und das Ambiente war durchaus angenehm. Ich denke in Zukunft werde ich öfter mal im <em>Strom</em> vorbei schauen. <br /> Das <em>Strom</em> ist ein nettes Zwischending zwischen Club und Kneipe. Dass dort auch Musik abseits des Elektro-Mainstreams gespielt wird und man auch als Rock/Metal-Fan einen schönen Abend haben kann macht es zu einer der Perlen in München.</p> Sat, 20 Sep 2014 22:24:00 GMT tag:blog.mdosch.de,2014-09-21:/2014/09/21/kneipen-und-clubs-in-muenchen-strom Code-Schnippsel: Upload-Script (SSH) https://blog.mdosch.de/2014/09/20/code-schnippsel-upload-script-ssh/ <p>Ich habe <a href="https://blog.mdosch.de/2014/01/17/upload-script-fuer-den-eigenen-webspace/">hier</a> schon mal ein kleines Script zum automatischen Upload von Dateien auf einen Webserver vorgestellt. Mittlerweile habe ich das um ein paar Funktionen erweitert. <br /> Da ich kein <em>Bash</em>- oder <em>Linux</em>-Profi bin gilt natürlich vorsichtig zu sein. Für mich funktioniert das Script aber seit einer Weile ohne Probleme. <!-- break --></p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="c1"># License GPL v3 or later</span> <span class="c1"># https://www.gnu.org/copyleft/gpl.html</span> <span class="nv">ZIELPFAD</span><span class="o">=</span><span class="s1">&#39;Zielpfad auf dem Server eingeben&#39;</span> <span class="nv">KONTO</span><span class="o">=</span><span class="s1">&#39;z.B. user@example.com&#39;</span> <span class="nv">URL</span><span class="o">=</span><span class="s1">&#39;user.example.com&#39;</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$#</span> -ne <span class="m">1</span> <span class="o">]</span> <span class="o">||</span> <span class="o">[</span> <span class="nv">$1</span> <span class="o">=</span> <span class="nb">help</span> <span class="o">]</span> <span class="k">then</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$#</span> -eq <span class="m">2</span> <span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="o">[</span> <span class="nv">$1</span> <span class="o">=</span> delete <span class="o">]</span> <span class="k">then</span> <span class="nv">EINGABE</span><span class="o">=</span><span class="k">$(</span><span class="nb">printf</span> %q <span class="nv">$2</span><span class="k">)</span> <span class="nv">NAME</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$EINGABE</span><span class="k">)</span> <span class="nb">echo</span> <span class="s2">&quot;Anzeige der gefundenen Treffer:&quot;</span> ssh <span class="nv">$KONTO</span> -t <span class="s2">&quot;find </span><span class="nv">$ZIELPFAD</span><span class="s2"> -name </span><span class="nv">$NAME</span><span class="s2">&quot;</span> <span class="nb">read</span> -s -p <span class="s2">&quot;Soll(en) die Datei(en) gelöscht werden? (j/N)&quot;</span> -N <span class="m">1</span> ANTWORT <span class="k">if</span> <span class="o">[</span> -z <span class="nv">$ANTWORT</span> <span class="o">]</span> <span class="k">then</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$ANTWORT</span> !<span class="o">=</span> <span class="s2">&quot;j&quot;</span> <span class="o">]</span> <span class="k">then</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="nb">echo</span> <span class="s2">&quot;&quot;</span> <span class="c1">#Kosmetik</span> ssh <span class="nv">$KONTO</span> -t <span class="s2">&quot;find </span><span class="nv">$ZIELPFAD</span><span class="s2"> -name </span><span class="nv">$NAME</span><span class="s2"> -delete&quot;</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="nv">PROGRAMM</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$0</span><span class="k">)</span> <span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$PROGRAMM</span><span class="s2"> - ein einfaches Uploadscript.&quot;</span> <span class="nb">echo</span> <span class="nb">echo</span> <span class="s2">&quot;Benutzung:&quot;</span> <span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$PROGRAMM</span><span class="s2"> Datei - lädt die Datei auf den Server&quot;</span> <span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$PROGRAMM</span><span class="s2"> delete Datei - löscht die Datei vom Server&quot;</span> <span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$PROGRAMM</span><span class="s2"> help - Hilfe&quot;</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="nv">EINGABE</span><span class="o">=</span><span class="k">$(</span><span class="nb">printf</span> %q <span class="nv">$1</span><span class="k">)</span> <span class="nv">PFAD</span><span class="o">=</span><span class="k">$(</span>realpath <span class="nv">$EINGABE</span><span class="k">)</span> <span class="nv">NAME</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$EINGABE</span><span class="k">)</span> <span class="nv">DATE</span><span class="o">=</span><span class="k">$(</span>date +%Y-%m<span class="k">)</span> <span class="k">if</span> <span class="o">[</span> -z <span class="nv">$PFAD</span> <span class="o">]</span> <span class="k">then</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="k">if</span> ssh <span class="nv">$KONTO</span> <span class="nb">test</span> -e <span class="se">\&#39;</span><span class="nv">$ZIELPFAD</span>/<span class="nv">$DATE</span>/<span class="nv">$NAME</span><span class="se">\&#39;</span> <span class="k">then</span> <span class="nb">echo</span> Datei ist schon vorhanden und wurde nicht überschrieben. <span class="k">else</span> rsync -avP --ignore-existing <span class="nv">$PFAD</span> <span class="nv">$KONTO</span>:<span class="se">\&#39;</span><span class="nv">$ZIELPFAD</span>/<span class="nv">$DATE</span>/<span class="se">\&#39;</span> ssh <span class="nv">$KONTO</span> -t <span class="s2">&quot;chmod 755 </span><span class="nv">$ZIELPFAD</span><span class="s2">/</span><span class="nv">$DATE</span><span class="s2">/</span><span class="nv">$NAME</span><span class="s2">&quot;</span> <span class="nb">echo</span> <span class="s2">&quot;&quot;</span> <span class="c1"># Kosmetik</span> <span class="nb">echo</span> Gespeichert unter: <span class="nv">$URL</span>/<span class="nv">$DATE</span>/<span class="nv">$NAME</span> <span class="k">fi</span> </pre></div> </td></tr></table> Sat, 20 Sep 2014 18:53:00 GMT tag:blog.mdosch.de,2014-09-20:/2014/09/20/code-schnippsel-upload-script-ssh Website im Internet Explorer überprüfen https://blog.mdosch.de/2014/09/20/website-im-internet-explorer-ueberpruefen/ <p>Wie ich meinen Seiten-Zugriffen entnehmen kann nutzt die Mehrzahl der Leute, die sich auf meinen Blog verirren, kein Windows. Hat man eine Webseite möchte man natürlich, dass diese in allen Browsern halbwegs vernünftig angezeigt wird. <br /> Ich persönlich habe seit 2003 kein Windows mehr installiert und kann also nicht nachvollziehen wie mein Blog vom <em>Internet Explorer</em> dargestellt wird (es sei denn ich greife in der Mittagspause von meinem Arbeitsrechner auf meinen Blog zu). Um die Darstellung der Homepage im <em>IE</em> zu überprüfen ist der <a href="http://netrenderer.de">Netrenderer</a> ganz praktisch. Dort kann man die <em>URL</em> eingeben, die gewünschte <em>IE</em>-Version auswählen und erhält ein Bild der Startseite, wie sie mit dem <em>Internet Explorer</em> gerendert würde. Beim Testen mit dem <em>Netrenderer</em> fiel mir z.B. auf, dass bis <em>IE 8</em> der <a href="http://osbn.de">OSBN</a>-Link kaputt ist. Da aber alle <em>Windows</em>-Betriebssysteme ab <em>Windows 7</em> den <em>IE 9</em> bereitstellen mache ich mir darüber keine Gedanken. Irgendwann muss man alte Zöpfe abschneiden und die Zeiten, als man Webseiten mit fiesen Hacks für den <em>IE 6</em> präparieren musste sind zum Glück längst vorbei.</p> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/netrenderer.png"><img alt="Netrenderer" src="https://blog.mdosch.de//files.mdosch.de/2014-09/netrenderer.png"/></a></p> Sat, 20 Sep 2014 18:40:00 GMT tag:blog.mdosch.de,2014-09-20:/2014/09/20/website-im-internet-explorer-ueberpruefen Code-Schnippsel: Dateien automatisch in Unterordner verschieben https://blog.mdosch.de/2014/09/20/code-schnippsel-dateien-automatisch-in-unterordner-verschieben/ <p>Auf meinem Server, der hauptsächlich für Backups dient, habe ich einen Samba-Share eingerichtet auf dem u.a. meine Filmsammlung liegt. Bisher habe ich im Samba-Share <em>Videos</em> einfach direkt die Filme abgelegt, aber nun kamen auch einige Serien dazu, die natürlich in einen eigenen Ordner verfrachtet wurden. Die Serienordner sind zusätzlich noch in Unterordner er jeweiligen Staffeln untergliedert.</p> <p>Nun hatte ich Filme direkt im <em>root</em> und Serien in Unterordnern. Das gefiel mir nicht, also wollte ich meine Filme ebenfalls in Unterordner verschieben. Meine Filmsammlung ist zwar nicht rießig, aber manuell Unterordner zu erstellen und die Dateien zu verschieben ist eine Strafarbeit, die ich mir nicht antun wollte. Ergo: Ich habe mir ein kleines Script zusammengestümpert. Vielleicht kann es ja mal jemand brauchen. Sollte es dafür ein Tool geben und ich habe mir umsonst Gedanken über die Lösung gemacht (im Endeffekt war es ja recht einfach zu lösen, wie man am Script sehen kann), wäre ich natürlich über einen Hinweis dankbar. ;)</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="nv">EXTENSIONS</span><span class="o">=</span><span class="s2">&quot;.mkv .avi .mpg .mp4&quot;</span> <span class="k">for</span> EXTENSION in <span class="nv">$EXTENSIONS</span> <span class="k">do</span> <span class="k">for</span> VIDEO in <span class="k">$(</span>ls *<span class="nv">$EXTENSION</span><span class="k">)</span> <span class="k">do</span> mkdir <span class="k">$(</span>basename <span class="nv">$VIDEO</span> <span class="nv">$EXTENSION</span><span class="k">)</span> <span class="o">&amp;&amp;</span> mv <span class="nv">$VIDEO</span> <span class="k">$(</span>basename <span class="nv">$VIDEO</span> <span class="nv">$EXTENSION</span><span class="k">)</span> <span class="k">done</span> <span class="k">done</span> </pre></div> </td></tr></table> Sat, 20 Sep 2014 18:00:00 GMT tag:blog.mdosch.de,2014-09-20:/2014/09/20/code-schnippsel-dateien-automatisch-in-unterordner-verschieben Social-Media jetzt als einfache Textlinks https://blog.mdosch.de/2014/09/20/social-media-jetzt-als-einfache-textlinks/ <p>Vor kurzem hatte ich die Social-Media-Buttons von heise <a href="https://blog.mdosch.de/2014/09/07/2-klicks-fuer-mehr-datenschutz/">eingebunden</a>. Diese habe ich nach einer kurzen Phase durch einfache Textlinks ersetzt, da diese den Zweck ebenfalls erfüllen und ich nicht unnötig Scripte einbinden möchte.</p> <p>Da ich selbst kein <em>Facebook</em>, <em>Google+</em> oder <em>Twitter</em> nutze wäre ich dankbar wenn mir Nutzer dieser Netzwerke Feedback über die Funktion geben könnten. Ich denke vor dem Teilen wird eh noch mal nach einer Bestätigung gefragt, also kann man die Funktion vermutlich auch testen ohne den Link wirklich durch die Gegend zu schicken.</p> Sat, 20 Sep 2014 17:50:00 GMT tag:blog.mdosch.de,2014-09-20:/2014/09/20/social-media-jetzt-als-einfache-textlinks blog.mdosch.de: Valides HTML https://blog.mdosch.de/2014/09/20/blog-mdosch-de-valides-html/ <p>Seit ich auf <a href="http://posativ.org/acrylamid/">Acrylamid</a> umgestiegen bin wurden mir jede Menge Fehlermeldungen um die Ohren gehauen, wenn ich meinen Blog dem <a href="http://validator.w3.org/">HTML-Validator</a> vor die Füße warf. <br /> Ob das Standard-Theme von <em>Acrylamid</em> nicht HTML-konform ist oder ob ich beim Anpassen des Themes etwas verbogen habe weiß ich nicht. Ich vermute aber letzteres. ;)</p> <p>Heute habe ich mir mal die Zeit genommen und bin den Fehlermeldungen des Validators nachgegangen und habe versucht sie zu beheben. Das ist mir auch gelungen, nur leider nicht ohne kleine Veränderungen in der Optik der Seite.</p> <p>Es sieht zwar leicht verändert, meiner Meinung nach aber nicht schlechter als zuvor aus, von daher werte ich die Aktion als Erfolg. <br /> Der Validator sagt derzeit: <a href="http://validator.w3.org/check?uri=blog.mdosch.de"><em>Result: Passed, 1 warning(s)</em></a></p> Fri, 19 Sep 2014 23:59:00 GMT tag:blog.mdosch.de,2014-09-20:/2014/09/20/blog-mdosch-de-valides-html Meine Gnome-Shell Extensions https://blog.mdosch.de/2014/09/19/meine-gnome-shell-extensions/ <p>Ich nutze mittlerweile die <a href="http://gnome.org">Gnome-Shell</a> (früher nutzte ich Gnome2, kurz KDE3, länger XFCE, länger Fluxbox, ganz kurz KDE4, testweise E16) und mag die Gnome-Shell (aka Gnome3) recht gerne. Entgegen den ganzen Rants im Netz finde ich, dass man die Gnome-Shell effizienter nutzen kann als Gnome 2. <br /> Ich möchte die dynamischen Workspaces nicht mehr missen und mag, dass sich die Gnome-Shell gut mit der Tastatur bedienen lässt. Hatte ich unter Gnome2 noch immer eine Maus dabei, so kann ich diese seit der Gnome-Shell getrost zu Hause lassen. Eigentlich stöpsel ich nicht mal mehr zu Hause eine Maus an. Das Argument die Gnome-Shell sei <em>für Touchpanels</em> oder <em>kleine Bildschirme</em> konzipiert kann ich also nicht nachvollziehen (habe ein Notebook mit 15,4" Display und einer Auflösung von 1920x1080).</p> <p>Soviel zur Gnome-Shell im Allgemeinen. Womit viele Kritiker aber Recht haben ist, dass die Gnome-Shell nicht mehr alle Funktionen von Gnome2 zur Verfügung stellt. Die Gnome-Shell liefert quasi eine Basis und stellt eine Schnittstelle für Erweiterungen bereit, damit man sich nach eigenem Gusto <a href="http://extensions.gnome.org">Erweiterungen</a> installieren kann. <br /> Mittlerweile haben sich bei mir ein paar Standard-Erweiterungen herauskristallisiert, die ich sofort nachinstalliere wenn ich ein neues Gerät einrichte, da sie für mich einfach <em>dazu gehören</em>.</p> <p>Das sind:</p> <ul> <li><a href="https://extensions.gnome.org/extension/6/applications-menu/">Applications Menu</a> <br /> Ich fand es schade, dass irgendwann in der Gnome-Shell das Anwendungsmenü abgeschafft wurde. Im Normalfall bin ich zwar durch Drücken der Super-Taste und Tippen des Namens schneller. Ab und an weiß man aber bei erst kürzlich installierten Anwendungen den Namen nicht. Da ist es praktisch sich durch das Menü durchhangeln zu können.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/applications-menu.png"><img alt="Applications Menu" src="https://blog.mdosch.de//files.mdosch.de/2014-09/applications-menu.png"/></a></p> <ul> <li><a href="https://extensions.gnome.org/extension/751/audio-output-switcher/">Audio Output Switcher</a> <br /> Ich habe in der Küche ein Paar kleine USB-Boxen stehen, die zwar nicht den besten Klang bringen, aber die integrierten Laptop-Lautsprecher bei weitem übertrumpfen. Im Wohnzimmer schließe ich einen USB-DAC an, an dem mein Verstärker und an diesem meine Lautsprecher hängen. Außerdem nutze ich die integrierten Lautsprecher meines Notebooks, wenn ich unterwegs bin. D.h. ich wechsle öfters das Ausgabegerät. Meistens macht <em>pulseaudio</em> das selbstständig, aber manchmal funktioniert der Wechsel nicht. Da ist die Extension <em>Audio Output Switcher</em> ganz hilfreich, da ich bequem über das Menu umschalten kann und nicht in die Einstellungen wechseln muss.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/audio-chooser.png"><img alt="Audio Output Chooser" src="https://blog.mdosch.de//files.mdosch.de/2014-09/audio-chooser.png"/></a></p> <ul> <li><a href="https://extensions.gnome.org/extension/517/caffeine/">Caffeine</a> <br /> Manchmal möchte man nicht, dass der Bildschirm abdunkelt, das Laptop in Standby geht oder der Bildschirmschoner anspringt. Schaut man Filme mit einem Mediaplayer werden diese Funktionen automatisch deaktiviert. Bei Flash-Videos im Internet funktioniert das nicht immer. Hier hilft die Extension <em>Caffeine</em>. Bei mir aktiviert sie sich automatisch, sobald ein Video im Vollbild dargestellt wird (auch bei Flash-Videos von Webseiten), kann aber auch manuell durch Klick auf das Kaffee-Tassen-Symbol aktiviert werden.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/caffeine.png"><img alt="Caffeine" src="https://blog.mdosch.de//files.mdosch.de/2014-09/caffeine.png"/></a></p> <ul> <li><a href="https://extensions.gnome.org/extension/752/gpaste-integration/">GPaste-Integration</a> <br /> Häufig möchte man etwas einfügen und wundert sich, weil nicht eingefügt wird was man einzufügen beabsichtigte. Nach kurzer Verwirrung wird klar, dass man in der Zwischenzeit etwas anderes in die Zwischenablage kopiert hat. In diesem Fall öffne ich die <a href="https://packages.debian.org/search?keywords=gpaste">GPaste</a>-Integration in Gnome3 und wähle den entsprechenden Eintrag in der Historie.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/gpaste.png"><img alt="GPaste-Integration" src="https://blog.mdosch.de//files.mdosch.de/2014-09/gpaste.png"/></a></p> <ul> <li><a href="https://extensions.gnome.org/extension/55/media-player-indicator/">Media Player Indicator</a> <br /> Nicht essentiell, aber eine nette Spielerei auf die ich nicht mehr verzichten möchte. Im Menü wird das aktuell gespielte Stück angezeigt. Durch Klick auf den Namen des Mediaplayers wird dieser geöffnet. Man kann in diesem Menü auch direkt die Wiedergabe stoppen oder pausieren, sowie ein Lied vor- oder zurückspringen.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/media-player.png"><img alt="Media Player Indicator" src="https://blog.mdosch.de//files.mdosch.de/2014-09/media-player.png"/></a></p> <ul> <li><a href="https://extensions.gnome.org/extension/750/openweather/">OpenWeather</a> <br /> Ein Wetter-Plugin der schicken Sorte. :) <br /> <strong>Nachtrag:</strong> Es wird ein <a href="http://www.openweathermap.org/appid">API-Key</a> benötigt.</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/weather.png"><img alt="OpenWeather" src="https://blog.mdosch.de//files.mdosch.de/2014-09/weather.png"/></a></p> <ul> <li><a href="https://packages.debian.org/search?keywords=gnome-shell-timer">Timer</a> <br /> Wenn ich gerade Essen im Ofen habe und weiß, dass ich in nächster Zeit am Rechner sitze stelle ich gerne den <em>Gnome-Shell-Timer</em>, statt einer normalen Küchenuhr oder eines Timers im Handy. Ich sehe dann rechts oben in der Gnome-Shell den <em>Countdown</em> ablaufen und sobald die Zeit abgelaufen ist, wird die Oberfläche abgedunkelt und ich muss den Ablauf quittieren bevor ich weiter arbeiten kann. Es besteht also keine Gefahr, dass meine Pizza verbrennt weil ich von einer interessanten Webseite oder dem Umbau eines Scriptes gebannt bin. :)</li> </ul> <p><a href="https://blog.mdosch.de//files.mdosch.de/2014-09/timer.png"><img alt="Timer" src="https://blog.mdosch.de//files.mdosch.de/2014-09/timer.png"/></a></p> <p>So, das war eine kurze Vorstellung der von mir präferierten Erweiterungen. <strong>Was sind für euch unverzichtbare Erweiterungen?</strong></p> Fri, 19 Sep 2014 20:05:00 GMT tag:blog.mdosch.de,2014-09-19:/2014/09/19/meine-gnome-shell-extensions Acer C720: Debian Kernel 3.17-rc4 https://blog.mdosch.de/2014/09/14/acer-c720-debian-kernel-3-17-rc4/ <p>Ich habe heute mal einen neuen Kernel für das Acer C720 gebaut. Der Kernel kann mittlerweile direkt aus den Quellen gebaut werden, da ab 3.17-rc1 die Touchpad-Patches direkt im Kernel integriert sind.</p> <p>Der Kernel kann wieder <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <div class="highlight"><pre><span></span>md5sum linux-image-3.17.0-rc4-c720_20140914_amd64.deb 1d1a93c9b8408e37da2161c7b1835be3 linux-image-3.17.0-rc4-c720_20140914_amd64.deb sha1sum linux-image-3.17.0-rc4-c720_20140914_amd64.deb 75ac3fd13dcc96f93bb7ea3a2b59dc662bed1729 linux-image-3.17.0-rc4-c720_20140914_amd64.deb </pre></div> Sun, 14 Sep 2014 16:21:00 GMT tag:blog.mdosch.de,2014-09-14:/2014/09/14/acer-c720-debian-kernel-3-17-rc4 Acer Chromebook C720: Legacy Boot dauerhaft aktivieren https://blog.mdosch.de/2014/09/14/acer-chromebook-c720-legacy-boot-dauerhaft-aktivieren/ <p>Nachdem ich mein <a href="http://blog.mdosch.de/2013/12/04/debian-gnulinux-auf-dem-chromebook-acer-c720-installieren/">Acer C720</a> mehrere Wochen nicht benutzte stand ich vor dem Problem, dass ich nicht mehr in den Legacy-Modus zum booten kam. Scheinbar ging die Einstellung verloren als der Akku länger entladen war und ich konnte mein Debian nicht mehr booten.</p> <p>Jetzt habe ich <a href="http://www.circuidipity.com/c720-sidbook.html">hier</a> einen Weg gefunden den Legacy-Modus dauerhaft zu aktivieren (Abschnitt 2.1) und hoffe, dass mir das dann nicht mehr passiert. Der Vorteil der neuen Lösung: Ich spare mir das Gehampel mit <em>Strg+L</em> bei jedem Booten. Der Nachteil: <strong>Durch das Öffnen des C720 erlischt die Garantie!</strong></p> <p>Vorgehensweise in groben Zügen:</p> <ul> <li><em>ChromeOS</em> <a href="https://support.google.com/chromebook/answer/1080595?hl=en">wiederhergestellt</a> (<strong>Datenverlust</strong>)</li> <li>Alle Schrauben der Unterseite entfernen und Deckel vorsichtig abnehmen (<strong>Garantieverlust!</strong>)</li> <li>Schreibschutz-Schraube entfernen (<a href="http://www.circuidipity.com/images/c720-chromebook-annotated-innards.png">Schraube 7</a>)</li> <li>Developer-Modus aktivieren<ul> <li><code>ESC + F3</code> gedrückt halten und Powerbutton drücken</li> <li>Die Nachfolgenden Fragen und Warnungen mit <code>CTRL + D</code> quittieren</li> </ul> </li> <li>Nachdem <em>ChromeOS</em> gebootet hat: Terminal mit <code>ALT + CTRL + F2</code> öffnen</li> <li>Als <code>chronos</code> einloggen (kein Passwort)</li> <li>Mit <code>sudo su</code> zum Superuser werden</li> <li>Einstellungen schreiben: <code>/usr/share/vboot/bin/set_gbb_flags.sh 0x489</code></li> <li>C720 herunterfahren: <code>shutdown -h now</code></li> <li>Schreibschutz-Schraube einschrauben</li> <li>Deckel wieder aufsetzen und alle Schrauben anziehen</li> <li>Debian von einem <a href="https://www.debian.org/releases/stable/amd64/ch04s03.html.de#usb-copy-isohybrid">USB-Stick installieren</a></li> </ul> <p>Das Schöne ist, dass die Patches für das Touchpad des <em>Acer C720</em> ab Version <a href="http://blog.mdosch.de/2014/09/14/acer-c720-debian-kernel-3-17-rc4/">3.17-rc1</a> direkt im Kernel enthalten sind. D.h. man muss keinen Kernel mehr patchen, sondern muss ihn nur kompilieren.</p> Sun, 14 Sep 2014 12:25:00 GMT tag:blog.mdosch.de,2014-09-14:/2014/09/14/acer-chromebook-c720-legacy-boot-dauerhaft-aktivieren Codeschnippsel: Prozentsatz der FLAC-Dateien ermitteln https://blog.mdosch.de/2014/09/14/codeschnippsel-prozentsatz-der-flac-dateien-ermitteln/ <p>Seit einiger Zeit rippe ich meine CDs nur noch als FLAC <em>(Free Lossless Audio Codec)</em>, da ich CD-Qualität haben möchte, wenn ich schon für die CD bezahlt habe. Ob ich den Unterschied zu guten MP3s wirklich hören kann oder nicht ist mir dabei egal, ich möchte prinzipiell die beste Qualität haben. Außerdem kostet Speicherplatz ja kaum noch Geld. <br /> Da ich aber teilweise auch MP3s gekauft habe und einige CDs meiner Sammlung beschädigt und nicht mehr zu rippen waren geistern auch noch viele andere Dateien in meiner Sammlung herum. Heute wollte ich mal wissen zu welchem Prozentsatz meine Sammlung denn aus FLAC-Dateien besteht. Unter Linux kann man sowas ja recht einfach lösen, indem man ein kleines Script schreibt:</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="nv">MUSIKSAMMLUNG</span><span class="o">=</span>~/Musik/ <span class="nv">FLAC</span><span class="o">=</span><span class="k">$(</span>find <span class="nv">$MUSIKSAMMLUNG</span> -iname <span class="s1">&#39;*.flac&#39;</span> <span class="p">|</span> wc -l<span class="k">)</span> <span class="nv">OTHER</span><span class="o">=</span><span class="s2">&quot;mp3 ogg m4a&quot;</span> <span class="nv">GESAMT</span><span class="o">=</span><span class="nv">$FLAC</span> <span class="k">for</span> EXT in <span class="nv">$OTHER</span> <span class="k">do</span> <span class="nv">GESAMT</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="nv">$GESAMT</span> + <span class="k">$(</span>find <span class="nv">$MUSIKSAMMLUNG</span> -iname <span class="s2">&quot;*.</span><span class="nv">$EXT</span><span class="s2">&quot;</span> <span class="p">|</span> wc -l<span class="k">)</span> <span class="p">|</span> bc<span class="k">)</span> <span class="k">done</span> <span class="nv">VERHAELTNIS</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$FLAC</span><span class="s2"> * 100 / </span><span class="nv">$GESAMT</span><span class="s2">&quot;</span> <span class="p">|</span> bc<span class="k">)</span> <span class="nb">echo</span> <span class="s2">&quot;</span><span class="nv">$VERHAELTNIS</span><span class="s2"> Prozent FLAC.&quot;</span> </pre></div> </td></tr></table> <p>Das Ergebnis war mit 43% leider etwas enttäuschend, aber da ich nur noch selten MP3-Downloads kaufe (ich hab halt auch gern die CD physisch im Regal stehen) wird sich der Wert auch noch bessern. :)</p> Sun, 14 Sep 2014 00:03:00 GMT tag:blog.mdosch.de,2014-09-14:/2014/09/14/codeschnippsel-prozentsatz-der-flac-dateien-ermitteln Antwort auf: "Liebe Blogger – macht es euren Lesern leichter!" https://blog.mdosch.de/2014/09/11/antwort-auf-liebe-blogger-macht-es-euren-lesern-leichter/ <p>Da er keine Kommentare anbietet antworte ich Dominik hier auf seinen <a href="http://do-s.de/Blogger-macht-es-euren-Lesern-leichter/">Blogeintrag</a>.</p> <p>In seinem Beitrag <em>"Liebe Blogger – macht es euren Lesern leichter!"</em> plädiert er dafür Blogs etwas simpler zu gestalten und unnötige Funktionen zu reduzieren. <br /> Da es natürlich höchst subjektiv ist was als <em>unnötig</em> empfunden wird wollte ich zu ein paar Punkten auch noch meinen Senf hinzugeben:</p> <blockquote> <p>Kommentarsystem (dazu später mehr)</p> <p>(...)</p> <p>Kommentare machen viele Blogs aus. Das kann positiv, aber auch negativ gemeint sein. Es ist auch eine persönliche Entscheidung, ob man öffentlich angeschrieben werden möchte. Je nach Thema kann das heikel oder unnötig sein. Der Betreiber muss sich auch um Kommentare kümmern. Moderieren, Antworten, Verantwortung tragen. Unter Wordpress hat man zusätzlich ein richtig nerviges Spam-Problem an der Backe.</p> <p>Ich glaube bei persönlichen Blogs sind Kommentare generell unnötig. Deswegen habe ich mich auf meinem Blog auch dagegen entschieden. Mein Blog ist persönlich und die Kommunikation mit den Lesern soll es auch sein. Unter den Artikeln ist ein kleines Mail-Symbol. Klickt der Leser, wird direkt eine Mail mit dem entsprechenden Betreff geöffnet. So kann ich die Mail zuordnen und animiere vielleicht auch den ein oder anderen zu schreiben. Für mich ist ein Mail-Austausch eine persönlichere, angenehmere Kommunikation bei der keine ungewollte Dynamik oder Off-Topic-Debatten entstehen können.</p> <p>Möchte sich jemand öffentlich zu meinem Geschreibsel äußern, kann er das ja auch gerne auf seinem Blog machen. Das würde ich begrüßen. Mein eigenes Haus halte ich aber lieber sauber.</p> </blockquote> <p>Ich finde Kommentare in einem Blog sehr nützlich, da man häufig interessante Anregungen oder auch Hinweise auf Fehler bekommt. Daher möchte ich die Hemmschwelle Feedback zu geben möglichst gering halten. Kaum jemand möchte extra einen Blogpost als Antwort verfassen und vielen ist es auch zu aufwändig eine Email zu schreiben. <br /> Von meiner Seite aus gilt also: Ja, Kommentare sind wichtig!</p> <blockquote> <p>Kategorien</p> </blockquote> <p>Finde ich auch unnötig.</p> <blockquote> <p>Tags (und Tag-Clouds)</p> </blockquote> <p>Tags finde ich praktisch, da ich häufig schaue was der Verfasser eines Blogposts denn sonst noch so zu dem Thema geschrieben hat.</p> <blockquote> <p>Chronologisches Archiv (inklusive Kalender-Widget… ooh yeah!)</p> </blockquote> <p>Ein Archiv gibt es hier auch, das möchte ich auch beibehalten. Ein Kalender-Widget wäre mir aber auch zu viel des Guten.</p> <blockquote> <p>Unterstützung für mehrere Autoren (inklusive Autorenprofile)</p> </blockquote> <p>Das ist mein persönlicher Blog von daher bin ich der einzige Autor. :)</p> <blockquote> <p>Top-Listen (beliebteste Artikel, neueste Kommentare…)</p> </blockquote> <p>Finde ich auch unnötig.</p> <blockquote> <p>Link zum Backend (WP-Admin)</p> </blockquote> <p>Da ich kein Wordpress mehr nutze für mich irrelevant. ;)</p> <blockquote> <p>Suchfunktion (vielleicht reicht die Suche im Browser?)</p> </blockquote> <p>Auf der aktuellen Seite genügt die Funktion des Browsers, aber wenn man den kompletten Blog durchsuchen möchte halt nicht. Aber ich denke die meisten können eine Suchmaschine bedienen. Das macht die Suche dann schon unnötig. Für mehr Komfort kann man aber durchaus ein Suchfeld auf der Seite einbetten.</p> <blockquote> <p>Blogroll (ein klassischer Fall für die About-Seite. Haltet die Sidebar sauber oder löscht sie am besten).</p> </blockquote> <p>Empfinde ich auch als unnötig.</p> <blockquote> <p>Feed-Button (Feed natürlich, aber jeder der RSS/Atom zu benutzen weiß, braucht keinen Extra-Button. Ja, ich habe einen…)</p> </blockquote> <p>Verstehe ich nicht. Der Leser sollte doch erfahren dürfen unter welcher Adresse der Feed zu finden ist.</p> <blockquote> <p>Und natürlich: Twitter-Streams, Facebook-Box, Share-Buttons, Follow-Buttons und generell Buttons für irgendwas</p> </blockquote> <p>Brauche ich auch nicht, aber viele teilen wohl gerne Links über diese Netzwerke also biete ich ihnen diese Buttons an.</p> <blockquote> <p>Addons! Zwar nicht unbedingt sichtbar für die Leser, aber weniger Addons bedeutet erhöhte Sicherheit und oft auch mehr Datensparsamkeit. Kein persönliches Blog braucht detaillierte Statistiken oder gespeicherte IPs.</p> </blockquote> <p>Seit ich einen statischen Blog betreibe ist das Thema AddOns natürlich auch durch. :)</p> Thu, 11 Sep 2014 20:59:00 GMT tag:blog.mdosch.de,2014-09-11:/2014/09/11/antwort-auf-liebe-blogger-macht-es-euren-lesern-leichter Die fish-shell https://blog.mdosch.de/2014/09/11/die-fish-shell/ <p>Gerade bin ich über <a href="http://fishshell.com/">fish</a> (<em>friendly interactive shell</em>) gestolpert, eine recht schicke Shell die ich in nächster Zeit mal probeweise benutzen werde. Bisher habe ich die <a href="http://blog.mdosch.de/2013/06/21/zsh-als-bash-ersatz/">ZSH</a> genutzt. <br /> Was mir bis jetzt positiv aufgefallen ist:</p> <ul> <li>Syntax-Highlightning während des Schreibens</li> <li>Gute Auto-Vervollständigung (ähnlich der ZSH)</li> <li>History wird bereits beim Tippen durchsucht (Strg+R entfällt)</li> <li>Fish kommt mir flotter als die ZSH vor</li> </ul> <p>Leider weicht die fish-Syntax von der gewohnten Bash-Syntax ab. Aber ich denke daran kann ich mich gewöhnen.</p> <h6>Installation</h6> <p>Unter Debian lässt sich fish einfach über die Paketverwaltung installieren:</p> <div class="highlight"><pre><span></span>apt-get install fish </pre></div> <h6>Einrichtung</h6> <p>Um fish zur Standard-Shell für den aktuellen Nutzer zu konfigurieren gibt man folgendes ein:</p> <div class="highlight"><pre><span></span>chsh -s $(which fish) </pre></div> <p>wenn man die Bash oder ZSH nutzt, bzw.</p> <div class="highlight"><pre><span></span>chsh -s (which fish) </pre></div> <p>wenn man schon fish nutzt.</p> <p>Will man den, meiner meiner Meinung nach nervigen, Willkommensgruß nach dem Start von fish deaktvieren kann man dies tun indem man </p> <div class="highlight"><pre><span></span>set fish_greeting </pre></div> <p>in die Datei <code>~/.config/fish/config.fish</code> einträgt.</p> <h5>Alias-Konfiguration</h5> <p>Aliase sind bei fish als Funktionen realisiert. Um einen Alias einzurichten legt man eine Datei mit der Endung <em>.fish</em> unter <code>~/.config/fish/functions/</code> ab.</p> <p>Beispiel:</p> <div class="highlight"><pre><span></span><span class="kd">function</span> <span class="nx">update</span><span class="p">;</span> <span class="nx">apt</span><span class="o">-</span><span class="nx">get</span> <span class="nx">update</span><span class="p">;</span> <span class="nx">and</span> <span class="nx">apt</span><span class="o">-</span><span class="nx">get</span> <span class="nx">dist</span><span class="o">-</span><span class="nx">upgrade</span> <span class="o">-</span><span class="nx">y</span><span class="p">;</span> <span class="nx">end</span> </pre></div> Thu, 11 Sep 2014 19:28:00 GMT tag:blog.mdosch.de,2014-09-11:/2014/09/11/die-fish-shell 2 Klicks für mehr Datenschutz https://blog.mdosch.de/2014/09/07/2-klicks-fuer-mehr-datenschutz/ <p>Ich selbst benutze zwar kein <em>Facebook</em>, <em>Google+</em> oder <em>Twitter</em> (mehr), aber da es doch einige gibt, die diese Dienste regelmäßig nutzen möchte ich diesen die Möglichkeit geben Blogbeiträge einfach zu teilen. Das darf nur nicht dazu führen, dass bei jedem Seitenaufruf automatisch Daten an diese Dienste übertragen werden und Leser, die diese Dienste nicht nutzen getrackt werden.</p> <p>Da kommt das Script von <a href="http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html">heise</a> ins Spiel. Es sorgt dafür, dass die Share-Buttons erst per Klick "scharf geschaltet" werden müssen. Bevor dies passiert werden keine Daten von diesen Seiten geladen. Das lässt sich leicht mit den Firefox-AddOns <a href="https://addons.mozilla.org/de/firefox/addon/requestpolicy/">RequestPolicy</a> oder <a href="https://addons.mozilla.org/de/firefox/addon/noscript/">NoScript</a> überprüfen.</p> <p><strong>[Update 2014-09-20]</strong> <br /> Ich habe die Buttons durch einfache <a href="https://blog.mdosch.de/2014/09/20/social-media-jetzt-als-einfache-textlinks/">Text-Links</a> ersetzt.</p> Sun, 07 Sep 2014 03:39:00 GMT tag:blog.mdosch.de,2014-09-07:/2014/09/07/2-klicks-fuer-mehr-datenschutz Syntax-Highlighting in Acrylamid https://blog.mdosch.de/2014/09/07/syntax-highlighting-in-acrylamid/ <p><em>Acrylamid</em> kann von Haus aus Syntax-Highlighting, jedoch wird das CSS Style um die Farben darzustellen nicht mit ausgeliefert.</p> <blockquote> <p><strong>Note:</strong> The css and/or javascript is not included as part of this extension but must be provided by the end user. The Pygments project provides default css styles which you may find to be a useful starting point.</p> </blockquote> <p><a href="https://pythonhosted.org/Markdown/extensions/code_hilite.html">CodeHilite</a></p> <p>Unter Debian habe ich einen CSS Style unter <code>/usr/share/doc/python-pexpect-doc/html/_static/pygments.css</code> gefunden.</p> <p>Dieser sieht so aus:</p> <div class="highlight"><pre><span></span> <span class="nt">cat</span> <span class="o">/</span><span class="nt">usr</span><span class="o">/</span><span class="nt">share</span><span class="o">/</span><span class="nt">doc</span><span class="o">/</span><span class="nt">python-pexpect-doc</span><span class="o">/</span><span class="nt">html</span><span class="o">/</span><span class="nt">_static</span><span class="o">/</span><span class="nt">pygments</span><span class="p">.</span><span class="nc">css</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">hll</span> <span class="p">{</span> <span class="k">background-color</span><span class="p">:</span> <span class="mh">#ffffcc</span> <span class="p">}</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">{</span> <span class="k">background</span><span class="p">:</span> <span class="mh">#eeffcc</span><span class="p">;</span> <span class="p">}</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">c</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#408090</span><span class="p">;</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Comment */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">err</span> <span class="p">{</span> <span class="k">border</span><span class="p">:</span> <span class="mi">1</span><span class="kt">px</span> <span class="kc">solid</span> <span class="mh">#FF0000</span> <span class="p">}</span> <span class="c">/* Error */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">k</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Keyword */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">o</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#666666</span> <span class="p">}</span> <span class="c">/* Operator */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">cm</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#408090</span><span class="p">;</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Comment.Multiline */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">cp</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span> <span class="p">}</span> <span class="c">/* Comment.Preproc */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">c1</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#408090</span><span class="p">;</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Comment.Single */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">cs</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#408090</span><span class="p">;</span> <span class="k">background-color</span><span class="p">:</span> <span class="mh">#fff0f0</span> <span class="p">}</span> <span class="c">/* Comment.Special */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gd</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#A00000</span> <span class="p">}</span> <span class="c">/* Generic.Deleted */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">ge</span> <span class="p">{</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Generic.Emph */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gr</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#FF0000</span> <span class="p">}</span> <span class="c">/* Generic.Error */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gh</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#000080</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Generic.Heading */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gi</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#00A000</span> <span class="p">}</span> <span class="c">/* Generic.Inserted */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">go</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#333333</span> <span class="p">}</span> <span class="c">/* Generic.Output */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gp</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#c65d09</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Generic.Prompt */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gs</span> <span class="p">{</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Generic.Strong */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gu</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#800080</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Generic.Subheading */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">gt</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#0044DD</span> <span class="p">}</span> <span class="c">/* Generic.Traceback */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kc</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Keyword.Constant */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kd</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Keyword.Declaration */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kn</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Keyword.Namespace */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kp</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span> <span class="p">}</span> <span class="c">/* Keyword.Pseudo */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kr</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Keyword.Reserved */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">kt</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#902000</span> <span class="p">}</span> <span class="c">/* Keyword.Type */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">m</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">s</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">na</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Name.Attribute */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nb</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span> <span class="p">}</span> <span class="c">/* Name.Builtin */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nc</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#0e84b5</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Class */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">no</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#60add5</span> <span class="p">}</span> <span class="c">/* Name.Constant */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nd</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#555555</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Decorator */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">ni</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#d55537</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Entity */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">ne</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span> <span class="p">}</span> <span class="c">/* Name.Exception */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nf</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#06287e</span> <span class="p">}</span> <span class="c">/* Name.Function */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nl</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#002070</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Label */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nn</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#0e84b5</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Namespace */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nt</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#062873</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Name.Tag */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">nv</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#bb60d5</span> <span class="p">}</span> <span class="c">/* Name.Variable */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">ow</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Operator.Word */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">w</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#bbbbbb</span> <span class="p">}</span> <span class="c">/* Text.Whitespace */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">mf</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number.Float */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">mh</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number.Hex */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">mi</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number.Integer */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">mo</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number.Oct */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sb</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String.Backtick */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sc</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String.Char */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sd</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span><span class="p">;</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Literal.String.Doc */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">s2</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String.Double */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">se</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span><span class="p">;</span> <span class="k">font-weight</span><span class="p">:</span> <span class="kc">bold</span> <span class="p">}</span> <span class="c">/* Literal.String.Escape */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sh</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String.Heredoc */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">si</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#70a0d0</span><span class="p">;</span> <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span> <span class="p">}</span> <span class="c">/* Literal.String.Interpol */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sx</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#c65d09</span> <span class="p">}</span> <span class="c">/* Literal.String.Other */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">sr</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#235388</span> <span class="p">}</span> <span class="c">/* Literal.String.Regex */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">s1</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#4070a0</span> <span class="p">}</span> <span class="c">/* Literal.String.Single */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">ss</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#517918</span> <span class="p">}</span> <span class="c">/* Literal.String.Symbol */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">bp</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#007020</span> <span class="p">}</span> <span class="c">/* Name.Builtin.Pseudo */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">vc</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#bb60d5</span> <span class="p">}</span> <span class="c">/* Name.Variable.Class */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">vg</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#bb60d5</span> <span class="p">}</span> <span class="c">/* Name.Variable.Global */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">vi</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#bb60d5</span> <span class="p">}</span> <span class="c">/* Name.Variable.Instance */</span> <span class="p">.</span><span class="nc">highlight</span> <span class="p">.</span><span class="nc">il</span> <span class="p">{</span> <span class="k">color</span><span class="p">:</span> <span class="mh">#208050</span> <span class="p">}</span> <span class="c">/* Literal.Number.Integer.Long */</span><span class="err">#</span> </pre></div> <p>In Farbe und bunt gefällt mir die Code-Darstellung auch gleich viel besser. :)</p> <p>Hier noch ein klassisches Code-Beispiel:</p> <div class="highlight"><pre><span></span>int main(void) { printf(&quot;Hello World\n&quot;); return 0; } </pre></div> Sun, 07 Sep 2014 02:19:00 GMT tag:blog.mdosch.de,2014-09-07:/2014/09/07/syntax-highlighting-in-acrylamid blog.mdosch.de jetzt statisch https://blog.mdosch.de/2014/09/07/blog-mdosch-de-jetzt-statisch/ <p>Ich habe es ja <a href="https://blog.mdosch.de/2014/02/01/blog-mdosch-de-bald-statisch/">hier</a> schon mal angedeutet, dass ich evtl. auf einen statischen Blog umsteigen werde. Jetzt habe ich nach langer Suche den Blog-Generator gefunden, der mir gefällt: <a href="http://posativ.org/acrylamid/">Acrylamid</a>. Ich habe zwischenzeitlich so einige getestet, z.B. <a href="http://jekyllrb.com/">Jekyll</a>, <a href="http://getnikola.com/">Nikola</a>, <a href="http://blog.getpelican.com/">Pelikan</a> und <a href="http://www.steve.org.uk/Software/chronicle/">Chronicle</a>, aber <em>Acrylamid</em> hat mir jetzt einfach gut gefallen.</p> <p>Ich habe auch einige, bzw. fast alle, der <a href="http://blog.mdosch.de/2014/01/16/wordpress-alternativen/">hier</a> vorgeschlagenen dynamischen Blogsysteme ausprobiert, aber keines hat mir so richtig zugesagt.</p> <p>Was mir an <em>Acrylamid</em> gefällt:</p> <ul> <li>Schreiben in <em>Markdown</em></li> <li>Kein langsames Webinterface</li> <li>(vermutl.) schnellere Seite</li> <li>Die Permalink-Struktur bleibt erhalten</li> </ul> <p>Einen Nachteil haben statische Blogs: Die Kommentare. Aber da konnte ich mir mit <a href="http://posativ.org/isso/">Isso</a> helfen.<!-- break --> <s>Leider ist da gerade noch ein Bug drin, denn die Kommentare werden derzeit nicht angezeigt. Aber ich denke das werde ich in nächster Zeit beheben können.</s> <em>Isso</em> habe ich nach <a href="http://blog.posativ.org/2014/isso-und-uberspace-de/">dieser</a> Anleitung problemlos einrichten können.</p> <p>Ich merke gerade, wie angenehm es ist in <a href="http://www.nano-editor.org/">nano</a> diesen Beitrag zu schreiben und nicht mit <em>Wordpress</em> herumhantieren zu müssen. Ich habe in letzter Zeit deswegen auch viel weniger geschrieben, da ich keine Lust mehr auf <em>Wordpress</em> hatte und die Zeit lieber genutzt habe um Alternativen zu testen.</p> <p>Es kann natürlich sein, dass der Blog sich in den nächsten Tagen noch ein bisschen verändert, da evtl. noch ein paar Kleinigkeiten anpasse. Generell bin ich aber mit dem aktuellen Stand sehr zufrieden. :)</p> <p><strong>[Update]</strong> <br /> Mittlerweile sollte die Kommentarfunktion problemlos funktionieren.</p> Sun, 07 Sep 2014 00:56:00 GMT tag:blog.mdosch.de,2014-09-07:/2014/09/07/blog-mdosch-de-jetzt-statisch Chromebook Acer C720: Debian GNULinux Kernel 3.14.12 https://blog.mdosch.de/2014/07/13/chromebook-acer-c720-debian-gnulinux-kernel-3-14-12/ <p>Nachdem ich aufgrund von Zeitmangel einige Versionen übersprungen habe gibt es heute einen neuen Debian-Kernel für das Chromebook Acer C720.</p> <p>Den aktuellen Kernel könnt ihr <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> herunterladen.</p> <div class="highlight"><pre><span></span>cat linux-image-3.14.12-c720_20140713_amd64.deb.md5 cadec75db8cfba021957b6372e019467  linux-image-3.14.12-c720_20140713_amd64.deb </pre></div> Sun, 13 Jul 2014 09:54:00 GMT tag:blog.mdosch.de,2014-07-13:/2014/07/13/chromebook-acer-c720-debian-gnulinux-kernel-3-14-12 Chromebook Acer C720: Debian GNULinux Kernel 3.14.7 https://blog.mdosch.de/2014/06/14/chromebook-acer-c720-debian-gnulinux-kernel-3-14-7/ <p>Der Kernel 3.14.7 für Debian Testing auf dem Acer C720 kann <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.<br /> Nach dem Entpacken kann mit<br /> <code>md5sum -c linux-image-3.14.7-c720_20140614_amd64.deb.md5</code><br /> überprüft werden, ob der Kernel korrekt heruntergeladen wurde.</p> <p><pre><code>cat linux-image-3.14.7-c720_20140614_amd64.deb.md5 57e6da7f280e30dcfac2887b68503962  linux-image-3.14.7-c720_20140614_amd64.deb</code></pre></p> Sat, 14 Jun 2014 14:08:00 GMT tag:blog.mdosch.de,2014-06-14:/2014/06/14/chromebook-acer-c720-debian-gnulinux-kernel-3-14-7 Chromebook Acer C720: Debian GNULinux Kernel 3.14.5 https://blog.mdosch.de/2014/06/06/chromebook-acer-c720-debian-gnulinux-kernel-3-14-5/ <p>Ich habe gerade einen neuen Linux-Kernel für das Acer C720 unter Debian Testing gebaut. Der Kernel kann wieder <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> <p>md5sum:<br /> <code>f54b39c8099e754f55f83eb15114a046  linux-image-3.14.5-c720_20140606_amd64.deb</code></p> Fri, 06 Jun 2014 09:11:00 GMT tag:blog.mdosch.de,2014-06-06:/2014/06/06/chromebook-acer-c720-debian-gnulinux-kernel-3-14-5 Chromebook Acer C720: Debian GNULinux Kernel 3.14.4 https://blog.mdosch.de/2014/05/14/chromebook-acer-c720-debian-gnulinux-kernel-3-14-4/ <p>Ich habe gerade einen neuen Linux-Kernel für das Acer C720 unter Debian Testing gebaut. Der Kernel kann wieder <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.</p> Wed, 14 May 2014 19:52:00 GMT tag:blog.mdosch.de,2014-05-14:/2014/05/14/chromebook-acer-c720-debian-gnulinux-kernel-3-14-4 Wahl-O-Mat: Europawahl 2014 https://blog.mdosch.de/2014/04/28/wahl-o-mat-europawahl-2014/ <p>Auch zur Europawahl 2014 gibt es wieder den <a href="https://www.wahl-o-mat.de/europawahl2014">Wahl-O-Mat</a>en.<br /> Ich habe ihn auch gleich mal gestartet, da er eine ganz gute Möglichkeit ist abzuschätzen mit welchen Parteien/Wahlprogrammen man sich näher beschäftigen sollte.</p> <p>Natürlich sollte man seine Entscheidung nicht nur auf den Wahl-O-Mat begründen, da er maximal Tendenzen aufzeigen kann.<br /> Was ich beim Wahl-O-Mat z.B. als schlecht empfinde ist, dass viele Thesen recht plakativ sind und auf unterschiedliche Weise interpretiert werden können. Beim Wahl-O-Mat fehlt leider jeder Kontext zu den Thesen.<br /> Auch die Beschränkung auf 8 Parteien in der Auswertung ist recht sinnlos.</p> <p>Nun, hier mein Ergebnis:</p> <p><img src="https://files.mdosch.de/2014-04/wahlomat_europawahl_2014.png" alt="Wahl-O-Mat Europawahl"/></p> Mon, 28 Apr 2014 20:15:00 GMT tag:blog.mdosch.de,2014-04-28:/2014/04/28/wahl-o-mat-europawahl-2014 Saubere Benutzertrennung in Debian https://blog.mdosch.de/2014/04/24/saubere-benutzertrennung-in-debian/ <p>Da ich bisher Debian nur als Einzelbenutzersystem im privaten Bereich nutze ist mir das bisher noch nie aufgefallen, aber in der Standardeinstellung können alle Benutzer lesend auf das Home-Verzeichnis aller Benutzer zugreifen.<br /> Auch wenn das für mich persönlich wenig relevant ist möchte ich mein System, aus Prinzip, relativ sicher vorkonfigurieren. Dazu gehört für mich auch eine saubere Trennung der einzelnen Benutzer. Vielleicht richte ich ja auch irgendwann mal einen weiteren Benutzer auf einem meiner Rechner ein und dann ist es von Vorteil, wenn alles bereits ordentlich eingerichtet ist und ich mich dann nicht mehr damit befassen muss.</p> <p>Damit Dateien und Verzeichnisse im jeweiligen home nicht mehr für andere Benutzer zugänglich sind genügt es</p> <div class="highlight"><pre><span></span>dpkg-reconfigure -plow adduser </pre></div> <p>auszuführen. Dies wirkt sich aber nicht auf bereits vorhandene Benutzer aus, weshalb man auch folgendes einstellen sollte:</p> <p>Um neu angelegte Dateien nicht mehr für alle Benutzbar zugänglich zu machen ändert man einfach den <em>UMASK</em>-Wert in der Datei `/etc/login.defs` von `022` auf `027`.</p> <div class="highlight"><pre><span></span>UMASK      027 … </pre></div> <p>Um die Änderungen zu übernehmen muss man folgende Zeile an die Datei <code>/etc/pam.d/common-session</code> anhängen:</p> <div class="highlight"><pre><span></span>session optional   pam_umask.so </pre></div> <p>Weitere Informationen zu <em>UMASK</em> kann man dem <a href="http://manpages.debian.org/cgi-bin/man.cgi?query=umask&amp;apropos=0&amp;sektion=0&amp;manpath=Debian+7.0+wheezy&amp;format=html&amp;locale=en">manual</a> entnehmen. <p>Das wirkt sich aber nicht auf bereits vorhandene Benutzer und deren Verzeichnisse/Dateien aus. Um bereits vorhandene Dateien für andere Benutzer unzugänglich zu machen genügt dieser Befehl:</p></p> <div class="highlight"><pre><span></span>chmod 750 /home/* </pre></div> <p>Vielen Dank an alle Beteiligten dieses <a href="https://debianforum.de/forum/viewtopic.php?f=27&amp;t=148824">Threads</a> im df.de. Besonderer Dank geht an <em>smutbert</em>, der die hier erwähnten Lösungen beschrieben hat. 😉 </p> Thu, 24 Apr 2014 18:22:00 GMT tag:blog.mdosch.de,2014-04-24:/2014/04/24/saubere-benutzertrennung-in-debian Chromebook Acer C720: Debian GNU Linux Kernel 3.14.1 https://blog.mdosch.de/2014/04/20/chromebook-acer-c720-debian-gnu-linux-kernel-3-14-1/ <p>Ich habe heute den aktuellen Kernel für mein Acer C720 gebaut, welches ich mit Debian Testing betreibe.<br /> Der Kernel kann, wie immer, <a href="https://files.mdosch.de/acer-c720-kernel/">hier</a> heruntergeladen werden.<br /> Bei mir funktioniert alles, aber ich benutze auch kein Suspend was laut <a href="http://blog.mdosch.de/2014/04/02/chromebook-acer-c720-kernel-3-14/">Kommentaren</a> nicht mehr mit Kernel 3.14 funktioniert.</p> Sun, 20 Apr 2014 14:38:00 GMT tag:blog.mdosch.de,2014-04-20:/2014/04/20/chromebook-acer-c720-debian-gnu-linux-kernel-3-14-1 Chromebook Acer C720: Kernel 3.14 https://blog.mdosch.de/2014/04/02/chromebook-acer-c720-kernel-3-14/ <p>Ich habe gerade einen neuen Debian-Kernel für das Acer C720 gebaut: <a href="https://files.mdosch.de/acer-c720-kernel/">3.14</a><br /> Der Kernel wurde unter Debian Testing gebaut und ich kann nicht garantieren, dass er unter Debian Stable funktioniert, aber bei so neuer Hardware würde ich eh Debian Testing installieren.<br /> Leider habe ich derzeit kein Debian auf dem Acer C720 installiert, aber es gibt ein <a href="http://blog.mdosch.de/2013/12/04/debian-gnulinux-auf-dem-chromebook-acer-c720-installieren/#comment-445">Feedback</a>, dass er funktioniert.</p> Wed, 02 Apr 2014 21:25:00 GMT tag:blog.mdosch.de,2014-04-02:/2014/04/02/chromebook-acer-c720-kernel-3-14 Offener Brief an Helmut Demel https://blog.mdosch.de/2014/03/30/offener-brief-an-helmut-demel/ <p>Sehr geehrter Herr Demel,</p> <p>um 19:20 Uhr sieht es stark danach aus, dass Sie demnächst das Amt des Miltenberger Bürgermeisters bekleiden.<br /> Ich habe eine Frage, die ich Ihnen im Rahmen dieses offenen Briefes gerne stellen möchte:<br /> Werden Sie sich dafür einsetzen, dass auch die Miltenberger Höhenstadtteile (Berndiel, Monbrunn, Schippach, Wenschdorf) endlich mit DSL versorgt werden?</p> <p>Das mag sich zuerst nach einem Luxusproblem anhören, aber es handelt sich tatsächlich um einen gravierenden Wettbewerbsnachteil der dort ansässigen Gewerbetreibenden.<br /> In diesen Stadtteilen gibt es viele Landwirte und andere Gewerbetreibende. Heutzutage ist es einfach &#8220;state of the art&#8221; schnell große Datenmengen über das Internet auszutauschen. Oft wird dies sogar vorausgesetzt. Während nun ein Miltenberger Landwirt seinen Mehrfachantrag innerhalb von Minuten zu Hause bearbeitet, stellt der Landwirt in den vernachlässigten Höhenstadtteilen nach Stunden fest, dass dieses Unterfangen mit ISDN nicht zu bewältigen ist und muss an einen Ort mit schnellerem Internet fahren (sofern er Bekannte hat, die ihm das zur Verfügung stellen). Dadurch verliert er wertvolle Zeit und ist im Vergleich zu Landwirten mit DSL stark benachteiligt.</p> <p>Politiker werden auch nicht müde Bildung als wichtige Ressource zu bezeichnen, aber gleichzeitig wird Bürgern aus den Höhenstadtteilen der Zugang zur Bildung erschwert. Ich persönlich hatte in meinem Studium häufig den Fall, dass neue Skripte oder Aufgaben am Vortag der Vorlesung hochgeladen wurden. Ich konnte diese neuen Informationen jedoch nicht nutzen, bzw. die neuen Aufgaben nicht bearbeiten, da der Download dieser Dateien andauerte bis ich ins Auto steigen und in die Hochschule fahren musste. Unter diesem Gesichtspunkt wirken die Reden der Politiker über gleichberechtigten Zugang zu Bildung wie eine Farce.<br /> Nachdem ich Ihnen hoffentlich meinen Standpunkt klar machen konnte, komme ich auf meine eigentliche Frage zurück: Werden Sie dafür sorgen, dass die Höhenstadtteile endlich auch einen zeitgemäßen Internetzugang bekommen oder werden Sie weiterhin dulden dass Teile der Bevölkerung (und Wähler, dieser Hinweis kann bei Politikern nie schaden) einen starken Einschnitt bei der Bildung und der Wettbewerbsfähigkeit hinnehmen müssen?<br /> Ich hoffe Sie werden den Höhenstadtteilen mehr Beachtung zukommen lassen als Ihr Vorgänger Bieber, der meinte ab und an einen Scheck mit einem Reim zu überreichen wäre genug, das tat.</p> <p>Sollten Sie antworten bitte ich Sie dies in klar verständlichem Deutsch zu tun und die übliche Politikerunart um den heißen Brei zu reden und Euphemismen zu nutzen auf ein Mininum zu beschränken, oder am Besten gleich sein zu lassen.</p> <p>Ich würde mich freuen wenn Sie mir gestatten Ihre Antwort auf meiner Webseite zu veröffentlichen.</p> <p>Mit freundlichen Grüßen<br /> Martin Dosch</p> Sun, 30 Mar 2014 17:24:00 GMT tag:blog.mdosch.de,2014-03-30:/2014/03/30/offener-brief-an-helmut-demel mdosch.de jetzt mit (etwas) Inhalt https://blog.mdosch.de/2014/03/20/mdosch-de-jetzt-mit-etwas-inhalt/ <p>Da ich öfter darauf angesprochen wurde, dass meine Homepage <em>kaputt</em> sei habe ich nun auch eine kleine Seite direkt unter <a href="http://mdosch.de">mdosch.de</a> hochgeladen.<br /> Die Seite ist nicht wirklich umfangreich und dient nur dazu Leute nicht mit einem <em>404</em> zu verwirren. 😄 </p> <p>Beim Design habe ich <a href="http://liquorix.net">liquorix</a> als Basis genommen und an meine Bedürfnisse angepasst. Da ich von <abbr title="HyperText Markup Language">HTML</abbr> und Webdesign keine Ahnung habe war das natürlich mehr <em>trial and error</em> als Können, aber ich bin mit dem Ergebnis recht zufrieden.</p> <p>Bevor gemeckert wird: Im Quelltext von <em>liquorix</em> wurde <em>CC BY 1.0</em> als Lizenz genannt. Die Hintergrundgrafiken vom Roundcube-Theme <a href="https://github.com/roundcube/roundcubemail/blob/master/skins/larry/images">Larry</a> sind <em>CC BY-SA 3.0</em> lizenziert.<br /> Das Endergebnis habe ich selbst auch unter <em>CC BY-SA 3.0</em> gestellt. Sollte das Design also gefallen: Benutzt es.</p> <p>In einem Anflug von Größenwahn habe ich die Seite sogar auf <a href="https://github.com/mdosch/mdosch.de">Github</a> gestellt. 😀</p> Thu, 20 Mar 2014 18:12:00 GMT tag:blog.mdosch.de,2014-03-20:/2014/03/20/mdosch-de-jetzt-mit-etwas-inhalt Die bessere WhatsApp-Alternative: Surespot https://blog.mdosch.de/2014/02/21/die-bessere-whatsapp-alternative-surespot/ <p>In einem <a href="http://blog.mdosch.de/2014/02/20/whatsapp-alternative-whistle-im/">Kommentar zu meinem letzten Beitrag</a> wurde ich auf <a href="https://www.surespot.me/">surespot</a> hingewiesen und unter allen WhatsApp-Alternativen, die ich bisher angetestet habe gefällt es mir am besten.</p> <p>Die Vorteile:</p> <ul> <li>Quelloffen </li> <li>Ende-zu-Ende-Verschlüsselung </li> <li>Kein Telefonbuchzugriff [1] </li> <li>kostenlos (für mich nicht so wichtig) </li> <li>Verfügbar für Android und iOS </li> </ul> <p>Nachteile:</p> <ul> <li>Bisher geringe Verbreitung </li> <li>(<a href="https://twitter.com/surespot/status/436797232667295746">noch</a>) kein Gruppenchat </li> </ul> <p>Ich werde auf jeden Fall meinen Schwerpunkt erst mal auf <em>surespot</em> legen und hoffen, dass ich einige Leute dazu bewegen kann dies ebenfalls zu tun. Ich habe mir auch schon für knapp 2€ die Sprachnachrichtenfunktion gekauft. Ich benötige diese zwar nicht, aber ich wollte dieses vielversprechende Projekt unterstützen und ein Betrag dieser Größenordnung tut ja niemandem weh. 😉 </p> <p>[1] Kontaktdaten kann man über einen QR-Code, Link oder Austausch des Benutzernamens hinzufügen.</p> Fri, 21 Feb 2014 11:50:00 GMT tag:blog.mdosch.de,2014-02-21:/2014/02/21/die-bessere-whatsapp-alternative-surespot Whatsapp-Alternative: whistle.im https://blog.mdosch.de/2014/02/20/whatsapp-alternative-whistle-im/ <p>Da Whatsapp ja nun von <a href="http://newsroom.fb.com/News/805/Facebook-to-Acquire-WhatsApp">Facebook gekauft</a> wurde werde ich mir <a href="https://whistle.im">whistle.im</a> mal näher anschauen.<br /> <em>Whistle.im</em> überträgt keine Telefonnummern und hat sich, laut eigener Aussage, dem Schutz der Privatsphäre verschrieben. Der kryptographische Anteil der App ist OpenSource und kann bei <a href="https://github.com/whistle-im/whistle-im">github</a> eingesehen werden.<br /> Jetzt hoffe ich, dass ich ein paar Freunde dazu bewegen kann sich eine ID anzulegen, denn ohne Gesprächspartner testet es sich schlecht.</p> Thu, 20 Feb 2014 10:19:00 GMT tag:blog.mdosch.de,2014-02-20:/2014/02/20/whatsapp-alternative-whistle-im Netzpolitik verschenkt Buch “Überwachtes Netz” – Der Sammelband zum NSA-Skandal https://blog.mdosch.de/2014/02/19/netzpolitik-verschenkt-buch-ueberwachtes-netz-der-sammelband-zum-nsa-skandal/ <p>Bei <a href="https://netzpolitik.org/2014/wir-verschenken-unser-buch-ueberwachtes-netz-der-sammelband-zum-nsa-skandal/">netzpolitik</a> wird das Buch <em>“Überwachtes Netz” – Der Sammelband zum NSA-Skandal</em> verschenkt.<br /> In diesem Buch schreiben rund 50 Autoren über den, von Edward Snowden aufgedeckten, Überwachungsskandal und dessen Folgen. Das Buch erschien im Dezember und wird nun verschenkt.<br /> Das Buch steht unter der freien Lizenz CC-BY-SA und darf somit (unter anderem) weitergegeben werden.</p> Wed, 19 Feb 2014 17:45:00 GMT tag:blog.mdosch.de,2014-02-19:/2014/02/19/netzpolitik-verschenkt-buch-ueberwachtes-netz-der-sammelband-zum-nsa-skandal explainshell und tuxsucht https://blog.mdosch.de/2014/02/19/explainshell-und-tuxsucht/ <p>Hier mal zwei Links über die ich kürzlich gestolpert bin und die ich hier festhalten möchte: <a href="http://explainshell.com/">explainshell</a> und <a href="http://tuxsucht.de/">tuxsucht</a>.<br /> Bei <em>explainshell</em> kann man Befehle eingeben und erhält die relevanten Auszüge aus der manpage. Man muss sich also nicht mühsam die verwendeten Optionen aus der manpage suchen, sondern erhält diese übersichtlich auf einen Blick. Die Seite habe ich bereits in einem Blogpost bei <a href="http://fryboyter.de/der-erklaerbaer-fuer-shellbefehle/">fryboyter</a> gesehen, aber die Adresse vergessen. Glücklicherweise wurde diese Seite in der <a href="http://netz10.de/2014/02/11/osbn-linkschleuder-1/">OSBN Linkschleuder</a> nochmal erwähnt. 😉 <br /> Bei <em>tuxsucht</em> handelt es sich um eine angepasste Googlesuche, die gezielt Wikis, Foren und Blogs durchsucht, deren thematischer Schwerpunkt bei Linux liegt.</p> Wed, 19 Feb 2014 14:51:00 GMT tag:blog.mdosch.de,2014-02-19:/2014/02/19/explainshell-und-tuxsucht Drinkmotizer: Ein Roboter mixt Drinks https://blog.mdosch.de/2014/02/01/drinkmotizer-ein-roboter-mixt-drinks/ <p><a href="http://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/blog/2014/01/17/raspberry-pi-drink-mixing-robot--aka-the-drinkmotizer">Hier</a> kann man einen Roboter bestaunen, der Drinks mixt.<br /> Realisiert wurde das Projekt u.a. mit einem <a href="http://www.raspberrypi.org/">Raspberry Pi</a> und einem <a href="http://www.arduino.cc/">Arduino</a>.</p> <p>Im Studium hatten wir mal in einem Praktikum eine per SPS gesteuerte Abfüllanlage programmiert. Ich kann mich noch gut daran erinnern, dass wir dabei ähnliche Ideen hatten. 😄</p> Sat, 01 Feb 2014 17:45:00 GMT tag:blog.mdosch.de,2014-02-01:/2014/02/01/drinkmotizer-ein-roboter-mixt-drinks Syntax-Highlighting in nano aktivieren https://blog.mdosch.de/2014/02/01/syntax-highlighting-in-nano-aktivieren/ <p>Da ich mich nie in einen der mächtigen Editoren eingearbeitet habe nutze ich schon seit langem <a href="http://www.nano-editor.org/">nano</a>. Standardmäßig hat nano (zumindest unter Debian) kein Syntax-Highlighting aktiviert. Zuerst habe ich die <a href="https://github.com/serialhex/nano-highlight/blob/master/markdown.nanorc">Unterstützung für markdown</a> heruntergeladen, da diese bei Debian ebenfalls noch nicht vorhanden ist und unter <code>/usr/share/nano/</code> gespeichert. Um nun das Syntax-Highlighting für alle verfügbaren Sprachen zu aktivieren habe ich folgendes ausgeführt:</p> <div class="highlight"><pre><span></span>find /usr/share/nano/ -name &#39;*.nanorc&#39; -exec echo &#39;include &quot;&#39;{}&#39;&quot;&#39; &gt;&gt; ~/.nanorc \; </pre></div> Sat, 01 Feb 2014 13:04:00 GMT tag:blog.mdosch.de,2014-02-01:/2014/02/01/syntax-highlighting-in-nano-aktivieren blog.mdosch.de bald statisch? https://blog.mdosch.de/2014/02/01/blog-mdosch-de-bald-statisch/ <p>Ich habe kürzlich nach <a href="http://blog.mdosch.de/2014/01/16/wordpress-alternativen/">Alternativen zu WordPress</a> gesucht und wurde in den Kommentaren auf viele interessante Projekte aufmerksam gemacht, die ich noch nicht kannte. An dieser Stelle noch mal vielen Dank dafür. 😀 <br /> Leider hatte fast jede Software mit der ich etwas herumgespielt hatte den ein oder anderen <em>showstopper</em>. Was mich gewundert hat: Ich habe kein einziges Mal erfolgreich meine WordPress-Daten importieren können.</p> <p>Nun bin ich, zu meiner eigenen Überraschung, bei <a href="http://jekyllrb.com">Jekyll</a> gelandet. Dort konnte ich die Beiträge erfolgreich in <em>markdown</em>-Dateien umwandeln und nach etwas Nacharbeit bin ich mit dem aktuellen Stand schon ziemlich zufrieden. Wer möchte kann sich den aktuellen Stand unter dieser <a href="http://test.mdosch.de">temporären (!) Domain</a> anschauen.</p> <p>Was mich derzeit von einem kompletten Umstieg auf Jekyll abhält ist, dass ich noch keine Lösung für die Kommentarfunktion gefunden habe. Es gibt zwar einige Ansätze, aber bisher bin ich da noch nicht wirklich weiter gekommen.<br /> Möglichkeiten:</p> <ul> <li>Einbinden eines externen Kommentarsystem (z.B. Disqus)</li> <li>Selbst ein Kommentarsystem hosten <ul> <li><a href="https://github.com/phusion/juvia">Juvia</a></li> <li><a href="http://posativ.org/isso/">Isso</a></li> </ul> </li> <li>Statische Kommentare einbinden</li> </ul> <p>Die erste Option scheidet für mich prinzipiell aus. Ich gebe doch kein Geld für eigenen Webspace aus um meine Daten (und die der Besucher) dann irgendwelchen Drittanbietern in den Rachen zu werfen.<br /> Bei Juvia und Isso weiß ich nicht ob eine Installation auf <a href="http://uberspace.de">uberspace</a> möglich ist und falls doch, ob ich das mit meinen Kenntnissen bewältigen kann.<br /> Statische Kommentare sind möglich und dafür habe ich auch einige Ansätze gesehen aber ich würde eine dynamische Lösung wie Juvia oder Isso bevorzugen, denn statische Kommentare müssten von mir manuell eingepflegt und die Seite erneut herausgeschrieben werden. Dadurch entsteht eine lange Verzögerung und Gespräche oder Diskussionen in den Kommentaren werden unwahrscheinlich.</p> <p>Ein weiteres Problem: Ich bin mir nicht sicher, ob ich es irgendwie schaffe die alten Kommentare einzupflegen sollte ich eine Lösung für das Kommentarsystem finden. Das wäre sehr ärgerlich, aber vielleicht könnte ich ein statisches Backup des WordPress-Blogs mit den Kommentaren online stellen. Das wäre zwar nur eine Notlösung aber besser als sie komplett zu verlieren.</p> Sat, 01 Feb 2014 11:07:00 GMT tag:blog.mdosch.de,2014-02-01:/2014/02/01/blog-mdosch-de-bald-statisch Webspace-Empfehlung: uberspace.de https://blog.mdosch.de/2014/01/18/webspace-empfehlung-uberspace-de/ <p>Ich habe <a href="http://blog.mdosch.de/2013/08/30/android-kontakte-und-kalender-ueber-owncloud-synchronisieren/">hier</a> schon einmal etwas über <a href="http://uberspace.de">uberspace</a> geschrieben und möchte das noch etwas näher ausführen.</p> <p>Uberspace ist ein toller Hoster für die eigene Homepage. Von der technischen Seite gibt es dort alles was ich brauche (und noch viel mehr), das <a href="https://uberspace.de/prices">Bezahlmodell</a> ist einzigartig und die Jungs, die es betreiben, sind großartig. Hat man mal ein Problem oder eine Anregung genügt eine kurze Email und binnen eines Tages, meistens innerhalb weniger Stunden, hat man eine Antwort. Dabei sind die Jungs sehr freundlich, hilfsbereit, unbürokratisch und nicht übertrieben förmlich. 😄 </p> <p>Man merkt einfach, dass die Betreiber von uberspace aus der Technik kommen und Spass an der Arbeit haben. Sehr interessant ist auch dieses <a href="http://www.lifestyle-architect.de/2011/04/nimm-das-geld-nicht-so-wichtig-interview-mit-uberspace-de-chef-jonas-pasche/">Interview mit Jonas Pasche</a>, dem Chef von uberspace. Auch beim Lesen der <a href="https://uberspace.de/dokuwiki/faq"><abbr title="Frequently Asked Questions">FAQ</abbr></a> musste ich teilweise wegen der Formulierungen schmunzeln, ein Beispiel:</p> <blockquote><p><strong>Plattenplatz &#8212; Könnt ihr mir nicht doch mehr als 10 <abbr title="Gigabyte">GB</abbr> geben?</strong></p> <p>Leider nein.</p> <p>Wirklich nicht.</p> <p>So leid es uns tut.</p> <p>Unser Fokus liegt wirklich woanders als auf dem Anbieten von viel Speicherplatz, das können andere besser und billiger.</p> <p>[Detaillierte technische Erläuterung herausgekürzt]</p> <p><strong>Auch nicht für €€€?</strong></p> <p>Die Festplatten sind da eisern, wenn wir denen Geld anbieten, werden die leider nicht von alleine größer </p></blockquote> <p>Toll ist auch das hilfreiche <a href="https://uberspace.de/dokuwiki/">Wiki</a>, und die informative Homepage auf der alles in klaren Worten ohne irgendwelche unverständlichen Klauseln und Kleingedrucktes beschrieben steht.</p> <p>Was mich überzeugt hat war auch der Zugriff per <a href="https://de.wikipedia.org/wiki/Ssh"><abbr title="Secure Shell">SSH</abbr></a>, den sonst kein mir bekannter Shared Hoster bietet. Man muss sich nicht mehr mit <abbr title="File Transfer Protocol">FTP</abbr> herumschlagen, sondern kann alles flott per <a href="https://de.wikipedia.org/wiki/Unix-Shell">Shell</a>, wie auf dem heimischen Linux-Rechner, erledigen. Einziges Manko: uberspace verwendet als Betriebssystem <a href="https://www.centos.org/">CentOS</a>, nicht <a href="http://debian.org">Debian</a>. 😉</p> <p>Hier mal ein paar Eckdaten, was uberspace so alles bietet:</p> <p>* 10GB Speicher<br /> * 100GB Traffic<br /> * <abbr title="Secure Shell">SSH</abbr>-Zugriff<br /> * Keine Begrenzug bei: Email-Adressen, Datenbanken, Subdomains<br /> * Viele global installierte Programmiersprachen, Datenbanken etc. (in verschiedenen Versionen)<br /> * Die Möglichkeit Programme lokal im eigenen Userspace zu installieren</p> <p>Die Details findet man natürlich bei <a href="https://uberspace.de/tech">uberspace</a>.</p> <p>Ich habe schon die Preisgestaltung angesprochen, was hat es damit auf sich? Uberspace hat ein ungewöhnliches Preismodell, man zahlt was man für angemessen hält. Der Mindestpreis beträgt nur 1€. Für mein Hosting dort müsste ich inkl. der de-Domain also nur 1,50€ pro Monat zahlen. Nach Aussage von uberspace sind die meisten Kunden aber bereit mehr zu zahlen und tun dies auch. Auch ich zahle mehr, da ich mit dem Angebot von uberspace viel zufriedener bin als mit dem Angebot meines vorigen Hosters, zahle ich auch ein bisschen mehr als zuvor.<br /> Der Betrag, den man zahlen möchte, ist auch nicht in Stein gemeißelt, sondern kann monatlich angepasst werden.</p> <p>Kurz gesagt: Uberspace ist ein toller Provider und seit ich dort bin, habe ich wieder viel mehr Spass daran neues auszuprobieren. Ich kann uberspace nur jedem empfehlen, was ich hiermit tue. Ich schreibe das hier auch nicht, weil ich dafür bezahlt werde o.ä., sondern weil ich von uberspace überzeugt bin. <a href="https://uberspace.de/opinion">Das möchten die Ubernauten auch nicht anders</a>:</p> <blockquote><p>Wer sich entscheidet, selbst Ubernaut zu werden, will das oft nicht für sich behalten. Und wir fühlen uns geehrt: Wir haben nämlich kein Referrer-Programm zum Mitverdienen und bezahlen auch niemanden dafür, besonders wohlwollend über uns zu schreiben. Wer uns empfiehlt, tut das aus Überzeugung und steht dafür mit seinem Namen – darauf sind wir dann doch mal ein wenig stolz, denn echtes Lob muss man sich eben verdienen. Bleibt die Frage: Wann stellst du uns selbst auf die Probe? </p></blockquote> Sat, 18 Jan 2014 09:31:00 GMT tag:blog.mdosch.de,2014-01-18:/2014/01/18/webspace-empfehlung-uberspace-de Acer C720: Debian Kernel 3.12.8 https://blog.mdosch.de/2014/01/18/acer-c720-debian-kernel-3-12-8/ <p>Neuer Kernel für das <a href="http://blog.mdosch.de/2013/12/04/debian-gnulinux-auf-dem-chromebook-acer-c720-installieren/">Chromebook Acer C720</a>: <a href="https://files.mdosch.de/acer-c720-kernel/">3.12.8</a></p> Fri, 17 Jan 2014 23:17:00 GMT tag:blog.mdosch.de,2014-01-18:/2014/01/18/acer-c720-debian-kernel-3-12-8 Upload-Script für den eigenen Webspace https://blog.mdosch.de/2014/01/17/upload-script-fuer-den-eigenen-webspace/ <p>Häufig habe ich schon Screenshots bei One-Click-Hostern hochgeladen um Probleme zu illustrieren. Mittlerweile bin ich aber bei <a href="http://uberspace.de">uberspace</a> und habe dort auch <abbr title="Secure Shell">SSH</abbr>-Zugriff also habe ich mir ein kleines Script geschrieben, das einzelne Dateien (sollte auch bei Ordnern funktionieren) direkt hochlädt. Da ich mich über einen <a href="https://de.wikipedia.org/wiki/Public-Key-Authentifizierung">public key</a> authenifiziere kann ich das ganze auch schön automatisieren.</p> <p>Ich bin jetzt nicht der Shell-Script-Profi von daher hat das Ganze bestimmt noch Verbesserungspotenzial. Ich weiß auch nicht, ob man über falsche Eingaben evtl. Code zur Ausführung übergeben kann. Da ich das für mich selbst geschrieben habe und keine anderen es auf meinem Rechner nutzen können, habe ich es nicht darauf getestet. Schließlich werde ich mich nicht bemühen einen Weg dazu zu finden um meinen eigenen Rechner zu manipulieren. ;)</p> <p>Vielleicht ist das Script aber für Leute, die noch weniger Ahnung vom scripten haben als ich, auch hilfreich oder vielleicht kann irgendjemand etwas hübscheres, besseres daraus basteln, weshalb ich beschlossen habe es hier zu veröffentlichen.</p> <p>Damit das Script funktioniert wird <a href="http://packages.debian.org/wheezy/realpath">realpath</a> benötigt.</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/bash</span> <span class="nv">ZIELPFAD</span><span class="o">=</span><span class="s1">&#39;/var/www/upload&#39;</span> <span class="c1"># Upload-Verzeichnis auf dem Server</span> <span class="nv">KONTO</span><span class="o">=</span><span class="s1">&#39;user@example.de&#39;</span> <span class="c1"># SSH Zugangsdaten</span> <span class="nv">URL</span><span class="o">=</span><span class="s1">&#39;http://upload.example.de&#39;</span> <span class="c1"># Zieladresse</span> <span class="k">if</span> <span class="o">[</span> <span class="nv">$#</span> -ne <span class="m">1</span> <span class="o">]</span> <span class="k">then</span> <span class="nb">echo</span> Dieses Skript ist nur für die Übergabe einer Datei, bzw. eines Ordners, ausgelegt. <span class="nb">exit</span> <span class="k">fi</span> <span class="nv">EINGABE</span><span class="o">=</span><span class="k">$(</span><span class="nb">printf</span> %q <span class="nv">$1</span><span class="k">)</span> <span class="nv">PFAD</span><span class="o">=</span><span class="k">$(</span>realpath <span class="nv">$EINGABE</span><span class="k">)</span> <span class="nv">NAME</span><span class="o">=</span><span class="k">$(</span>basename <span class="nv">$EINGABE</span><span class="k">)</span> <span class="nv">DATE</span><span class="o">=</span><span class="k">$(</span>date +%Y-%m<span class="k">)</span> <span class="k">if</span> <span class="o">[</span> -z <span class="nv">$PFAD</span> <span class="o">]</span> <span class="k">then</span> <span class="nb">exit</span> <span class="k">fi</span> <span class="k">if</span> ssh <span class="nv">$KONTO</span> <span class="nb">test</span> -e <span class="se">\&#39;</span><span class="nv">$ZIELPFAD</span>/<span class="nv">$DATE</span>/<span class="nv">$NAME</span><span class="se">\&#39;</span> <span class="k">then</span> <span class="nb">echo</span> Datei ist schon vorhanden und wurde nicht überschrieben. <span class="k">else</span> rsync -avP --ignore-existing <span class="nv">$PFAD</span> <span class="nv">$KONTO</span>:<span class="se">\&#39;</span><span class="nv">$ZIELPFAD</span>/<span class="nv">$DATE</span>/<span class="se">\&#39;</span> <span class="nb">echo</span> <span class="nb">echo</span> Gespeichert unter: <span class="nv">$URL</span>/<span class="nv">$DATE</span>/<span class="nv">$NAME</span> <span class="k">fi</span> </pre></div> </td></tr></table> <p>Das Script lädt die Datei an dem ge­wünsch­ten Ort in den Ordner Jahr-Monat hoch und gibt die URL aus. Beispiel:</p> <div class="highlight"><pre><span></span>$ upload foo.bar sending incremental file list foo.bar <span class="m">0</span> <span class="m">100</span>% <span class="m">0</span>.00kB/s <span class="m">0</span>:00:00 <span class="o">(</span>xfr#1, to-chk<span class="o">=</span><span class="m">0</span>/1<span class="o">)</span> sent <span class="m">101</span> bytes received <span class="m">34</span> bytes <span class="m">90</span>.00 bytes/sec total size is <span class="m">0</span> speedup is <span class="m">0</span>.00 Gespeichert unter: http://upload.example.de/2014-01/foo.bar </pre></div> Fri, 17 Jan 2014 13:45:00 GMT tag:blog.mdosch.de,2014-01-17:/2014/01/17/upload-script-fuer-den-eigenen-webspace WordPress-Alternativen https://blog.mdosch.de/2014/01/16/wordpress-alternativen/ <p>Da mir WordPress eigentlich etwas zu träge ist, zumindest im Adminbereich, die Seite an sich ist relativ flott, habe ich mich mal nach Alternativen umgeschaut. Es gibt einiges interessantes, aber ich habe noch nichts gefunden was mich überzeugt. Hier mal meine Anforderungen:</p> <ul> <li><a href="http://markdown-here.com/">Markdown</a> </li> <li>Import der WordPress-Einträge </li> <li>Kommentarsystem (Ich möchte aus Prinzip kein disqus o.ä. Drittplugin nutzen) </li> <li>OpenSource </li> <li>Nach Möglichkeit Web-Interface um auch von unterwegs mal etwas <s>zu Papier</s> ins Web zu bringen. </li> <li>Links der Beiträge sollten sich nicht verändern (das werde ich wohl kaum finden). </li> </ul> <p>Hier mal die drei interessantesten Kandidaten zu einer Tabelle zusammengefasst.</p> <table> <thead> <tr> <th>Name</th> <th align="center"><abbr title="Open Source Software">OSS</abbr></th> <th align="center">Markdown</th> <th align="center"><abbr title="WordPress">WP</abbr>-Import</th> <th align="center">Kommentare</th> <th align="center">Web-Interface</th> <th align="center">URLs</th> </tr> </thead> <tbody> <tr> <td><a href="https://ghost.org/">Ghost</a></td> <td align="center"><a href="https://ghost.org/about/license/">✓</a></td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">×</td> <td align="center">✓</td> <td align="center">?</td> </tr> <tr> <td><a href="http://www.nibbleblog.com/de/">Nibbleblog</a></td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">×</td> </tr> <tr> <td><a href="https://blog.mdosch.de/2014/01/16/wordpress-alternativen">Octopress</a></td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">✓</td> <td align="center">×</td> <td align="center">×</td> <td align="center">?</td> </tr> </tbody> </table> <p>Gerade nutze ich zum ersten Mal das WordPress-PlugIn <a href="http://wordpress.org/plugins/wp-markdown/"><em><abbr title="WordPress">WP</abbr>-Markdown</em></a> welches das Schreiben schon deutlich angenehmer gestaltet, aber leider noch nicht perfekt funktioniert wie man an obiger Tabelle sehen kann.</p> <p>Wenn jemand noch empfehlenswerte Blogsysteme kennt, die ich mir mal anschauen könnte wäre ich über Hinweise dankbar. 😀</p> <p><strong>[Update 2014-01-17]</strong><br /> In den Kommentaren wurden viele interessante Blogsysteme oder <abbr title="Content Management System">CMS</abbr> genannt. Ich hoffe ich komme demnächst mal dazu mir diese anzusehen. Vielen Dank dafür. 😀 Danke auch an dos für den Link zu einem Blogeintrag, in dem er sich auch mit/ <a href="http://do-s.de/eine-neue-blog-software-am-himmel-ghost">diversen Blogsystemen</a> beschäftigte.<br /> Das PlugIn <abbr title="WordPress">WP</abbr>-Markdown ist auch wieder deaktiviert. Beim Senden des Beitrags wurde Markdown in <abbr title="HyperText Markup Language">HTML</abbr> umgewandelt und beim bearbeiten dieses Beitrags will das PlugIn den <abbr title="HyperText Markup Language">HTML</abbr>-Code wegen der Einrückung in Codeblocks setzen, statt ihn unverändert zu posten. Das könnte ich zwar beheben, aber auf Dauer wird so etwas lästig. 😉 </p> Thu, 16 Jan 2014 20:56:00 GMT tag:blog.mdosch.de,2014-01-16:/2014/01/16/wordpress-alternativen OSBN: Open-Source-Blog-Netzwerk https://blog.mdosch.de/2014/01/14/osbn-open-source-blog-netzwerk/ <p>Meinen Blog habe ich <a href="http://blog.mdosch.de/2013/06/12/mal-wieder-ein-blog/">gestartet</a> um eine, immer verfügbare, Wissensdatenbank zu haben in der ich bestimmte Tools, Vorgehensweisen und Problemlösungen festhalten kann um später wieder auf sie zugreifen zu können. Primär ging es mir darum die Momente, in denen ich dachte <em>&#8220;Das hatte ich doch schon mal, wie habe ich das damals gelöst?&#8221;</em> zu vermeiden. Da das Internet fast überall verfügbar ist und ich von jedem Rechner darauf zugreifen kann, entschied ich mich für einen Blog und gegen eine lokale Lösung. Außerdem kann ich vielleicht auch anderen Leuten mit den gleichen Problemen helfen wenn ich meine Lösungen online stelle.</p> <p>Da ich meinen Blog mit dieser Motivation betreibe bewerbe ich ihn auch nicht groß im Internet und achte nicht darauf häufig verlinkt zu werden. Mit zwei Ausnahmen: Dem <a href="http://planet.debianforum.de/">debianforum.de-Planeten</a> und dem <a href="http://osbn.de/">Open-Source-Blog-Netzwerk</a>. Ersterem bin ich beigetreten, da ich im <a href="http://debianforum.de/forum/">debianforum.de</a> häufig aktiv bin und der Planet eher eine Sammlung der Blogs der Benutzer ist, als ein Debian-bezogener Planet. Ähnlich verhält es sich mit dem Open-Source-Blog-Netzwerk (OSBN). Wo andere Netzwerke strenge Richtlinen haben, sei es bezüglich der Inhalte oder der Länge und Häufigkeit der Beiträge ist das OSBN eher ein loser Zusammenschluss von Blogs die sich in irgendeiner Weise mit OpenSource befassen. </p> <p>Da ich die Idee, verschiedenste Blogs zu einem OpenSource-Netzwerk zusammenzufassen, gut fand bin ich dem OSBN beigetreten. Aus diesem Grund sieht man auch seit ein paar Wochen auf der rechten Seite eine Box mit den letzten Beiträgen aus dem OSBN. Derzeit umfasst das OSBN 84 Blogs und ich würde es begrüßen, wenn weitere hinzustoßen. 😉</p> Tue, 14 Jan 2014 20:15:00 GMT tag:blog.mdosch.de,2014-01-14:/2014/01/14/osbn-open-source-blog-netzwerk runalyze: Sport-Aktivitäten protokollieren https://blog.mdosch.de/2014/01/11/runalyze-sport-aktivitaeten-protokollieren/ <p>Kürzlich suchte ich eine Alternative zu Endomondo und Konsorten um meine sportlichen Aktivitäten zu protokollieren und mich durch die Auswertungen zu motivieren mehr zu tun. :) Dabei suchte ich tagelang und fand nichts, dass meinen Vorstellungen entsprach. Jetzt bin ich beim Surfen zufällig über <a href="http://runalyze.de/">runalyze</a> gestolpert und die Software kommt dem, was ich suchte, verdammt nahe.</p> <p>Man kann sich entweder auf der Seite registrieren oder runalyze auf dem eigenen Webspace/Server installieren. Ich habe mich für letzteres entschieden, da ich meine Daten gerne, soweit möglich, unter eigener Kontrolle habe. Die Installation ist denkbar einfach, man entpackt runalyze auf dem Webspace, richtet eine MySQL-Datenbank dafür ein, ruft es im Browser auf und gibt die Daten ein.</p> <p>Runalyze ist eigentlich für Läufer gedacht, bringt aber auch Profile für Radfahren, Schwimmen und Gymnastik mit. Runalyze kann Daten von Garmin-Geräten wohl direkt entgegennehmen, was ich in Ermangelung eines solchen Gerätes nicht getestet habe. Meine Radrunden tracke ich mit meinem Handy und importiere die .gpx-Datei nach runalyze. Gehe ich Schwimmen gebe ich die Daten über ein Eingabeformular manuell ein.</p> <p>Runalyze ist nach eigenen Angaben OpenSource, jedoch fand ich nirgends einen Verweis auf die Lizenz. Auf Nachfrage schrieb einer der Entwickler: </p> <blockquote><p>Wegen der Lizenz: Da haben wir uns ehrlich gesagt auch nie besonders viele Gedanken drüber gemacht. Ich dachte, wir hätten damals bei SourceForge eine angegeben, aber die konnte ich derzeit auch nicht finden.</p></blockquote> <p>Das ist für mich als <abbr title="Open Source Software">OSS</abbr>-Befürworter etwas schade, aber ich hoffe, dass das demnächst auch noch geklärt wird.</p> <p>Runalyze kann Daten auch in mehrere Formate, bzw. zu verschiedenen Diensten, exportieren: IFrame, FITLOG, Twitter, GPX, TCX, <abbr title="HyperText Markup Language">HTML</abbr>, KML, Facebook und Google+. Hier mal ein Beispiel für einen <abbr title="HyperText Markup Language">HTML</abbr>-Export:</p> <div class="runalyze-emb"><a href="http://www.runalyze.de/" class="runalyze-emb-runalyze">runalyze.de</a><strong>2,1 km Schwimmen</strong> <small>am 11.01.2014</small> <div class="runalyze-emb-infos"><span class="runalyze-emb-time">1:10:00</span><span class="runalyze-emb-pace">33:20/km</span><span class="runalyze-emb-elev">0 hm</span></div> <p><a href="https://blog.mdosch.de/2014/01/11/runalyze-sport-aktivitaeten-protokollieren" class="runalyze-emb-share"></a> <div class="runalyze-clear"></div> </div> <p><script type="text/javascript" src="http://user.runalyze.de/lib/embedded.js"></script></p> <p>Da ich meine Trainingsdaten als nicht öffentlich deklariert habe, gibt es keinen Link zu Details, aber auch das ist möglich.</p> Sat, 11 Jan 2014 13:06:00 GMT tag:blog.mdosch.de,2014-01-11:/2014/01/11/runalyze-sport-aktivitaeten-protokollieren Piwigo WordPress-PlugIn https://blog.mdosch.de/2014/01/09/piwigo-wordpress-plugin/ <p>Ich teste mal das <a href="http://blog.mdosch.de/2013/11/13/neu-pics-mdosch-de/">Piwigo</a>-<a href="http://b.joaoubaldo.com/my-projects/piwigomedia/">Plugin</a>, indem ich einfach mal ein beliebiges Bild hier einfüge.</p> <p><a class="piwigomedia-single-image" href="https://blog.mdosch.de//mdosch.de/piwigo/picture.php/6/category/1" target="_self"><img class="aligncenter" alt="" src="https://blog.mdosch.de//mdosch.de/piwigo/_data/i/upload/2013/11/12/20131112230044-cbcfa4dd-th.jpg"/></a></p> Thu, 09 Jan 2014 18:44:00 GMT tag:blog.mdosch.de,2014-01-09:/2014/01/09/piwigo-wordpress-plugin Debian: Manpages über Firefox-Suche öffnen https://blog.mdosch.de/2013/12/14/debian-manpages-ueber-firefox-suche-oeffnen/ <p>Die <a href="http://manpages.debian.net">Debian-Manpages</a> können seit kurzem auch im Browser gelesen werden. Das finde ich angenehmer als im Terminal zu lesen und benutze sie häufig. Ich habe mehrere Suchmaschinen im Firefox (bzw. Iceweasel, da ich ja Debian nutze) und habe für diese Such-Kürzel eingerichtet. D.h. möchte ich auf Wikipedia suchen gebe ich einfach <code>w SUCHBEGRIFF</code> in die Adressleiste des Browsers ein. Für die Debian-Manpages gibt es leider kein Suchmaschinen-PlugIn für den Firefox, aber auf <a href="http://de.wikihow.com/Eine-pers%C3%B6nlich-angepasste-Suchmaschine-in-Firefox-einrichten-%28Windows-Version%29">dieser Seite</a> habe ich eine Lösung gefunden.<br /> Man muss lediglich das AddOn <a href="https://addons.mozilla.org/en-US/firefox/addon/3682">Add to Searchbar</a> installieren. Danach führt man einen Rechtsklick auf das Suchfenster aus und wählt <em>Zur Suchleiste hinzufügen&#8230;</em> und gibt bei <em>Schlüsselwort</em> das gewünschte Kürzel ein. In meinem Fall habe ich <em>m</em> gewählt und kann nun mittels <code>m PROGRAMMNAME</code> im Firefox/Iceweasel die gewünschte Manpage aufrufen.</p> Sat, 14 Dec 2013 09:16:00 GMT tag:blog.mdosch.de,2013-12-14:/2013/12/14/debian-manpages-ueber-firefox-suche-oeffnen Debian GNULinux auf dem Chromebook Acer C720 installieren. https://blog.mdosch.de/2013/12/04/debian-gnulinux-auf-dem-chromebook-acer-c720-installieren/ <p>Um auf Dienstreisen ein kleines handliches Netbook zum Surfen dabei zu haben, habe ich mich nach einem praktischen Netbook umgesehen und mich für das <a href="http://www.acer.de/ac/de/DE/content/series/c720">Acer C720</a> entschieden. Dieses wird mit ChromeOS vertrieben, welches natürlich einem Debian GNU/Linux weichen musste. ;)</p> <p>Um ein anderes Betriebssystem booten zu können muss &#8220;legacy boot&#8221; bzw. SeaBIOS aktiviert werden, dazu benötigt man den &#8220;developer mode&#8221;, den ich nach einer Beschreibung im <a href="https://wiki.archlinux.org/index.php/Acer_C720_Chromebook">Arch-Wiki</a> aktiviert habe.</p> <p>Danach kann man beim booten mittels <code>Ctrl+L</code> einen <abbr title="Universal Serial Bus">USB</abbr>-Stick mit einem Debian-Image booten und die Installation wie gewohnt fortsetzen. Ich habe den aktuellen Debian Testing (Jessie) Installer benutzt. Nach dem Anlegen der Partitionen gab es eine Fehlermeldung bzgl. des Kernels und der Partitionen (ich habe sie leider nicht notiert und gerade nicht mehr parat), aber im zweiten Anlauf lief der Installationsprozess problemlos durch.</p> <p>Nach der Installation war leider das Touchpad ohne Funktion. Dies habe ich zum Glück nach Web-Recherche lösen können. Dazu habe ich den aktuellen <a href="https://www.kernel.org/">Kernel</a> (derzeit 3.12.2) im Quelltext heruntergeladen und eine Reihe von <a href="https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/">Patches</a> eingefügt. Dabei ist darauf zu achten, dass auch das Modul für ChromeOS-Laptops in der .config eingebunden wird:</p> <div class="highlight"><pre><span></span>CONFIG_CHROMEOS_LAPTOP=m </pre></div> <p><strong>[Update 2013-12-13]</strong> </p> <p>Ich habe nun die Patches zu <a href="https://files.mdosch.de/2013-12/patch-c720.patch">einem Patch</a> zusammegefasst. Dieser kann mittels</p> <div class="highlight"><pre><span></span>cat patch-c720.patch | patch -p1 </pre></div> <p>angewandt werden, wenn man sich im Wurzelverzeichniss des Quellcodes (z.B. <code>/usr/src/linux-3.12.5/</code>) befindet.</p> <p><strong>[Update 2013-12-07]</strong></p> <p>Ich habe heute den aktuellen Kernel neu aus den aktuellen Sourcen von kernel.org gebaut und beschlossen ihn hier zum Download anzubieten, damit er nicht von jedem selbst gebaut werden muss. Die <a href="https://files.mdosch.de/2013-12/.config">Konfiguration</a> entspricht dem Debian-Kernel mit der Ausnahme, dass das Modul <em>chromeos_laptop</em> aktiviert ist und die, oben genannten, Patches integriert sind. Bei neuen Modulen wurde die Standard-Auswahl angewandt.</p> <p><strong>[Update 2014-01-18] Kernel 3.12.8</strong></p> <p><a href="https://files.mdosch.de/acer-c720-kernel/">Kernel 3.12.8 für Acer C720</a></p> <p>Ab jetzt werde ich nicht mehr jedes Mal, wenn ich einen neuen Kernel baue diesen Beitrag aktualisieren. Der Link führt nun dauerhaft zu dem letzten Kernel, den ich gebaut habe. Dafür werde ich für jeden neuen Kernel eine kurze Notiz posten, was man über diesen <a href="http://blog.mdosch.de/tag/acer-c720/">Feed</a> verfolgen kann. Das sollte übersichtlicher sein, als diesen Beitrag zu beobachten.</p></p> <p>Ob der Kernel dauerhaft online bleibt, oder ob ich ihn bei Gelegenheit durch neue Versionen austausche, kann ich noch nicht sagen, aber ich vermute ich werde häufiger neue Versionen kompilieren, da bei so neuer Hardware bei neuen Kernel-Versionen häufig Verbesserungen wahrzunehmen sind.</p></p> <p><strong>[Update 2013-12-11]</strong></p> <p>Mittlerweile hat die Information, dass man das Touchpad unter Linux verwenden kann, auch im <a href="https://wiki.archlinux.org/index.php/Acer_C720_Chromebook">Arch-Wiki</a> Einzug gehalten. Dort findet man auch einen Eintrag für die <em>xorg.conf</em> um das Touchpad sinnvoll zu konfigurieren:</p> <div class="highlight"><pre><span></span>Section &quot;InputClass&quot;     Identifier      &quot;touchpad peppy cyapa&quot;     MatchIsTouchpad &quot;on&quot;     MatchDevicePath &quot;/dev/input/event*&quot;     MatchProduct    &quot;cyapa&quot;     Option          &quot;FingerLow&quot; &quot;10&quot;     Option          &quot;FingerHigh&quot; &quot;10&quot; EndSection </pre></div> <p>Wenn man Probleme damit hat, dass sich der Mauszeiger beim Klicken vom Zielobjekt wegbewegt kann man die Werte <em>FingerLow</em> und <em>FingerHigh</em> anpassen. Höhere Werte bedeuten das Touchpad reagiert weniger empfindlich. Zur Erklärung für Leute, die das C720 nicht kennen: Das Touchpad unterscheidet sich von herkömmlichen Touchpads, da es beim Klicken nachgibt wie eine Maustaste.</p> <p><strong>[Update 2014-09-19]</strong></p> <p>Ich habe mittlerweile <a href="http://www.circuidipity.com/c720-sidbook.html">hier</a> eine gute Anleitung zur Installation von Debian auf dem <em>Acer C720</em> gefunden. Dort wird auch beschrieben, wie man den <em>legacy boot</em> dauerhaft aktivieren kann. Das hat den Vorteil, dass man nicht mehr die Tastenkombination <code>Ctrl+L</code> benötigt und nicht mehr aus Versehen durch Betätigung von <code>Space</code> den Bootloader (Oder die ganze Installation? Ich habe es nicht getestet.) zerstören kann. Einen Haken hat die Sache jedoch: Man muss das C720 öffnen, was zum Verfall der Garantie führt. Ich habe die nötigen Schritt kurz <a href="http://blog.mdosch.de/2014/09/14/acer-chromebook-c720-legacy-boot-dauerhaft-aktivieren/">zusammengefasst</a>.</p> Wed, 04 Dec 2013 17:15:00 GMT tag:blog.mdosch.de,2013-12-04:/2013/12/04/debian-gnulinux-auf-dem-chromebook-acer-c720-installieren Goodbye last.fm – Hello libre.fm https://blog.mdosch.de/2013/12/01/goodbye-last-fm-hello-libre-fm/ <p>Ich hatte mich zwar vor längerer Zeit schon mal bei <a href="http://libre.fm">libre.fm</a> registriert, es aber nie genutzt. Ich habe sogar meine Anmeldedaten komplett vergessen. :)<br /></p> <p>Da ich, wo es möglich ist, freie Software bevorzuge war der Wechsel von <a href="http://last.fm">last.fm</a> zu libre.fm längst überfällig. Ich habe mir nun ein neues Konto bei libre.fm erstellt und mein last.fm-Profil gelöscht.<br /> Zuvor habe ich aber mit <a href="http://encukou.github.io/lastscrape-gui/">lastscrape</a> meine Daten von last.fm lokal gesichert und derzeit lädt das Tool diese zu libre.fm hoch. Es geht also nichts verloren. ;)</p> <p>Mein Audioplayer <a href="http://www.clementine-player.org/">Clementine</a> hat zwar keine Unterstützung für libre.fm an Bord, das ist aber auch nicht nötig, da die <abbr title="Application Programming Interface">API</abbr> von libre.fm kompatibel zur <abbr title="Application Programming Interface">API</abbr> von last.fm ist. Das kann man nutzen um die last.fm-Unterstützung von Playern mit libre.fm zu nutzen. Dazu trägt man folgendes in der <code>/etc/hosts</code> ein:</p> <div class="highlight"><pre><span></span>149.20.54.250 post.audioscrobbler.com 149.20.54.250 ws.audioscrobbler.com </pre></div> <p>Quelle: <a href="http://bugs.foocorp.net/projects/librefm/wiki/Using_turtle">http://bugs.foocorp.net/projects/librefm/wiki/Using_turtle</a></p> <p>Die Daten werden somit zu libre.fm umgeleitet. Im Audioplayer, in meinem Fall Clementine, muss man dann bei den last.fm-Anmeldedaten dann nur noch den Benutzernamen und das Passwort von libre.fm eintragen. <br /> Auf meinem Android-Handy benutze ich die App <a href="https://play.google.com/store/apps/details?id=com.adam.aslfms&amp;hl=de">Simple last.fm Scrobbler</a>, die ich weiter verwenden kann, da diese von Haus aus libre.fm unterstützt. :) Natürlich darf auch der Verweis auf mein <a href="http://libre.fm/user/mdosch">Profil</a> nicht fehlen. ;)</p> Sun, 01 Dec 2013 16:00:00 GMT tag:blog.mdosch.de,2013-12-01:/2013/12/01/goodbye-last-fm-hello-libre-fm DR14 T.meter unter Debian installieren. https://blog.mdosch.de/2013/11/16/dr14-t-meter-unter-debian-installieren/ <p>Gestern wollte ich den <a href="http://dr14tmeter.scienceontheweb.net/index.php?title=Main_Page">DR14 T.meter</a>, ein Tool zur Berechnung der dynamic range eines Songs, installieren, was aber unter Debian scheiterte:</p> <div class="highlight"><pre><span></span>dpkg -i /home/martin/Downloads/dr14tmeter_1.0.12-1_all.deb (Reading database ... 129551 files and directories currently installed.) Preparing to replace dr14tmeter 1.0.12-1 (using .../dr14tmeter_1.0.12-1_all.deb) ... Unpacking replacement dr14tmeter ... dpkg: dependency problems prevent configuration of dr14tmeter: dr14tmeter depends on ffmpeg; however: Package ffmpeg is not installed. dpkg: error processing dr14tmeter (--install): dependency problems - leaving unconfigured Processing triggers for man-db ... Errors were encountered while processing: dr14tmeter </pre></div> <p>Der Ersteller des Paketes teilte mir mit, es nur unter Ubuntu getestet zu haben, also habe ich kurzerhand <em>ffmpeg</em> in der Datei <em>debian/control</em> entfernt und das Paket neu gebaut: <del datetime="2013-12-01T10:55:32+00:00"><a href="https://files.mdosch.de/deb/dr14tmeter_1.0.12-1_all.deb">dr14tmeter_1.0.12-1_all.deb</a><br /> MD5-Sum: ed80cc6e6a6c720f23d949dd1beb976a</del></p> <p><del datetime="2013-12-01T10:55:32+00:00">Ich habe außer dem Entfernen der Abhängigkeit von ffmpeg (wurde bei debian durch avconf ersetzt), nichts geändert. Trotzdem übernehme ich keinerlei Garantie für das Paket.</del></p> <p><strong>[Nachtrag 2013-12-01]</strong> Ich habe festgestellt, dass die Änderung das Paket zwar installierbar macht, aber dass das dekodieren bei flac und anderen Formaten, für die ffmpeg verwendet wird, nicht funktioniert. Nun habe ich im Quelltext einfach ffmpeg durch avconv ersetzt und in der Datei <em>debian/control</em> avconv als Abhängigkeit angegeben. Funktioniert zwar bei mir gut, dennoch gebe ich keinerlei Garantie für das Verhalten des Programms.</p> <p><a href="https://files.mdosch.de/2013-12/dr14tmeter_1.0.12-1_all.deb" title="dr14tmeter_1.0.12-1_all.deb">dr14tmeter_1.0.12-1_all.deb</a><br /> MD5-SUM: 013e4f47d5c032f6acfe452a755c6e57</p> <p><a href="https://files.mdosch.de/2013-12/dr14tmeter_1.0.12-1.dsc" title="dr14tmeter_1.0.12-1.dsc">dr14tmeter_1.0.12-1.dsc</a><br /> MD5-SUM: 3cc8b31fe199e288206401309282c42f</p> <p><a href="https://files.mdosch.de/2013-12/dr14tmeter_1.0.12-1.tar.gz" title="dr14tmeter_1.0.12-1.tar.gz">dr14tmeter_1.0.12-1.tar.gz</a><br /> MD5-SUM: 8f4f6e37f7590066124b551b35ff6a84</p> Sat, 16 Nov 2013 11:14:00 GMT tag:blog.mdosch.de,2013-11-16:/2013/11/16/dr14-t-meter-unter-debian-installieren Neu: pics.mdosch.de https://blog.mdosch.de/2013/11/13/neu-pics-mdosch-de/ <p>Ich habe gestern mal testweise <a href="http://de.piwigo.org/">Piwigo</a> unter <a href="http://pics.mdosch.de">pics.mdosch.de</a> (auch hier im Blog über den Link &#8220;Fotos&#8221; zu erreichen) eingerichtet. Piwigo ist eine OpenSource-Bildergalerie und wird evtl. bei Gefallen <a href="http://mdosch.deviantart.com">DeviantArt</a> ersetzen.<br /> Ich bin zwar momentan dabei, wo möglich, alle amerikanischen Dienste zu ersetzen aber bei DeviantArt ist dies nicht der eigentliche Grund. Bilder, die ich bei DeviantArt hoste möchte ich eh veröffentlichen und sind daher nichts sensibles. Aber DeviantArt ist relativ träge und die ganze Community außenrum ist mir nicht so wichtig. Piwigo ist deutlich flotter und ich muss die Bilder nicht unbedingt über ein Webinterface hochladen, da Piwigo von <a href="http://piwigo.wordpress.com/2010/11/17/publish-photos-from-shotwell-to-piwigo/">Shotwell</a> (und anderen Programmen) unterstützt wird.</p> Wed, 13 Nov 2013 10:20:00 GMT tag:blog.mdosch.de,2013-11-13:/2013/11/13/neu-pics-mdosch-de GDB-Ausgaben automatisch in eine Datei schreiben https://blog.mdosch.de/2013/11/06/gdb-ausgaben-automatisch-in-eine-datei-schreiben/ <p>Gelegentlich stolpert man mal über Programme, die bei bestimmten Aktionen abstürzen. Als Linux-User möchte man dann natürlich den Entwicklern, die uns die Software meist kostenlos zur Verfügung stellen, dann natürlich helfen indem man einen Fehlerbericht (Bugreport) sendet und ggf. schon Informationen zur Lokalisierung des Fehlers beisteuert.<br /> Letzters kann man tun indem man genau schreibt wie sich der Fehler reproduzieren lässt und einen <a href="https://de.wikipedia.org/wiki/Backtrace">Backtrace</a> anhängt.</p> <p>Bisher habe ich die Ausgaben des Debuggers <a href="http://www.sourceware.org/gdb/">GDB</a> mühsam aus dem Terminal in eine Textdatei kopiert, da ich es nie hinbekam die Ausgaben in eine Textdatei umzuleiten. Heute fiel es mir wie Schuppen von den Augen: Das geht doch ganz einfach mit <a href="http://linux.die.net/man/1/tee">tee</a>. Die meisten Shell-Profis werden hier natürlich lachen, aber ich kam bisher noch nicht auf die Idee, das mit <em>tee</em> zu lösen. :D</p> <p>Ich zeige das Vorgehen kurz am Beispiel des Programmes GIMP.</p> <p>Mein bisheriges Vorgehen:<br /></p> <div class="highlight"><pre><span></span>gdb gimp run </pre></div> <p>Dann bringt man das Programm zum Absturz und gibt darauf folgendes ein:</p> <div class="highlight"><pre><span></span>bt full&gt; </pre></div> <p>Um die Ausgaben in die Datei <em>gimp.txt</em> im aktuellen Ordner zu schreiben muss man den Aufruf nur leicht modifizieren:</p> <div class="highlight"><pre><span></span>gdb gimp | tee gimp.txt run </pre></div> Wed, 06 Nov 2013 18:17:00 GMT tag:blog.mdosch.de,2013-11-06:/2013/11/06/gdb-ausgaben-automatisch-in-eine-datei-schreiben XMPP: GMX – Probleme mit Nicht-Standard-Ports? https://blog.mdosch.de/2013/10/27/xmpp-gmx-probleme-mit-nicht-standard-ports/ <p>Ich habe auf meinem <a href="https://uberspace.de">uberspace</a> <a href="http://prosody.im/">Prosody</a> als XMPP-Server (Jabber-Server) laufen. Mit Hilfe der Anleitungen <a href="https://blog.rt.fm/">hier</a> und <a href="http://blog.dictvm.org/prosody-auf-dem-uberspace/">hier</a>, war die Einrichtung auch kein Problem.<br /> Da Uberspace ein Shared-Hoster ist konnte ich nicht die Standard-Ports nutzen, sondern habe mir zur c2s- (Client to Server) und s2s-Kommunikation (Server to Server) andere Ports freischalten lassen. Das funktioniert bisher auch sehr gut mit allen getesteten XMPP-Servern, außer mit GMX-Servern. Schreibe ich Leute auf einem GMX-Server an, kommt die Nachricht einfach nicht an und auf der Pidgin-XMPP-Konsole kommt irgendwann ein Time-Out. Versucht man mich von einem GMX-Server aus anzuschreiben erhält man eine 404-Meldung &#8220;no route to host&#8221;.<br /> Nun habe ich mit den freundlichen Leuten aus dem Prosody <a href="http://prosody.im/discuss#chatroom">Entwickler-Chat</a> etwas Fehlersuche betrieben und wir kamen zu dem Schluss, dass GMX wohl ein Problem mit XMPP-Servern hat deren Ports vom Standard abweichen.<br /> Ich habe mittlerweile GMX angeschrieben und hoffe, dass ich eine Antwort bekomme ob sich dies wirklich so verhält. Hat evtl. jemand auch schon Erfahrungen mit GMX und Nicht-Standard-Ports gemacht? </p> <p>Btw, ich habe mal einen Beitrag zu Prosody im <a href="https://wiki.debianforum.de/Prosody">Debianforum-Wiki</a> angelegt und es ist jeder eingeladen diesen zu uberprüfen und ggf. zu korrigieren oder zu erweitern. ;)</p> Sun, 27 Oct 2013 10:24:00 GMT tag:blog.mdosch.de,2013-10-27:/2013/10/27/xmpp-gmx-probleme-mit-nicht-standard-ports ezmlm-idx und der owner https://blog.mdosch.de/2013/09/21/ezmlm-idx-und-der-owner/ <p>Beim Einrichten meiner Mailingliste mit ezmlm-idx bin ich nach der <a href="http://uberspace.de/dokuwiki/mail:ezmlmidx">Anleitung</a> bei uberspace.de vorgegangen. Dabei habe ich vergessen einen owner festzulegen. Bei einem Test habe ich festgestellt, dass Emails an ADRESSE-owner@Domain.TLD nicht bei mir ankommen, sondern in der eigenen Mailbox LISTENNAME/Maildir landen. Ich möchte diese Adresse aber nicht extra als neues Konto in meinem Email-Client hinzufügen, also sollen die Emails an meine übliche Email-Adresse weitergeleitet werden. Da ich mit der ezmlm-make-Syntax nicht so firm bin und die gut funktionierende Mailingliste nicht beschädigen wollte habe ich beschlossen nicht mit ezmlm-make die Änderung vorzunehmen. Intuitiv habe ich einfach die Datei .qmail-ADRESSE-owner bearbeitet und als einzigen Inhalt die Email-Adresse, an die weitergeleitet werden soll, eingetragen und es funktioniert. :)<br /><br /> LISTENNAME ist der Name, der beim Anlegen der Mailingliste vergeben wurde und ADRESSE der Part vor dem @ der Mailinglisten-Email-Adresse.</p> Sat, 21 Sep 2013 15:16:00 GMT tag:blog.mdosch.de,2013-09-21:/2013/09/21/ezmlm-idx-und-der-owner Direktkandidaten-Check https://blog.mdosch.de/2013/09/20/direktkandidaten-check/ <p>Der Wahlkampf geht in den Endspurt und in zwei Tagen wird gewählt. Kurz vor der Bundestagswahl habe ich bei <a href="http://www.abgeordnetenwatch.de/">abgeordnetenwatch</a> noch einen <a href="http://kandidatencheck.abgeordnetenwatch.de/bundestagswahl-1481-0.html">Direktkandidaten-Check</a> entdeckt.<br /> Man wählt seinen Wahlkreis aus und beantwortet, ähnlich dem Wahl-O-Mat, eine Reihe von Fragen und erhält anschließend eine Übersicht wie groß die Übereinstimmung mit den antretenden Direktkandidaten ist.<br /> Nachdem <a href="http://feltel.de/blog/2013/08/29/wahl-o-mat-bundestagswahl-2013/">Feltel</a> eine politische Runde ausgerufen hat, auf die ich auch <a href="http://blog.mdosch.de/2013/08/30/wahl-o-mat-bundestagswahl-und-landtagswahl-bayern/">geantwortet</a> habe führ ich das mal weiter. Wäre schön, wenn ein paar Leute aus dem dfde-Planet auch teilnehmen. ;)</p> <p>Hier mein Ergebnis:</p> <ul> <li> <p>Prof. Dr. Klaus Buchner (ÖDP)<br /> 17 Übereinstimmungen bei 24 Thesen</li> <li> <p>Dr. Stephanie Hentschel (FREIE WÄHLER)<br /> 17 Übereinstimmungen bei 24 Thesen</li> <li> <p>Holger van Lengerich (Piratenpartei)<br /> 16 Übereinstimmungen bei 24 Thesen</li> <li> <p>Ulrike Goldstein (GRÜNE)<br /> 14 Übereinstimmungen bei 24 Thesen</li> <li> <p>Claudia Tausend (SPD)<br /> 14 Übereinstimmungen bei 24 Thesen</li> <li> <p>Oguz Lüle (DIE LINKE)<br /> 13 Übereinstimmungen bei 24 Thesen</li> <li> <p>Manfred Krönauer (FDP)<br /> 12 Übereinstimmungen bei 24 Thesen</li> <li> <p>Wolfgang Stefinger (CSU)<br /> 11 Übereinstimmungen bei 24 Thesen</li> <li> <p>Erich Kaisersberger (BüSo)<br /> Kandidat hat sich nicht beteiligt</li> <li> <p>Christa Philipp (BAYERNPARTEI)<br /> Kandidat hat sich nicht beteiligt</li> <li> <p>Karl Richter (NPD)<br /> Kandidat hat sich nicht beteiligt</li> </ul> Fri, 20 Sep 2013 14:38:00 GMT tag:blog.mdosch.de,2013-09-20:/2013/09/20/direktkandidaten-check Landtagswahl Bayern: Stimme für die Tonne? https://blog.mdosch.de/2013/09/15/landtagswahl-bayern-stimme-fuer-die-tonne/ <p>Ich habe es zwar leider nicht selbst gesehen, da ich meine Stimme bereits per Briefwahl abgegeben habe, aber dieses <a href="https://twitter.com/gutjahr/status/379191957807177728/photo/1">Bild</a> der Wahl-Urnen finde ich sehr amüsant. :D </p> <p>Die Wahl-Urnen sind Mülltonnen mit dem Münchner Stadtwappen. Ich hoffe doch stark, dass damit nicht zum Ausdruck gebracht werden soll die Stimmen wären für die Tonne. Und falls sich jemand über die Farbgebung (gelb/schwarz) wundert: Dahinter würde ich kein politisches Statement vermuten, bei den Farben handelt es sich schlicht um die Münchner Stadtfarben.</p> Sun, 15 Sep 2013 14:17:00 GMT tag:blog.mdosch.de,2013-09-15:/2013/09/15/landtagswahl-bayern-stimme-fuer-die-tonne Geocaching: Enigma-Geocoin in Bletchley Park gelandet https://blog.mdosch.de/2013/09/15/geocaching-enigma-geocoin-in-bletchley-park-gelandet/ <p>Ich kam zwar schon lange nicht mehr zum <a href="https://de.wikipedia.org/wiki/Geocaching">Geocaching</a>, aber immerhin habe ich eine eigene <a href="https://de.wikipedia.org/wiki/Geocoin">Geocoin</a> auf die Reise geschickt und habe so, durch das Verfolgen ihrer Reise, noch etwas Kontakt zu diesem Hobby.<br /> Nachdem meine <a href="https://de.wikipedia.org/wiki/Enigma_(Maschine)">Enigma</a>-<a href="http://www.geocoinshop.de/Geocoins-Specials/Enigma-Geocoin-Poliertes-Silber-Black-Nickel::1162.html">Geocoin</a> mittlerweile in England unterwegs war, nahm ich dies zum Anlass ihr Ziehl von &#8220;<em>Travel around the world.</em>&#8221; zu &#8220;<em>Visit <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=68afc389-de42-499b-92dc-375d9cc49f49">Bletchley Park</a>.</em>&#8221; zu ändern.<br /> In <a href="https://de.wikipedia.org/wiki/Bletchley_Park">Bletchley Park</a> arbeiteten die Alliierten im 2. Weltkrieg an der Entschlüsselung von Nachrichten, welche die Deutschen mit der Enigma verschlüsselt hatten. Wer an diesem Thema interessiert ist, dem kann ich &#8220;<em><a href="https://de.wikipedia.org/wiki/Geheime_Botschaften">Geheime Botschaften</a></em>&#8221; von Simon Singh nahe legen. Auch der Roman &#8220;<em><a href="https://de.wikipedia.org/wiki/Enigma_%28Buch%29">Enigma</a></em>&#8221; von Robert Harris ist sehr interessant.<br /> Vor diesem geschichtlichen Hintergrund dachte ich, es ist fast Pflicht, dass meine Coin Bletchley Park besucht, wenn sie schon in England ist. Schön, dass es geklappt hat. :)</p> Sun, 15 Sep 2013 11:06:00 GMT tag:blog.mdosch.de,2013-09-15:/2013/09/15/geocaching-enigma-geocoin-in-bletchley-park-gelandet Neues Theme um Google-APIs bereinigt. https://blog.mdosch.de/2013/09/13/neues-theme-um-google-apis-bereinigt/ <p>Das neue Theme nutzt die Google-APIs um Schriften nachzuladen. Das musste ich natürlich ändern, schließlich möchte ich nicht für Google tracken. Zum Glück fand ich einen <a href="http://www.coder-welten.com/web-fonts-ersetzen/">Blogeintrag</a> mit einer Beschreibung die Google-Fonts durch eigene zu ersetzen.<br /> Ich habe nun von <a href="http://www.fontsquirrel.com/">font-squirrel</a> die bekannte Schriftart <del datetime="2013-09-13T15:57:59+00:00">Bitstream-Vera-Sans</del> <a href="http://www.fontsquirrel.com/fonts/open-sans?q=Open+Sans#fontface">Open-Sans</a> unter einer Apache-Lizenz heruntergeladen und eingebunden. Ich werde nun ein paar Tage abwarten um zu sehen, ob mir die Schrift auch im Dauertest auf der Seite gefällt und dann entscheiden ob ich sie beibehalte oder eine neue teste.</p> <p><strong>[Nachtrag 2014-01-11]</strong> Im <a href="http://blog.schockwellenreiter.de/2014/01/20140102.html#p01">Schockwellenreiter</a> stolperte ich über das PlugIn <a href="http://blog.milandinic.com/wordpress/plugins/disable-google-fonts/">Disable Google Fonts</a>. Wenn nach dem nächsten Theme-Update meine Änderungen wieder überschrieben werden, werde ich das PlugIn mal testen. </p> Fri, 13 Sep 2013 15:08:00 GMT tag:blog.mdosch.de,2013-09-13:/2013/09/13/neues-theme-um-google-apis-bereinigt ezmlm-idx und der Präfix https://blog.mdosch.de/2013/09/12/ezmlm-idx-und-der-praefix/ <p>Beim Umzug auf <a href="https://uberspace.de">uberspace</a> habe ich auch meine Mailingliste mit umgezogen. Vorher verwendete ich <a href="https://www.gnu.org/software/mailman/index.html">mailman</a>, uberspace verwendet aber, das mir bis dahin unbekannte, <a href="http://untroubled.org/ezmlm/">ezmlm-idx</a>. Die Einrichtung ist zwar im <a href="http://uberspace.de/dokuwiki/mail:ezmlmidx">uberspace-wiki</a> gut beschrieben, ein Detail fehlte mir dort aber noch: Der Präfix.<br /> Die meisten Mailinglisten verwenden einen Präfix, der dem Betreff vorangestellt wird, z.B. in der Form <em>[Mailinglistenname] Betreff</em>. Nach kurzer Recherche fand ich heraus, dass sich dieses Verhalten auch sehr leicht unter ezmlm <a href="http://untroubled.org/ezmlm/man/man1/ezmlm-send.1.html">konfigurieren</a> lässt. Man muss lediglich im Mailinglisten-Ordner eine Datei namens <em>prefix</em> anlegen. Die erste Zeile dieser Datei wird, mit einem Leerzeichen getrennt, vor dem Betreff eingefügt. In meinem Beispiel muss man also lediglich eine Datei <em>prefix</em> mit dem Inhalt <em>[Mailinglistenname]</em> anlegen.</p> Thu, 12 Sep 2013 19:01:00 GMT tag:blog.mdosch.de,2013-09-12:/2013/09/12/ezmlm-idx-und-der-praefix Umzug komplett https://blog.mdosch.de/2013/09/12/umzug-komplett/ <p>So, mittlerweile sind meine Domain, mein Blog, mein Email-Account, mein privates Forum, meine private Mailingliste, mein Piwik, mein ttrss und meine Owncloud bei uberspace. So ein Umzug ist natürlich an manchen Stellen etwas hakelig, aber im Großen und Ganzen war es wesentlich einfacher als befürchtet.</p> <p>Da beim Umzug mein Design etwas kaputt gegangen ist, habe ich es gleich mal etwas umgestellt. Das bisherige <a href="https://mdosch.deviantart.com/art/Starfield-334987899">Starfield</a>-Hintergrundbild war doch etwas kitschig und passte auch thematisch nicht zu diesem Blog.<br /> Ich habe es durch den Hintergrund ersetzt, den ich auch schon in meinem Forum verwende. Erstellt wurde dieser Hintergrund von Johannes Jordan für ein <a href="http://newsboard.unclassified.de/">UNB</a>-Theme, welches für ein <a href="https://fsi.informatik.uni-erlangen.de/forum/">Forum</a> der Uni Erlangen erstellt wurde. Das Theme wurde mir unter <a href="http://creativecommons.org/licenses/by-sa/3.0/de/">CC BY-SA</a> zur Verfügung gestellt.</p> <p><a href="https://uberspace.de/"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/09/badge-white-5cc75eee4e195376efb9c5742be81508653ea8e1.png" alt="badge-white-5cc75eee4e195376efb9c5742be81508653ea8e1" width="150" height="80" class="aligncenter size-full wp-image-308"/></a></p> Thu, 12 Sep 2013 18:13:00 GMT tag:blog.mdosch.de,2013-09-12:/2013/09/12/umzug-komplett Harald Lesch: Zinseszins – Das perfekte Verbrechen https://blog.mdosch.de/2013/09/08/harald-lesch-zinseszins-das-perfekte-verbrechen/ <p><a href="https://de.wikipedia.org/wiki/Harald_Lesch">Harald Lesch</a> hält große Teile der Finanzwelt für verbrecherisch:</p> <iframe width="640" height="360" src="https://www.youtube.com/embed/H2WcRgZfyVE?feature=player_embedded" frameborder="0" allowfullscreen></iframe> <p>Da kann ich dem Herrn Professor nur zustimmen. (Gefunden im <a href="http://blog.schockwellenreiter.de/tv/2013/201308video19.html">Schockwellenreiter</a>)</p> <p>Dazu passt auch gut folgender Ausschnitt von <a href="https://de.wikipedia.org/wiki/Erwin_Pelzig">Frank-Markus Barwasser</a> alias <a href="http://www.pelzig.de/">Erwin Pelzig</a> bei <a href="http://anstalt.zdf.de/">Neues aus der Anstalt</a>:</p> <iframe width="640" height="360" src="https://www.youtube.com/embed/7s1-sD9449c?feature=player_detailpage" frameborder="0" allowfullscreen></iframe> Sun, 08 Sep 2013 17:10:00 GMT tag:blog.mdosch.de,2013-09-08:/2013/09/08/harald-lesch-zinseszins-das-perfekte-verbrechen GMX will DE-Mail forcieren https://blog.mdosch.de/2013/09/06/gmx-will-de-mail-forcieren/ <p>Da landet tatsächlich eine Email von GMX mit dem reißerischen Betreff <em>&#8220;Achtung: Sie sind nicht erreichbar!&#8221;</em> und folgendem Inhalt in meinem Posteingang:</p> <blockquote><p>GMX De-Mail<br /> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /> Achtung: Seien Sie erreichbar!<br /> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /> Sehr geehrter Herr Dosch, </p> <p>es besteht Ihrerseits Handlungsbedarf, denn Sie sind per De-Mail<br /> derzeit nicht erreichbar!</p> <p>Momentan könnten wir Ihnen daher keine [1] De-Mail, z. B. von der<br /> Deutschen Rentenversicherung, Ihrer Bank oder anderer<br /> Institutionen aus Miltenberg, zustellen.</p> <p>Sie benötigen für den Empfang einer De-Mail ein persönliches<br /> De-Mail Postfach. </p> <p>Wie Sie wissen ist der E-Mail-Verkehr zwischen einem<br /> E-Mail-Postfach und einem De-Mail-Postfach nicht (!) möglich. </p> <p>Eröffnen Sie daher noch heute Ihr De-Mail-Postfach als kostenlose<br /> Ergänzung zu Ihrem E-Mail-Postfach.<br /> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br /> Das geht ganz einfach: </p> <p>• Klicken Sie auf &#8220;Jetzt starten!&#8221;</p> <p>• Loggen Sie sich ggf. in Ihrem Postfach ein.</p> <p>• Ergänzen und überprüfen Sie Ihre Angaben. </p></blockquote> <p>Anscheinend kommt die <a href="https://de.wikipedia.org/wiki/De-Mail">DE-Mail</a> nicht gut an, wenn GMX schon auf diese Art versucht es an den Mann zu bringen. Vor allem mißfällt mir, dass versucht wird den Eindruck zu erwecken man bräuchte DE-Mail (<em>&#8220;..es besteht Ihrerseits Handlungsbedarf&#8230;&#8221;</em>).<br /> Auf die Fehler bzw. Nachteile, wie fehlende <a href="https://de.wikipedia.org/wiki/Ende-zu-Ende-Verschl%C3%BCsselung">Ende-zu-Ende-Verschlüsselung</a>, von DE-Mail wird selbstverständlich nicht eingegangen.<br /> Ich will die Nachteile gar nicht noch mal aufzählen, da zu DE-Mail mittlerweile genug geschrieben wurde, unter anderem mehrfach vom Chaos Computer Club (CCC) [<a href="http://www.ccc.de/de/updates/2013/de-mail-unqualifizierte-makulatur">1</a>][<a href="http://www.ccc.de/de/updates/2013/sommermaerchen">2</a>], den <a href="http://wiki.piratenpartei.de/De-Mail">Piraten</a>, <a href="http://www.heise.de/newsticker/meldung/Frische-Angebote-fuer-De-Mail-und-neue-Kritik-1886448.html">heise</a> und diversen Blogs z.B. <a href="http://campino2k.de/2010/08/17/warum-die-de-mail-und-der-e-postbrief-und-ihr-scheitern-so-wichtig-sind/">campino2k</a>.</p> <p>Ich persönlich werde mir auf keinen Fall, zu diesen Bedingungen, eine DE-Mail-Adresse zulegen und habe bisher auch jedem, der mich fragte, davon abgeraten. Stattdessen werde ich weiter auf <a href="http://stadt-bremerhaven.de/e-mails-verschluesseln-thunderbird-enigmail-und-gnupg-unter-windows-einrichten/">Email-Verschlüsselung mittels GPG</a> setzen und hoffe, dass sich das endlich weiter verbreitet.<br /> Ich habe hier bewusst eine GPG-Anleitung für Windows verlinkt, da Email-Verschlüsselung unter Linux eh schon weit verbreitet ist und es in den Wikis der Distributionen schon gute Anleitungen gibt.</p> Fri, 06 Sep 2013 16:28:00 GMT tag:blog.mdosch.de,2013-09-06:/2013/09/06/gmx-will-de-mail-forcieren Piwik: Opt-Out https://blog.mdosch.de/2013/09/01/piwik-opt-out/ <p>Zur Analyse der Seitenaufrufe verwende ich lokal <a href="http://blog.mdosch.de/2013/06/15/piwik/">Piwik</a>, das hat den Vorteil dass Besucher nicht über mehrere Seiten hinweg getracked werden, wie bspw. bei Google-Analytics.<br /> Piwik ist zwar so konfiguriert, dass es den DNT-Header beachtet aber falls jemand diesen nicht nutzt und trotzdem nicht von Piwik erfasst werden möchte kann man nun Piwik über einen Browser-Cookie deaktivieren.</p> <h5>Update 2015-08-26</h5> Ein Opt-Out ist nicht mehr nötig ich habe Piwik in meinem Blog deaktiviert. Sun, 01 Sep 2013 10:20:00 GMT tag:blog.mdosch.de,2013-09-01:/2013/09/01/piwik-opt-out Umzug zu uberspace https://blog.mdosch.de/2013/09/01/umzug-zu-uberspace/ <p>Beim Versuch ein fehlgeschlagenes WordPress-Update zu reparieren habe ich irgendwie alles kaputt gemacht. Nun habe ich mein Blog kurzerhand zu uberspace umgezogen. Das erforderte zwar auch etwas Gebastel, aber mittlerweile funktioniert es wenigstens wieder. Zumindest im Großen und Ganzen, ein paar Kleinigkeiten werden evtl. noch nicht richtig funktionieren. Wenn jemandem etwas auffällt würde ich mich über einen Hinweis freuen. ;)<br /> Derzeit muss ich halt damit leben, dass mein Blog nicht unter blog.mdosch.de zu erreichen ist. Ich habe eh mit dem Gedanken gespielt komplett zu uberspace umzuziehen, was ich nun auch tun werde. Der Zustand ist also nur temporär. ;)</p> <p>Derzeit gilt also (abgesehen von der fehlenden domain ;)):<br /> <a href="https://uberspace.de/"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/09/badge-white-5cc75eee4e195376efb9c5742be81508653ea8e1.png" alt="badge-white-5cc75eee4e195376efb9c5742be81508653ea8e1" width="150" height="80" class="aligncenter size-full wp-image-308"/></a></p> Sun, 01 Sep 2013 01:29:00 GMT tag:blog.mdosch.de,2013-09-01:/2013/09/01/umzug-zu-uberspace Android: Kontakte und Kalender über Owncloud synchronisieren https://blog.mdosch.de/2013/08/30/android-kontakte-und-kalender-ueber-owncloud-synchronisieren/ <p>Es war mir schon lange ein Dorn im Auge, dass bei meinem Handy Kontakte und Kalender via Google synchronisiert wurden. Zu Beginn habe ich die Synchronisierung nicht genutzt, aber nachdem ich bei einem Konzert mein Smartphone im Moshpit verloren hatte und beim neuen Telefon erst mal wieder alle Rufnummern mühsam zusammensuchen musste habe ich die bittere Pille geschluckt und die Synchronisation aktiviert. Der <a href="http://www.heise.de/newsticker/meldung/NSA-Ueberwachungsskandal-Von-PRISM-Tempora-XKeyScore-und-dem-Supergrundrecht-was-bisher-geschah-1931179.html">NSA-Skandal</a> war eine gute Erinnerung nach einer Alternative zu suchen, welche ich in dem OpenSource-Tool <a href="http://owncloud.org/">Owncloud</a> gefunden habe. <br /> Owncloud kann neben der Synchronisation von Kalender und Adressbuch auch zur Ablage von Dateien und zum Austausch dieser genutzt werden, ähnlich dem bekannten Tool DropBox. Doch das ist hier nicht das Thema.</p> <p>Im ersten Schritt benötigt man für Owncloud eigenen Webspace. Ich habe zwar bereits welchen (da ist schließlich mein Blog gehosted), aber da ich in letzter einige Probleme hier hatte wollte ich mir mal einen anderen Provider ansehen. In <a href="https://uberspace.de/">uberspace</a> habe ich einen tollen, deutschen Provider gefunden (meine Daten sollen ja nicht durch die schnüffelnden USA fließen¹). Uberspace ist ein außergewöhnlicher <a href="https://de.wikipedia.org/wiki/Webhosting">Shared Hoster</a>, auf den ich hier bestimmt noch mal gesondert eingehen werde. Dort kann man für 1€ monatlich (man zahlt so viel man möchte, mindestens 1€) 10GB an Speicher und 100GB an Traffic erwerben, das sind Dimensionen die man mit einer privaten Homepage niemals auch nur annähernd erreicht. Mit einer .de-Domain erhöht sich der zu leistende Mindestbetrag auf 1,50€. Das Angebot kostet den ersten Monat noch keinen Cent, man kann also ohne jegliche Verpflichtung einen Monat den Service testen.<br /> Nachdem ich mir dort einen Account erstellt habe, war der erste Punkt Owncloud zu installieren. Dazu loggt man sich per <a href="https://de.wikipedia.org/wiki/Ssh"><abbr title="Secure Shell">SSH</abbr></a> auf dem eigenen Uberspace ein: <code>ssh $user@$server.uberspace.de</code> <em>$user</em> und <em>$server</em> sind natürlich durch den eigenen Uberspace-Benutzernamen und Uberspace-Server zu ersetzen. Danach lädt man die aktuelle Owncloud-Version (im Moment 5.0.10) herunter und entpackt diese. In meinem Beispiel schiebe ich Owncloud in den Ordner owncloud, so dass es später über <code>https://$user.$server.uberspace.de/owncloud</code> zu erreichen wäre. Abschließend müssen noch die korrekten Rechte der Konfigurationsdatei gesetzt werden.</p> <div class="highlight"><pre><span></span>wget http://download.owncloud.org/community/owncloud-5.0.10.tar.bz2 tar -xjvf owncloud-5.0.10.tar.bz2 mv owncloud html/owncloud chmod 0700 html/owncloud/config </pre></div> <p>Darauf ruft man Owncloud via <code>https://$user.$server.uberspace.de/owncloud</code> auf und vergibt die Nutzerdaten. Anschließend ist Owncloud auch schon betriebsbereit. Die Installation ist auch im <a href="https://uberspace.de/dokuwiki/cool:owncloud">Uberspace-Wiki</a> beschrieben.</p> <p>Zum Synchronisieren der Daten benötigen wir unter Android noch zwei Apps. Bei mir hat es, wie in diesem <a href="http://www.pgollor.de/cms/?p=1304">Blog-Eintrag</a> beschrieben, mit <a href="https://play.google.com/store/apps/details?id=org.dmfs.caldav.lib&amp;hl=de">CalDav</a> und <a href="https://play.google.com/store/apps/details?id=org.dmfs.carddav.sync&amp;hl=de">CardDav</a> gut funktioniert. <br /> Die Einrichtung ist nicht sehr kompliziert und ich gehe nicht näher darauf ein, da sie im verlinkten Blog-Eintrag gut beschrieben ist. Man sollte danach auf keinen Fall vergessen in Androids Konten-Einstellungen die Synchronisation des Kalenders und Adressbuchs zu Google zu deaktivieren.</p> <p><strong>[Update 2014-05-15]</strong><br /></p> <p>Mittlerweile habe ich ein Handy mit einer aktuellen Android-Version und nutze für die Synchronisation von Kontakten und Kalender eine App. <em>DAVdroid</em> gibt es relativ günstig bei <a href="https://play.google.com/store/apps/details?id=at.bitfire.davdroid&amp;hl=de">Google Play</a> oder kostenlos bei <a href="https://f-droid.org/repository/browse/?fdid=at.bitfire.davdroid">F-Droid</a>.</p> <p>Ich möchte die Kontaktdaten aber ebenfalls mit meinem Thunderbird-Adressbuch synchronisieren, dazu benötigt man den <a href="http://www.sogo.nu/english/downloads/frontends.html">SoGo-Connector</a> und die CardDav-Adresse. Letztere erhält man, indem man bei Owncloud das Adressbuch öffnet, links unten das Zahnrad und darauf die Weltkugel anklickt. Nun öffnet man im Thunderbird das Adressbuch und wählt <code>Datei -&gt; Neu -&gt; Remote-Adressbuch</code> und fügt den Link bei URL: ein. That&#8217;s it. Eine bebilderte Anleitung zur Einrichtung im Thunderbird findet man <a href="http://www.bitblokes.de/2013/03/thunderbird-kontakte-mit-der-owncloud-und-android-synchronisieren/">hier</a>.<br /> Zum Synchronisieren der Kalendereinträge mit Thunderbird gibt es das Kalender-AddOn <a href="https://www.mozilla.org/projects/calendar/lightning/">Lightning</a>. Die benötigte CalDav-Adresse erhält man, indem man in Owncloud im Kalender, diesmal rechts oben, das Zahnrad und anschließend die Weltkugel anklickt. Im Thunderbird wählt man <code>Datei -&gt; Neu -&gt; Kalender</code>, trifft die Auswahl <code>Im Netzwerk</code>, <code>&gt;CalDav</code> und gibt die, zuvor kopierte, Adresse ein.</p> <p>¹ Leider kann man nicht 100%ig garantieren, dass die Daten Deutschland nicht verlassen, selbst wenn man aus Deutschland eine Verbindung zu einem deutschen Server aufbaut. Zumindest werden meine Daten nicht mehr in den USA und ganz besonders nicht bei Google gespeichert.</p></p> Fri, 30 Aug 2013 15:44:00 GMT tag:blog.mdosch.de,2013-08-30:/2013/08/30/android-kontakte-und-kalender-ueber-owncloud-synchronisieren Wahl-O-Mat Bundestagswahl und Landtagswahl Bayern https://blog.mdosch.de/2013/08/30/wahl-o-mat-bundestagswahl-und-landtagswahl-bayern/ <p>Da <a href="http://feltel.de/blog/2013/08/29/wahl-o-mat-bundestagswahl-2013/">Feltel</a> die politische Runde des Jahres 2013 eröffnet hat, poste auch ich hier meine Wahl-O-Mat Ergebnisse. Für mich steht dieses Jahr zusätzlich zur Bundestagswahl auch die Landtagswahl Bayern an, daher veröffentliche ich zusätzlich zu den <a href="http://www.bpb.de/politik/wahlen/wahl-o-mat/bundestagswahl-2013/"><abbr title="By The Way">BTW</abbr>-Wahl-O-Mat</a>-Ergebnissen, auch die des <a href="http://www.bpb.de/politik/wahlen/wahl-o-mat/bayern-2013/">LTW-Wahl-O-Maten</a>. Bei der Bundestagswahl steht auch noch das <a href="http://www.parteienavi.de/">ParteieNavi</a> zur Verfügung, welches bei der Auswertung auch eine &#8220;Landkarte&#8221; mit der geographischen Verortung der eigenen Ergebnisse und der politischen Parteien ausgibt.<span id="more-280"></span></p> <h4>Bundestagswahl</h4> <h5>Wahl-O-Mat</h5> <div id="attachment_283" style="width: 610px" class="wp-caption aligncenter"><a href="http://blog.mdosch.de/wp-content/uploads/2013/08/wahl-o-mat.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/wahl-o-mat-600x433.png" alt="Wahlomat BTW" width="600" height="433" class="size-medium wp-image-283"/></a><p class="wp-caption-text">Wahlomat <abbr title="By The Way">BTW</abbr></p></div> <h5>ParteieNavi</h5> <div id="attachment_281" style="width: 497px" class="wp-caption aligncenter"><a href="http://blog.mdosch.de/wp-content/uploads/2013/08/kompass.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/kompass.png" alt="ParteieNavi Kompass" width="487" height="467" class="size-full wp-image-281"/></a><p class="wp-caption-text">ParteieNavi Kompass</p></div> <div id="attachment_282" style="width: 504px" class="wp-caption aligncenter"><a href="http://blog.mdosch.de/wp-content/uploads/2013/08/spinne.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/spinne.png" alt="ParteieNavi Spinnendiagramm" width="494" height="462" class="size-full wp-image-282"/></a><p class="wp-caption-text">ParteieNavi Spinnendiagramm</p></div> <h4>Landtagswahl Bayern</h4> <div id="attachment_284" style="width: 610px" class="wp-caption aligncenter"><a href="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/wahl-o-mat-bayern.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/wahl-o-mat-bayern-600x417.png" alt="Wahlomat LTW Bayern" width="600" height="417" class="size-medium wp-image-284"/></a><p class="wp-caption-text">Wahlomat LTW Bayern</p></div> <p>Dass die Piratenpartei weit vorne liegt und die CDU/CSU ziemlich abgeschlagen hinten war mir von vorne herein klar. Aber einige Details kamen auch für mich überraschend. 😉 <br /> Dazu muss man jedoch sagen, dass solche Tools ganz nett sind um sich einen Überblick zu verschaffen welche Parteien man sich näher anschauen sollte. Komplexe Themen und Wahlprogramme sind nicht mit ein paar Ja/Nein-Fragen zu erschlagen, deshalb bleibt es nicht aus sich über die Parteien und die Wahlprogramme zu informieren.</p> <p>Ich werde jetzt gemütlich ein Bier trinken und dabei wählen, die Briefwahl-Unterlagen kamen nämlich heute an. 😀</p> <p>Nachtrag: Auf feltels Aufruf haben auch schon <a href="http://zockertown.de/s9y/index.php?/archives/1592-Wahl-O-mat-2013.html">bed</a> und <a href="http://invia1200.wordpress.com/2013/08/30/wahl-o-mat-bundestagswahl-2013/">INVIA</a> geantwortet.</p> Fri, 30 Aug 2013 13:46:00 GMT tag:blog.mdosch.de,2013-08-30:/2013/08/30/wahl-o-mat-bundestagswahl-und-landtagswahl-bayern Discogs: Musikdatenbank und -handelsplattform https://blog.mdosch.de/2013/08/23/discogs-musikdatenbank-und-handelsplattform/ <p>Ich habe bereits in <a href="http://blog.mdosch.de/2013/08/02/lichtblick-im-loudness-lar/">zwei</a> <a href="http://blog.mdosch.de/2013/08/20/metal-ohne-loudness-war/">Beiträgen</a> den &#8220;loudness war&#8221; thematisiert und nun hat mich die Suche nach CDs mit hoher Dynamik zu einer coolen Seite geführt: <a href="http://www.discogs.com/">Discogs</a>.</p> <p>Ich suchte nach den Original-Ausgaben von <a href="https://de.wikipedia.org/wiki/Sepultura">Sepultura</a>s <a href="https://de.wikipedia.org/wiki/Arise">Arise</a> und <a href="https://de.wikipedia.org/wiki/Slayer">Slayer</a>s <a href="https://de.wikipedia.org/wiki/Reign_in_Blood">Reign In Blood</a>, da diese noch nicht so stark komprimiert sind wie spätere Remaster-Auflagen und stieß dabei auf Discogs. Discogs ist nicht nur eine detaillierte Datenbank, welche die Nutzer erweitern können, sondern auch ein sehr praktischer Ort um gebrauchte CDs, LPs oder gar Kassetten zu erwerben.<br /> Dabei kann man bei der Suche, neben vielem anderen, auch nach dem Erscheinungsdatum filtern, was jemandem der nach Original-Auflagen sucht sehr entgegen kommt.</p> <p>Allen Musikfans, die Discogs noch nicht kennen, rate ich diese Seite mal anzuschauen. </p> Fri, 23 Aug 2013 16:16:00 GMT tag:blog.mdosch.de,2013-08-23:/2013/08/23/discogs-musikdatenbank-und-handelsplattform Metal ohne “loudness war” https://blog.mdosch.de/2013/08/20/metal-ohne-loudness-war/ <p>Ich habe <a href="http://blog.mdosch.de/2013/08/02/lichtblick-im-loudness-lar/">hier</a> schon von einem Lichtblick im &#8220;<a href="https://de.wikipedia.org/wiki/Loudness_war">loudness war</a>&#8221; gesprochen, da mich die neue Auflage von <a href="https://de.wikipedia.org/wiki/Napalm_death">Napalm Deaths</a> Klassiker <a href="https://de.wikipedia.org/wiki/Scum_%28Album%29">Scum</a> begeisterte. Mittlerweile habe ich mir bei dem englischen Label <a href="http://www.earache.com">Earache Records</a> auch <a href="https://de.wikipedia.org/wiki/From_Enslavement_to_Obliteration">From Enslavement to Obliteration</a> von Napalm Death und <a href="https://de.wikipedia.org/wiki/Heartwork">Heartwork</a> von <a href="https://de.wikipedia.org/wiki/Carcass">Carcass</a> zugelegt. Die beiden Alben wurden ebenfalls von Earache als &#8220;Full Dynamic Range Edition&#8221; neu aufgelegt.</p> <p>Es macht einfach Spass diese Alben in ordentlicher Lautstärke auf einer halbwegs vernünftigen Anlage zu hören. Ich habe zwar nur zwei <a href="https://www.amazon.de/Heco-Victa-5-Wege-Standlautsprecher-schwarz/dp/B004FLKPDC">Heco Victa 501</a> an einem <a href="https://www.amazon.de/Stereo-Vollverstärker-Aluminium-Frontblende-ECO-Standby-schwarz/dp/B007Y3OBAQ">Denon PMA 520-AE</a>, welcher die Musik vom Laptop über einen <a href="https://www.amazon.de/Pro-Ject-Soundkarte-Sigma-Delta-A-Wandler-USB-Eingang/dp/B001N2LT8Q">Pro-Ject <abbr title="Universal Serial Bus">USB</abbr>-DAC</a> erhält, also günstiges Equipment das <a href="https://de.wikipedia.org/wiki/Hifi">HiFi</a>-Fans nicht anfassen würden, aber bereits damit bemerkt man einen deutlichen Unterschied. Da nicht alles kontinuierlich auf voller Lautstärke wiedergegeben wird entfalten laute Stellen (z.B. Bass-Drum des Schlagzeugs) ihre volle Wirkung und klingen kräftig, druckvoll. Bei überkomprimierten Alben wirken diese Stellen eher schwach, da sie relativ zum Rest des Liedes eben nicht mehr lauter sind.</p> <p>Ich habe in Hancoque&#8217;s Blog auch noch eine schöne <a href="http://blog.devir.de/?p=259">Erläuterung</a> zum Thema &#8220;loudness war&#8221; gefunden, die auch mit Hörbeispielen zum Vergleich aufwartet. Weiter hat er dort auch <a href="http://blog.devir.de/?p=296">mögliche Gründe</a> für den &#8220;loudness war&#8221; seitens der Musikindustrie ersonnen. Die beiden Beiträge sind auf jeden Fall lesenswert.</p> Tue, 20 Aug 2013 15:33:00 GMT tag:blog.mdosch.de,2013-08-20:/2013/08/20/metal-ohne-loudness-war An Java-Entwickler: Unterstützung für SEPA-Lastschriften in HBCI4Java gesucht https://blog.mdosch.de/2013/08/16/an-java-entwickler-unterstuetzung-fuer-sepa-lastschriften-in-hbci4java-gesucht/ <p>Wie ich hier bereits <a href="http://blog.mdosch.de/2013/06/29/programmempfehlung-jameica-hibiscus/">erwähnte</a> nutze ich die plattformunabhängige OpenSource-Kombination <a href="http://willuhn.de/products/jameica">Jameica/Hibiscus</a> um Online-Banking unter Linux zu betreiben.</p> <p>Der Entwickler von Jameica/Hibiscus bittet in seinem <a href="http://willuhn.de/blog/index.php?/archives/656-An-die-Unternehmen,-die-HBCI4JavaHibiscus-verwenden.html">Blog</a> bzw. auf der HBCI4Java-<a href="http://sourceforge.net/mailarchive/message.php?msg_id=31143215">Mailingliste</a> um Unterstützung bei der Implementierung von SEPA-Lastschriften in HBCI4Java.</p> <p>Hier der Beitrag von der ML:</p> <blockquote><p>Hi zusammen,</p> <p>ich gehe davon aus, dass hier auch der ein oder andere Entwickler aus Unternehmen mitliest, welche HBCI4Java im geschaeftlichen Umfeld nutzen. Und ich weiss, dass das Thema SEPA (hier insb. die SEPA-Lastschrift) gerade Unternehmen unter den Naegeln brennt, weil es ab naechstem Jahr Ernst wird.</p> <p>Allerdings kriege ich bisher immer nur Anfragen von Firmen oder Vereinen, ob SEPA-Lastschrift auf meiner TODO-Liste steht. Und wenn ja, wie lange es noch dauert. Ich kriege aber keine Mails von Entwicklern aus Firmen, die mir schreiben, dass sie bereits begonnen haben, das in HBCI4Java einzubauen.</p> <p>Bisher habe ich auf die Frage nach der SEPA-Unterstuetzung immer geantwortet, dass das bei mir auf Platz 1 der Agenda steht und mein Ziel ist, es bis Ende des Jahres eingebaut zu haben. Mich beschleicht daher der Verdacht, dass sich hier einige Unternehmen in ihrer Komfort-Zone bequem machen und warten, bis ich diese Arbeit uebernommen habe. Ich mache Hibiscus in meiner Freizeit und pflege HBCI4Java so gut es geht weiter. Gerade aktuell hab ich z.Bsp. endlich den PCSC-Support zum Laufen gekriegt. Die Unterstuetzung fuer die neuen TAN-Verfahren (incl. dem komplizierten chipTAN) habe ich auch eingebaut.</p> <p>Falls hier also Entwickler von Unternehmen mitlesen, die selbst ebenfalls HBCI4Java (oder auch Hibiscus) geschaeftlich verwenden, dann faende ich etwas Initiative auch von eurer Seite gut. Denn ich mache Hibiscus &#038; Co. nur privat.<br /> Ich selbst brauche die SEPA-Lastschrift also gar nicht. Und ich will eigentlich auch nicht der Gratis-Entwickler fuer Unternehmen sein. Und nein, mit geht es nicht um Bezahlung. Mir geht es darum, nicht der Einzige zu sein, der fuer HBCI4Java Code liefert.</p> <p>Gruss<br /> Olaf</p></blockquote> <p>Da ich selbst nur etwas C-Programmierung beherrsche kann ich leider nichts beitragen, aber ich verbreite das Gesuch mal in meinem Blog und hoffe, dass evtl. jemand mit den nötigen Kenntnissen darauf aufmerksam wird. Da mein Blog auch im debianforum.de-<a href="http://planet.debianforum.de">Planet</a> gelistet ist, erreicht der Beitrag bestimmt einige kompetente Programmierer.</p> <p><strong>Nachtrag:</strong> Am 13.10.2013 schrieb Olaf Willuhn in seinem <a href="http://willuhn.de/blog/index.php?/archives/664-Hibiscus-Erster-Code-fuer-SEPA-Lastschriften.html">Blog</a>, dass nun erster Code für SEPA-Lastschriften in den nightlies verfügbar ist.</p> Fri, 16 Aug 2013 10:38:00 GMT tag:blog.mdosch.de,2013-08-16:/2013/08/16/an-java-entwickler-unterstuetzung-fuer-sepa-lastschriften-in-hbci4java-gesucht loco loco https://blog.mdosch.de/2013/08/07/loco-loco/ <p>Ich habe mal schnell in 10 Minuten ein simples Wallpaper gebastelt. Der Witz beruht darauf, dass loco sowohl die Kurzform für Lokomotive ist, als auch ein umgangssprachlicher Begriff für &#8220;irre&#8221; oder &#8220;verrückt&#8221;.</p> <p><a href="http://blog.mdosch.de/wp-content/uploads/2013/08/loco_loco_by_mdosch-d6h23zx.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/08/loco_loco_by_mdosch-d6h23zx-600x428.png" alt="wallpaper locomotive" width="600" height="428" class="aligncenter size-medium wp-image-247"/></a></p> <p>In voller Größe ist es bei <a href="http://fav.me/d6h23zx" title="deviantart">DeviantArt</a> zu bewundern. Das Wallpaper steht, wie eigentlich alles was ich verbreche, unter der CC-BY-SA.</p> Wed, 07 Aug 2013 18:02:00 GMT tag:blog.mdosch.de,2013-08-07:/2013/08/07/loco-loco Lichtblick im “loudness war” https://blog.mdosch.de/2013/08/02/lichtblick-im-loudness-war/ <p>Musikfans ist der &#8220;<a href="https://de.wikipedia.org/wiki/Loudness_war">loudness war</a>&#8221; ein Begriff und es sträuben sich die Nackenhaare wenn sie daran denken. Damit CDs &#8220;lauter&#8221; klingen haben Toningenieure den Gesamtpegel der Alben angehoben und damit die Dynamik (dynamic range) reduziert. Das hat zur Folge, dass laute Stellen im Lied gar nicht wirklich laut sondern etwas kraftlos klingen, da sie relativ zum Rest des Liedes eben nicht mehr lauter sind. Außerdem sind Produktionen mit niedriger &#8220;dynamic range&#8221; auf Dauer anstrengend beim Hören.<br /> Das ganze hat sich dann auch noch hochgeschaukelt, weil jede Band meinte ihr Album sollte eher lauter sein als das der anderen Bands, da man meinte ein leiseres Album wäre ein Album schlechterer Qualität. Dabei muss das Album nicht im Küchenradio möglichst laut sein wenn der Lautstärkenregler auf Anschlag steht sondern sollte auch bei guten Anlagen gut klingen. Die Lautstärke ist bei guten Anlagen egal, dafür gibt es den Verstärker.<br /> <a href="http://www.dynamicrange.de/de">Hier</a> gibt es die Möglichkeit sich detailliert über dieses Thema zu informieren.<br /> [Nachtrag 2013-08-02 17:50: Auf <a href="http://www.hifi-and-friends.de/loudness-war-warum-alte-cds-manchmal-besser-klingen/">dieser Seite</a> wird recht verständlich erklärt, warum Kompression ursprünglich nötig war (aber nicht, warum mittlerweile übertrieben wird).]</p> <p>Auch als Metalfan hat man unter dem &#8220;loudness war&#8221; zu leiden. Gerade eine meiner Lieblings-Bands (<a href="http://www.hypocrisy.cc/">Hypocrisy</a>) bringt fürchterlich gemasterte Alben heraus. Hier ist jetzt das &#8220;brickwalling&#8221; ins Spiel zu bringen. Dieser Begriff beschreibt eine so niedrige Dynamik, dass eine regelrechte Musik-Wand entsteht. Wenn man sich dieses <a href="http://www.devir.de/temp/hypocrisy.png">Hypocrisy-Lied</a> anschaut sieht man, dass keinerlei Dynamik mehr vorhanden ist und es wie eine Mauer aussieht.</p> <p>Nun hat <a href="http://www.earache.com/">Earache Records</a> den Klassiker <a href="https://de.wikipedia.org/wiki/Scum_%28Album%29"><em>Scum</em></a> von <a href="https://de.wikipedia.org/wiki/Napalm_death">Napalm Death</a> erneut als &#8220;Full Dynamic Range Edition&#8221; herausgebracht. Ein echter Lichtblick für alle &#8220;loudness war&#8221;-geplagten Metalfans. In <a href="http://earacherecords.com/myspace/scum_fdr.jpg">dieser Grafik</a> kann man deutlich den Unterschied der &#8220;dynamic range&#8221; sehen. Earache ist sich auch bewusst selbst üble Alben (bzgl. der &#8220;dynamic range&#8221;) verbrochen zu haben, wie man in <a href="http://askearache.blogspot.de/2010/11/lets-call-truce-in-cd-loudness-war-blog.html">deren Blog</a> nachlesen kann.<br /> Gut, dass sie es eingesehen haben und entgegen dem Trend nicht &#8220;laut&#8221; geremasterte Alben herausbringen (wie es oft bei Neuauflagen der Fall ist), sondern dem Musikliebhaber entgegen kommen und die Alben mit mehr Dynamik herausbringen.<br /> Soweit ich gesehen habe sollen auch noch die Alben <a href="https://de.wikipedia.org/wiki/From_Enslavement_to_Obliteration"><em>From Enslavement To Obliteration</em></a> (Napalm Death), R<em>ealms Of Chaos</em> (<a href="https://de.wikipedia.org/wiki/Bolt_Thrower">Bolt Thrower</a>) und <em><a href="https://de.wikipedia.org/wiki/Heartwork">Heartwork</a></em> (<a href="https://de.wikipedia.org/wiki/Carcass">Carcass</a>) folgen.<br /> Eine positive Entwicklung, wie ich finde. Napalm Deaths &#8220;Scum&#8221; läuft bei mir die letzten Tage rauf und runter und Carcass&#8217; &#8220;Heartwork&#8221; ist vorbestellt. Weiter so!</p> Fri, 02 Aug 2013 15:30:00 GMT tag:blog.mdosch.de,2013-08-02:/2013/08/02/lichtblick-im-loudness-war Meine neue Backup-Lösung https://blog.mdosch.de/2013/08/01/meine-neue-backup-loesung/ <p>Wie ich bereits im <a href="http://blog.mdosch.de/2013/06/13/backup-mit-rsync/">rsync-Beitrag</a> beschrieben habe, habe ich meine Backups bisher manuell (und dadurch viel zu selten) durchgeführt. Da ich mittlerweile ein <a href="http://blog.mdosch.de/2013/06/19/mein-neues-notebook/">neues Notebook</a> benutze, wurde mein altes arbeitslos. Das alte hatte zwar einige Probleme, weswegen ich es durch ein neues ersetzt habe, aber für irgendwelche kleinen Aufgaben als Server ist es immer noch gut genug. Da ich ungern Dinge wegwerfe und Elektroschrott produziere wollte ich daraus einen Server machen, auf den ich automatisiert ein tägliches Backup speichere. Eine ähnliche Einstellung hat auch der Blogger Apo und beschreibt in seinem Blog gambaru.de noch <a href="http://www.gambaru.de/blog/2011/07/03/was-man-mit-alten-computern-machen-kann/">weitere mögliche Verwendungen für alte Hardware</a>.</p> <p>Ich werde hier keine detaillierte Schritt-für-Schritt, bzw. Kochrezept-Anleitung, für einen Backup-Server veröffentlichen. Davon gibt es bereits genug und was ich fabriziert habe ist eine Lösung, die für mich gut genug ist aber wahrscheinlich nicht die perfekte Lösung.</p> <p>Meine Lösung sieht grob umrissen folgendermaßen aus:</p> <p>&#8211; Einmal täglich startet mein Laptop (das Neue, mit dem ich arbeite) mein altes Laptop (im folgenden Server genannt) per Wake On LAN (<abbr title="Wake On LAN">WOL</abbr>).<br /> &#8211; Danach sichert es mittels rsync über <abbr title="Secure Shell">SSH</abbr> meinen /home-Ordner und /etc<br /> &#8211; Abschließend wird der Server über <abbr title="Secure Shell">SSH</abbr> in den Ruhezustand versetzt</p> <p>Ich habe per rsync rudimentär die Funkionalität von <a href="http://www.rsnapshot.org/">rsnapshot</a> nachgebaut, da mir rsync besser gefällt bzw. ich es schon kenne, da ich bisher manuelle Backups damit durchgeführt habe. Außerdem kann ich mittels rsync Backups über <abbr title="Secure Shell">SSH</abbr> an den Server senden, bei rsnapshot ist dies nicht möglich. Bei rsnapshot müsste mein Server per <abbr title="Secure Shell">SSH</abbr> das Backup von meinem Laptop &#8220;abholen&#8221;. Ich möchte aber keinen <abbr title="Secure Shell">SSH</abbr>-Server als zusätzlichen Daemon auf meinem Laptop installieren.</p> <p>Wie man im <a href="http://wiki.ubuntuusers.de/rsnapshot">Ubuntuusers-Wiki</a> nachlesenen kann, ist es möglich mit rsnapshot beliebig zu konfigurieren wie viele tägliche/wöchentliche/monatliche/jährliche Backup-Versionen man vorhalten möchte. Ich beschränke mich bei meiner Lösung auf ein Backup pro Monat für ein Jahr lang, wobei das tagesaktuelle Backup jeweils das des aktuellen Monats ist.</p> <p>Nun ein grober Abriss meines Vorgehens:</p> <h6>Server installieren</h6> <p>Als Betriebssystem habe ich Debian Wheezy (das aktuelle Stable-Release) installiert. Dabei habe ich lediglich &#8220;Desktop&#8221; abgewählt, da mein Server keine <abbr title="Graphical User Interface">GUI</abbr> benötigt, und &#8220;<abbr title="Secure Shell">SSH</abbr>-Server&#8221; angewählt. Eine Debian-Installation ist so einfach, dass ich das hier nicht näher erläutern muss.</p> <h6><abbr title="Secure Shell">SSH</abbr> einrichten</h6> <p><abbr title="Secure Shell">SSH</abbr> habe ich nach dem Artikel im <a href="https://wiki.archlinux.de/title/Ssh">Arch-Wiki</a> eingerichtet und auch den <a href="https://wiki.archlinux.de/title/SSH-Authentifizierung_mit_Schl%C3%BCsselpaaren">Passwortlosen Login</a> konfiguriert.<br /> Ich habe lediglich die Zeile</p> <div class="highlight"><pre><span></span><span class="n">AllowUsers</span> <span class="n">BENUTERZAME</span><span class="mf">@192.168.2</span><span class="p">.</span><span class="o">*</span> </pre></div> <p>hinzugefügt um Logins nur aus meinem lokalen Netz zu erlauben. Die <abbr title="Internet Protocol">IP</abbr> ist natürlich auf die lokalen Gegebenheiten und BENUTZERNAME auf den eigenen Benutzernamen auf dem Server anzupassen.</p> <h6><abbr title="Wake On LAN">WOL</abbr> einrichten</h6> <p>Um den Server, den ich täglich nur kurz für das Backup benötige, nicht ständig laufen zu lassen habe ich beschlossen Wake On LAN zu nutzen. Mein Laptop hängt per Netzwerkkabel an meinem Router und wird aufgeweckt in dem ich ein Kommando über mein per WLAN angebundes Notebook schicke. Dies habe ich nach einem <a href="http://wiki.ubuntuusers.de/Wake_on_LAN">Artikel im Ubuntuusers-Wiki</a> eingerichtet.<br /> In meinem Fall gab es noch ein kleines Problem, da meine Vodafone Easy.Box das Magic Packet (TM) blockiert. Lösen konnte ich dies indem ich im Konfigurations-Menu der Easy.Box bei <em>Daten→NAT→Port Mapping</em>, nach <a href="http://stephan.mestrona.net/wol/forum/viewtopic.php?t=1435">diesem Foren-Thread</a>, folgendes eingetragen habe:<br /></p> <div class="highlight"><pre><span></span>LAN IP: SERVER_IP Protokolltyp: UDP LAN-Port: 9 Öffentlicher Port: 12345 </pre></div> <p>Als SERVER_IP muss natürlich die <abbr title="Internet Protocol">IP</abbr> des Servers im lokalen Netzwerk eingegeben werden. Port 9 ist der Standard-Port für <abbr title="Wake On LAN">WOL</abbr>-Pakete. Anstatt 12345 kann man auch einen anderen Port wählen, diesen muss man aber später beim Senden des <abbr title="Wake On LAN">WOL</abbr>-Paketes angeben. Zum Senden des <abbr title="Wake On LAN">WOL</abbr>-Paketes verwende ich das Programm <a href="http://packages.debian.org/search?keywords=wakeonlan">wakeonlan</a>.<br /> Vielen Dank an die hilfsbereiten, freundlichen und kompetenten User aus dem <a href="https://wiki.debianforum.de/Debianforum.de/JabberChat">debianforum.de-Chat</a>, die mir halfen das Problem zu lokalisieren und zu beheben.</p> <h6>Backup per rsync</h6> <p>Nun konnte ich per <abbr title="Wake On LAN">WOL</abbr> meinen Server wecken und per <abbr title="Secure Shell">SSH</abbr> darauf zugreifen und es ging darum per rsync ein Backup auf den Server zu kopieren. Herausgekommen sind folgende Zeilen:<br /></p> <div class="highlight"><pre><span></span>rsync -azP --delete --link-dest=../$(expr $(date +%-m) - 1) /home/USER_LOCAL USER_SERVER@SERVER_IP:backup/$(date +%-m) rsync -azP --delete --link-dest=../$(expr $(date +%-m) - 1) /etc USER_SERVER@SERVER_IP:backup/$(date +%-m) </pre></div> <p>USER_LOCAL → Benutzername auf meinem Laptop, dessen home-Ordner ich sichere.<br /> USER_SERVER → Benutzername auf dem Server, auf dem ich das Backup ablege.<br /> SERVER_IP → <abbr title="Internet Protocol">IP</abbr> des Servers (surprise, surprise :D)<br /> Die Optionen -azP sind relativ simpel und können leicht in der <a href="http://linux.die.net/man/1/rsync">manpage</a> von rsync nachvollzogen werden.<br /> `backup/$(date +%-m)` gibt an, dass das Update auf dem Server im Unterordner backup in einem weiteren Unterordner abgelegt wird. Der weitere Unterordner wechselt monatlich, d.h. im Juli wird nach $/backup/7 gesichert, im August nach $/backup/8. Dadurch erhalte ich Ordner 1 &#8211; 12, die jeweils das letze Backup für den Monat enthalten und kann auf jeweils ein monatliches Backup des letzten Jahres zurückgreifen.<br /> `--delete` sorgt dafür, dass Dateien welche ich lokal lösche auch aus dem Backup entfernt werden.<br /> Mittels `--link-dest=` gebe ich einen Ordner an, indem nach Übereinstimmungen gesucht wird. Ist in diesem Ordner eine Datei vorhanden und im Vergleich zur zu sichernden Datei unverändert, wird diese Datei nicht erneut übertragen sondern ein <a href="https://de.wikipedia.org/wiki/Harter_Link">Hardlink</a> auf die vorhandene Datei gesetzt. Dadurch wird die Größe des Backups verringert (Deduplikation). `../$(expr $(date +%-m) - 1)` sorgt dafür, dass als Linkziel der Ordner gewählt wird, der das Backup des Vormonats enthält (z.B. im Juli $/backup/6, im August $/backup/7). Im Januar funktioniert dies natürlich nicht ordnungsgemäß, da 1 &#8211; 1 = 0 ergibt. Das habe ich recht hemdsärmelig gelöst indem ich einen <a href="https://de.wikipedia.org/wiki/Symbolische_Verkn%C3%BCpfung">Symlink</a> von $/backup/0 auf $/backup/12 gelegt habe. Damit wird auch im Januar der Vormonat Dezember als Linkziel gewählt. <h6>Ruhezustand</h6> Abschließend wird der Server per `ssh root@SERVER_IP:"pm-suspend & exit"` in den Ruhezustand versetzt. <h6>Automatisierung</h6> <p>Um mich nicht mehr um das Backup kümmern zu müssen, sondern dieses automatisiert ablaufen zu lassen habe ich ein Script erstellt und unter `/etc/cron.daily/` gespeichert, damit es täglich ausgeführt wird.<br /> Dieses Script sieht vor den Server per <abbr title="Wake On LAN">WOL</abbr> aufzuwecken, anschließend das Backup durchzuführen und am Ende den Server in Suspend zu schicken. Das Script funktioniert auch soweit, ist allerdings noch nicht optimal und verhält sich teilweise noch nicht ganz korrekt, weshalb ich es hier noch nicht veröffentliche. Sobald die Kinderkrankheiten ausgemerzt sind werde ich es hier veröffentlichen.</p> <p><strong>[Nachtrag 2013-09-12]</strong></p> <p>Mittlerweile habe ich ein Script, das nach einigen Änderungen alles tut was es soll.</p> <table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="ch">#! /bin/sh</span> <span class="c1"># Backup-Server hochfahren</span> wakeonlan -p WOL_PORT SERVER_MAC <span class="m">1</span>&gt;/dev/null <span class="c1"># Auch unter /usr/local/bin/wol</span> <span class="c1"># Warten bis Backup-Server bereit</span> sleep <span class="m">10</span> <span class="k">if</span> <span class="o">[</span> <span class="sb">`</span>ping -c <span class="m">1</span> SERVER_IP <span class="p">|</span> grep -wc <span class="m">100</span>%<span class="sb">`</span> -eq <span class="m">0</span> <span class="o">]</span> <span class="k">then</span> sudo -u martin notify-send -a Backup <span class="s2">&quot;Automatisches Backup wird durchgeführt.&quot;</span> <span class="c1"># Bei Problemen zu Testzwecken auskommentieren</span> <span class="c1"># ssh -v -p SSH_PORT martin@SERVER_IP /bin/true</span> <span class="c1"># Backup per rsync</span> rsync -az --delete --rsh<span class="o">=</span><span class="s2">&quot;ssh -p SSH_PORT&quot;</span> --link-dest<span class="o">=</span>../<span class="k">$(</span>expr <span class="k">$(</span>date +%-m<span class="k">)</span> - <span class="m">1</span><span class="k">)</span> --exclude<span class="o">=</span>martin/.cache --exclude<span class="o">=</span>martin/Videos /home/martin martin@SERVER_IP:backup/<span class="k">$(</span>date +%-m<span class="k">)</span> rsync -az --delete --rsh<span class="o">=</span><span class="s2">&quot;ssh -p SSH_PORT&quot;</span> --link-dest<span class="o">=</span>../<span class="k">$(</span>expr <span class="k">$(</span>date +%-m<span class="k">)</span> - <span class="m">1</span><span class="k">)</span> /etc martin@SERVER_IP:backup/<span class="k">$(</span>date +%-m<span class="k">)</span> rsync -az --delete --rsh<span class="o">=</span><span class="s2">&quot;ssh -p SSH_PORT&quot;</span> --link-dest<span class="o">=</span>../<span class="k">$(</span>expr <span class="k">$(</span>date +%-m<span class="k">)</span> - <span class="m">1</span><span class="k">)</span> /root martin@SERVER_IP:backup/<span class="k">$(</span>date +%-m<span class="k">)</span> <span class="c1"># Server nach Backup schlafen schicken</span> ssh root@SERVER_IP -p SSH_PORT <span class="s2">&quot;pm-suspend-hybrid &amp; exit&quot;</span> <span class="c1"># Bei Servern, die per SSH vom Internet erreichbar sind sollte man sich überlegen den root-login zu sperren und stattdessen sudo für pm-suspend-hybrid zu nutzen.</span> <span class="k">else</span> <span class="nb">echo</span> <span class="s2">&quot;Backup konnte nicht durchgeführt werden. \nDer Server war nicht erreichbar.&quot;</span> <span class="p">|</span> mail -s <span class="s2">&quot;Backup fehlgeschlagen!&quot;</span> martin@hostname <span class="k">fi</span> </pre></div> </td></tr></table> <p>Ich werde demnächst auch noch im Detail erklären, warum ich das so gelöst habe. Im Moment fehlt mir dazu leider die Zeit.</p> Thu, 01 Aug 2013 20:44:00 GMT tag:blog.mdosch.de,2013-08-01:/2013/08/01/meine-neue-backup-loesung Debian-Wallpaper https://blog.mdosch.de/2013/07/26/debian-wallpaper/ <p>Heute habe ich mal wieder ein bisschen mit GIMP gespielt und dabei ist ein Debian-Wallpaper herausgekommen. Es ist ziemlich schlicht gehalten, aber ich finde es ganz elegant. 😀</p> <p><a href="http://mdosch.deviantart.com/art/debian-the-universal-operating-system-388411796"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/07/wall_debian_tuos-600x337.png" alt="Debian Wallpaper" width="600" height="337" class="aligncenter size-medium wp-image-211"/></a></p> Fri, 26 Jul 2013 21:19:00 GMT tag:blog.mdosch.de,2013-07-26:/2013/07/26/debian-wallpaper Programmempfehlung: Jameica + Hibiscus https://blog.mdosch.de/2013/06/29/programmempfehlung-jameica-+-hibiscus/ <p>Nach meinem Umstieg von Windows auf Linux vor ~10 Jahren war eines der wenigen Programme, die mir fehlten ein ordentliches Homebanking-Programm. Mit Mühe und Not bekam ich <a href="http://www.gnucash.org/">GNUCash</a> dazu meine Bankgeschäfte per <abbr title="Homebanking Computer Interface">HBCI</abbr> auszuführen, diese Lösung gefiel mir jedoch nie, da es sprichwörtlich <em>mit Kanonen auf Spatzen geschossen</em> war. Bei <a href="http://www-in.fh-swf.de/fbin/roth/moneypenny.htm">Moneypenny</a> scheiterte ich immer am Kompilieren und <a href="http://matrica.de/produkte/produktmpx.html">Moneyplex</a> sagte mir nie zu.<br /> Zum Glück stolperte ich irgendwann über <a href="https://www.willuhn.de/products/hibiscus/">Hibiscus</a> eine Java-Homebanking-Anwendung mit <abbr title="Homebanking Computer Interface">HBCI</abbr>-Unterstützung für die <a href="https://www.willuhn.de/products/jameica/">Jameica</a>-Plattform. Das Programm bietet alle <a href="https://www.willuhn.de/products/hibiscus/features.php">Funktionen</a>, die ich benötige und lässt sich einfach bedienen. Dass es unter der <abbr title="GNU General Public License">GPL</abbr> veröffentlicht wird, also freie Software ist, ist natürlich ein weiterer Pluspunkt.<br /> Leider gibt es Jameica/Hibiscus nicht in den Debian-Repositories, ich hoffe aber dass sich das ändert da ich es mir &#8220;<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690874">gewünscht</a>&#8221; habe. 😄 Hätte ich die Zeit und die nötige Kompetenz würde ich mich ja darum kümmern, so bleibt mir nur zu hoffen, dass sich jemand dem Programm annimmt. 😉 Wie das geht hat Apo in seinem Blog, zwar auf Spiele bezogen aber das lässt sich transferieren, <a href="http://www.gambaru.de/blog/2012/10/16/du-willst-ein-spiel-in-debian-und-ubuntu-sehen-so-gehts/">erklärt</a>.<br /> Wer es sich einfach machen möchte kann das <a href="https://launchpad.net/~dennis-benndorf/+archive/ppa">Ubuntu-PPA</a> auch unter Debian nutzen. Das ist zwar <em>quick &#8216;n dirty</em> aber hat bei mir in der Vergangenheit gut funktioniert. Ich bin dazu übergegangen Jameica einfach nach <code>/opt/</code> und anschließend Hibiscus nach <code>/opt/jameica/plugins/</code> zu entpacken. Damit kann man schon arbeiten. Wenn man möchte kann man noch per <pre><code># ln -s /opt/jameica/jameica.sh /usr/local/bin/jameica </code></pre><br /> eine Verknüpfung anlegen damit man Jameica per Alt+F2 oder im Terminal per <code>jameica</code> starten kann und nicht den vollen Pfad angeben muss.<br /> Ich persönlich habe mir mit <a href="http://packages.debian.org/search?keywords=alacarte&amp;searchon=names&amp;suite=all&amp;section=all">alacarte</a> einen Anwendungsstarter erstellt, den ich in die Schnellstartleiste von Gnome3 eingefügt habe.<br /> Der Nachteil meiner Lösung ist, dass ich regelmäßig im <a href="https://www.willuhn.de/blog/">Blog</a> von Olaf Willuhn (dem Programmierer von Jameica/Hibiscus) nachschauen muss ob eine neue Version verfügbar ist, da ich am Paketmanagement vorbei installiert habe.</p> <div style="width: 160px" class="wp-caption aligncenter"><a href="https://www.willuhn.de/products/hibiscus/screenshots/12.png"><img src="https://www.willuhn.de/products/hibiscus/screenshots/thumb/12.png" width="150" height="116" alt="Kontoauszüge in Jameica/Hibiscus" class/></a><p class="wp-caption-text">Kontoauszüge in Jameica/Hibiscus<br /> Quelle: <a href="https://www.willuhn.de/products/hibiscus/screenshots.php">https://www.willuhn.de/products/hibiscus/screenshots.php</a></p></div> Sat, 29 Jun 2013 10:27:00 GMT tag:blog.mdosch.de,2013-06-29:/2013/06/29/programmempfehlung-jameica-+-hibiscus Zsh als Bash-Ersatz https://blog.mdosch.de/2013/06/21/zsh-als-bash-ersatz/ <p>Da man in Foren oder Blogs häufig von den Vorteilen der <a href="http://www.zsh.org/">zsh</a> liest (z.B. <a href="http://daemonkeeper.net/318/zsh-die-bessere-shell/">hier</a>) habe ich nun beschlossen mir diese einzurichten. Unter Debian lässt sie sich komfortabel über</p> <div class="highlight"><pre><span></span>apt-get install zsh </pre></div> <p>installieren. Mit <a href="https://github.com/robbyrussell/oh-my-zsh"><em>oh-my-zsh</em></a> richte ich mir auch gleich ein beliebtes Framework, welches auch einige Plugins und Themes mitbringt, ein. Um dieses zu installieren, muss das Programm git installiert sein. Per</p> <div class="highlight"><pre><span></span>wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh </pre></div> <p>installiert man <em>oh-my-zsh</em> und mit</p> <div class="highlight"><pre><span></span>chsh -s $(which zsh) </pre></div> <p>richtet man die zsh als Standard-Shell ein.</p> <p>Von den <a href="https://github.com/robbyrussell/oh-my-zsh/wiki/themes">Themes</a> gefällt mir <em>agnoster</em> ganz gut, also beschließe ich dieses einzurchten. Das Theme setzt das <em>Solarized Dark</em> Farbschema und eine powerline-gepatchte Schriftart für bestimmte Sonderzeichen voraus. Ich habe mir <a href="https://github.com/Lokaltog/powerline-fonts">hier</a> die Schrift <em>Ubuntu Mono</em> heruntergeladen und installiert. Diese habe ich dann im Gnome-Terminal als Schriftart ausgewählt.</p> <p>Das <a href="http://ethanschoonover.com/solarized">Farbschema</a> habe ich, wie <a href="http://www.webupd8.org/2011/04/solarized-must-have-color-paletter-for.html">hier</a> beschrieben, mit folgenden Befehlen heruntergeladen und eingerichtet.</p> <div class="highlight"><pre><span></span>git clone https://github.com/sigurdga/gnome-terminal-colors-solarized.git ./gnome-terminal-colors-solarized/install.sh </pre></div> <p>Anschließend konnte ich in der Konfigurationsdatei <code>~/.zshrc</code> das Theme mit folgender Zeile </p> <div class="highlight"><pre><span></span>ZSH_THEME=&quot;agnoster&quot; </pre></div> <p>auswählen.</p> <p>Nun habe ich eine recht hübsch aussende Shell und nach ein paar Arbeiten damit kann ich sagen, dass die zsh vieles wesentlich vereinfacht und ich denke ich werde die Bash dauerhaft ersetzen. Nun muss ich mir nur noch ein paar Tipps &#038; Tricks zur zsh zusammensuchen um ein paar der zahlreichen Funktionen kennzulernen.</p> <p><a href="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Bildschirmfoto-vom-2013-06-21-214916.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Bildschirmfoto-vom-2013-06-21-214916-450x264.png" alt="zsh-user" width="450" height="264" class="aligncenter size-thumbnail wp-image-173"/></a></p> <p><a href="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Bildschirmfoto-vom-2013-06-21-215121.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Bildschirmfoto-vom-2013-06-21-215121-450x264.png" alt="zsh-root" width="450" height="264" class="aligncenter size-thumbnail wp-image-174"/></a></p> Fri, 21 Jun 2013 19:54:00 GMT tag:blog.mdosch.de,2013-06-21:/2013/06/21/zsh-als-bash-ersatz Was ist gelb und kann nicht schwimmen? https://blog.mdosch.de/2013/06/20/was-ist-gelb-und-kann-nicht-schwimmen/ <p>Zum Glück ist die Isar an der Thalkirchner Brücke in München nicht tief und so kann der Nichtschwimmer problemlos das, durch das Hochwasser angeschwemmte, Treibholz bergen. Da so einiges angetrieben wurde, war der Bagger bisher jeden Tag der Woche am Säubern der Isar.<br /> Heute morgen habe ich mal ein Bild gemacht, da man eher selten Bagger durch Flüsse fahren sieht. 😀</p> <p><a href="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/IMG_20130620_070506-e1371733926677.jpg"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/IMG_20130620_070506-e1371733926677-336x450.jpg" alt="Bagger in der Isar." width="336" height="450" class="aligncenter size-thumbnail wp-image-165"/></a></p> Thu, 20 Jun 2013 13:13:00 GMT tag:blog.mdosch.de,2013-06-20:/2013/06/20/was-ist-gelb-und-kann-nicht-schwimmen Debian GNULinux: Gnadenlos ehrlich! https://blog.mdosch.de/2013/06/19/debian-gnulinux-gnadenlos-ehrlich/ <p>Da führe ich nichtsahnend <em>dpkg-reconfigure fontconfig-config</em> aus und werde als erstes mit folgender Abfrage konfrontiert:</p> <blockquote><p>Bitte wählen Sie die bevorzugte Art der Schriftverbesserung bei der Bildschirmdarstellung aus.</p> <p>Wählen Sie »Nativ« aus, wenn Sie überwiegend DejaVu (Standard in Debian) oder Microsoft-Schriftarten verwenden. Wählen Sie »Autohinter« aus, wenn sie überwiegend True-Type-Schriftarten verwenden. <strong>Wählen Sie »Keine« aus, wenn Sie verschwommenen Text wollen. </strong></p> <p>Schriftverbesserung für den Bildschirm (Systemvorgabe):</p> <p>Nativ<br /> Autohinter<br /> Keine </p></blockquote> <p>Nun ja, da braucht sich hinterher keiner beschweren, er wäre nicht gewarnt worde. 😄 </p> Wed, 19 Jun 2013 20:55:00 GMT tag:blog.mdosch.de,2013-06-19:/2013/06/19/debian-gnulinux-gnadenlos-ehrlich Mein neues Notebook https://blog.mdosch.de/2013/06/19/mein-neues-notebook/ <h4>Das Neue</h4> <p>So, mein neues Notebook ist da. Hier werde ich meine Erfahrungen mit der Installation des Betriebssystems und der Inbetriebnahme und Konfiguration behandeln. Dabei werde ich natürlich nicht jeden einzelnen Schritt erschöpfend behandeln, aber ein kleiner Erfahrungsbericht soll es schon werden. 😉 <span id="more-91"></span><br /> Es handelt sich bei meinem neuen Laptop um ein <em>Wortmann Terra Mobile 1541 Pro</em> mit folgender Ausstattung:</p> <blockquote><p> 1x NB MOBILE 1541 15.6&#8243; FHD 1920&#215;1080/HM77/Docking<br /> 15.6&#8243; FHD 16:9 (1920&#215;1080),mit Tastatur dt.<br /> Chipsatz Intel HM77,<br /> RAM max.16GB DDR3 (2x Sockel frei) 1333/1600<br /> LAN 10/100/1000,3x <abbr title="Universal Serial Bus">USB</abbr> 3.0,1xUSB2,0,<br /> SlimDVD-Brenner,<br /> VGA, HDMI ,eSATA, UMTS-Modul optional<br /> Docking Port,Fingerprint,Webcam 2.0MP,TPM,<abbr title="Wake On LAN">WOL</abbr>,<br /> Cardreader (MMC/RSMMC/SD/MiniSD/SDHC/SDXC/<abbr title="Microsoft">MS</abbr>/ <abbr title="Microsoft">MS</abbr> Pro/<abbr title="Microsoft">MS</abbr> Duo),<br /> Expresscard<br /> Microphone in, Line out,<br /> Li-Ion Akku 62WH (6 Monate Gewährleistung)<br /> 374 x 256 x 37,9mm,<br /> 2,5 Kg -OS: Windows 7/Windows 8 OPTIONAL<br /> TERRA Logo auf Displayabdeckung</p> <p>1x NB CPU Intel Core i5-3230M PPGA988/2,6GHz/Ivy<br /> PGA988B (G2), 2.60 (3.20) <abbr title="Gigahertz">GHz</abbr>, 3 <abbr title="Megabyte">MB</abbr>, Ivy Bridge • Dual-Core (2C/4T) mit HD 4000 Graphics (DX11) (Ivy Bridge, Chief River)</p> <p>2x SO-DIMM DDR3 4GB / PC1600</p> <p>1x HDNB 500.0GB Toshiba MK5061GSYN / 7200rpm / S-AT</p> <p>1x ->> FreeDOS (Preload ohne Handbuch &#038; Datenträger)</p> <p>24 Monate Garantie incl. Pickup TERRA MOBILE</p></blockquote> <p>Wie man sieht habe ich die Standardfestplatte durch eine flottere mit 7200rpm ersetzt und das Windows durch FreeDOS ersetzt, da ich, wie <a href="http://blog.mdosch.de/2013/06/13/notebooks-ohne-windows/">bereits erwähnt</a>, eh Linux installieren möchte. Zusätzlich zu den 24 Monaten Garantie habe ich zwei weitere Jahre Garantieerweiterung erworben, da ich jetzt schon zweimal den Fall hatte, dass nach ~3 Jahren nach und nach Defekte auftraten (geplante Obszoleszens?). Auf das optionale UMTS-Modul habe ich verzichtet.</p> <h4>Das Alte</h4> <p>Das Terra soll mein Lenovo G560 ersetzen. Dieses wäre mir von der Ausstattung her zwar noch gut genug, aber es hatte in letzter Zeit einig Defekte und ich beschloss mir ein neues zuzulegen. Hier mal die Ausstattung des alten Laptops:</p> <div class="highlight"><pre><span></span># inxi -F System:    Host: schlepptop Kernel: 3.8-1-amd64 x86_64 (64 bit) Desktop: Gnome Distro: Debian GNU/Linux jessie/sid Machine:   System: LENOVO product: 0679 version: Lenovo G560 serial: 2378786700757            Mobo: LENOVO model: N/A serial: CBG3093868 Bios: LENOVO version: 29CN27WW(V2.04) date: 06/01/2010 CPU:       Dual core Intel Core i3 CPU M 350 (-HT-MCP-) cache: 3072 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx)            Clock Speeds: 1: 933.00 MHz 2: 933.00 MHz 3: 933.00 MHz 4: 2266.00 MHz Graphics:  Card: Intel Core Processor Integrated Graphics Controller            X.org: 1.12.4 drivers: intel (unloaded: fbdev,vesa) tty size: 80x24 Advanced Data: N/A for root Audio:     Card-1: Intel 5 Series/3400 Series High Definition Audio driver: snd_hda_intel Sound: ALSA ver: k3.8-1-amd64 Network:   Card-1: Broadcom BCM43225 802.11b/g/n driver: bcma-pci-bridge            IF: wlan0 state: up mac: --deleted--            Card-2: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller driver: r8169            IF: eth0 state: up speed: 100 Mbps duplex: full mac: --deleted-- Drives:    HDD Total Size: 500.1GB (56.7% used) 1: id: /dev/sda model: WDC_WD5000BEVT size: 500.1GB Partition: ID: / size: 451G used: 265G (62%) fs: ext4 ID: swap-1 size: 8.17GB used: 0.37GB (5%) fs: swap Sensors:   System Temperatures: cpu: 56.0C mobo: N/A            Fan Speeds (in rpm): cpu: N/A Info:      Processes: 199 Uptime: 5 days Memory: 1968.2/3766.6MB Client: Shell (bash) inxi: 1.9.7 </pre></div> <h4>Installation</h4> <p>Das neue Notebook wurde gerade geliefert und als erstes steht die Installation des Betriebssystems an. Installiert wird ein Debian Testing per <a href="http://cdimage.debian.org/debian-cd/7.0.0/amd64/iso-cd/debian-7.0.0-amd64-netinst.iso">Netinstall</a>.</p> <p>Der Laptop bootet gefühlt in einer Sekunde, was aber kein Wunder ist, da noch <a href="http://www.freedos.org/">FreeDOS</a> installiert ist. Nach Einlegen der Installations-<abbr title="Compact Disc">CD</abbr> und <em>Strg+Alt+Entf</em> wird diese auch gleich gebooted. Es scheint also schon mal kein <a href="http://www.heise.de/ct/hotline/FAQ-UEFI-Secure-Boot-und-Linux-1776846.html">UEFI/SecureBoot</a> meine Linux-Installation zu blockieren. Zuerst sticht mir ins Auge, dass eine grafische Installation angeboten wird. Ist diese bei der Netinstall-<abbr title="Compact Disc">CD</abbr> neu, oder mir bisher noch nie aufgefallen? Ich werde vom Installer gleich darauf hingewiesen, dass Firmware für die Netzwerkkarten fehlt. </p> <p><a href="http://blog.mdosch.de/wp-content/uploads/2013/06/hw-detect_load_firmware_0.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/hw-detect_load_firmware_0-450x337.png" alt="Meldung fehlende Firmware" width="450" height="337" class="aligncenter size-thumbnail wp-image-143"/></a></p> <p>Diese lade ich mir auf meinem Lenovo mittels</p> <div class="highlight"><pre><span></span>apt-get -t testing download firmware-iwlwifi </pre></div> <p>herunter. Die Option <code>-t testing</code> verwende ich, da ich auf meinem Lenovo Unstable verwende, auf meinem Terra aber Testing installieren möchte. Das heruntergeladene .deb-Paket kopiere ich auf einen <abbr title="Universal Serial Bus">USB</abbr>-Stick und entpacke es, obwohl ich nicht weiß ob das Entpacken notwendig ist.<br /> Die Firmware wird auf dem <abbr title="Universal Serial Bus">USB</abbr>-Stick auch gleich erkannt und die Installation geht weiter.</p> <p><a href="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/netcfg_choose_interface_0.png"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/netcfg_choose_interface_0-450x337.png" alt="Netzwerkgerät auswählen" width="450" height="337" class="aligncenter size-thumbnail wp-image-144"/></a><br /> Ich lasse den Installer die komplette Festplatte automatisch formatieren und partitionieren und treffe die üblichen Einstellungen (Benutzername, Passwörter etc.). Die Frage ob ich am Debian <a href="http://popcon.debian.org/">Popularity-Contest</a> teilnehmen möchte bejahe ich und über tasksel wähle ich <em>Standard-Systemwerkzeuge</em> und <em>Laptop</em>. <em>Desktop</em> wähle ich ab, obwohl ich <a href="https://www.gnome.org/gnome-3/">Gnome3</a> benutzen möchte, um dies später per <em>apt-get install gnome-core</em> zu installeren, da mir über das Metapaket zu viele Programme installiert werden, die ich nicht nutzen möchte (z.B. <a href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a>, dem ich <a href="http://www.clementine-player.org/">Clementine</a> vorziehe).<br /> Da es sich um die Netinstall-<abbr title="Compact Disc">CD</abbr> handelt werden alle Pakete außer einem minimalen Basissystem direkt in der aktuellen Version von den Debian-Servern geladen.<br /> Die Installation lief erfahrungsgemäß ohne Probleme durch. </p> <h4>Konfiguration</h4> <p>Ich möchte niemanden mit einer pedantischen Auflistung aller Schritte, die ich durchgeführt habe langweilen deshalb werde ich hier exemplarisch ein paar Worte zur Einrichtung verlieren. Zuerst stelle ich mein <a href="https://blog.mdosch.de//blog.mdosch.de/2013/06/13/backup-mit-rsync/">Backup per rsync</a> wieder her. Dabei verzichte ich darauf den home-Ordner komplett zurückzusichern sondern nutze die Gelegenheit wieder ohne &#8220;Altlasten&#8221; mit frischen Konfigurationen zu starten und stelle nur die Daten von Ordnern wie <em>Dokumente, Musik, Bilder</em> und ausgewählte Konfigurationen (z.B. <em>.mozilla, .icedove, .gnupg</em>) wieder her.</p> <p>Da ich bei Programmen wie Iceweasel und Icedove gerne die aktuellen Versionen des Upstreams benutze füge ich auch die Releases <em>Unstable</em> und <em>Experimental</em> zu meiner <em>/etc/apt/sources.list</em> hinzu. Um nicht mein ganzes System auf <em>Unstable</em> zu upgraden sorge ich per <a href="https://wiki.debianforum.de/AptPinning">apt-pinning</a> dafür, dass standardmäßig weiter aus <em>Testing</em> installiert wird und füge für Pakete wie Icedove und Iceweasel explizit Ausnahmeregeln in der <em>/etc/apt/preferences</em> hinzu.</p> <p>Hier meine Quellen:</p> <div class="highlight"><pre><span></span><span class="c"># /etc/apt/sources.list</span> <span class="k">deb</span> <span class="s">http://ftp.de.debian.org/debian/</span> <span class="kp">testing</span> <span class="kp">main</span> <span class="kp">non-free</span> <span class="kp">contrib</span> <span class="c">#deb-src http://ftp.de.debian.org/debian/ testing main non-free contrib</span> <span class="k">deb</span> <span class="s">http://security.debian.org/</span> <span class="kp">testing/updates</span> <span class="kp">main</span> <span class="kp">contrib</span> <span class="kp">non-free</span> <span class="c">#deb-src http://security.debian.org/ testing/updates main contrib non-free</span> <span class="k">deb</span> <span class="s">http://www.deb-multimedia.org/</span> <span class="kp">testing</span> <span class="kp">main</span> <span class="kp">non-free</span> <span class="k">deb</span> <span class="s">http://ftp.de.debian.org/debian/</span> <span class="kp">unstable</span> <span class="kp">main</span> <span class="kp">non-free</span> <span class="kp">contrib</span> <span class="c">#deb-src http://ftp.de.debian.org/debian/ unstable main non-free contrib</span> <span class="k">deb</span> <span class="s">http://ftp.de.debian.org/debian/</span> <span class="kp">experimental</span> <span class="kp">main</span> <span class="kp">non-free</span> <span class="kp">contrib</span> <span class="c">#deb-src http://ftp.de.debian.org/debian/ experimental main non-free contrib</span> </pre></div> <p>Und hier mein, zugegeben ungewöhnliches, Pinning:</p> <div class="highlight"><pre><span></span># /etc/apt/preferences Package: * Pin: release o=debian,a=testing Pin-Priority: 900 Package: * Pin: release o=debian,a=unstable Pin-Priority: 600 Package: * Pin: release o=debian,a=experimental Pin-Priority: 550 Package: * Pin: origin www.deb-multimedia.org Pin-Priority: 100 Package: iceweasel Pin: release o=debian Pin-Priority: 995 Package: iceweasel-l10n-de Pin: release o=debian Pin-Priority: 995 Package: icedove Pin: release o=debian Pin-Priority: 995 Package: icedove-l10n-de Pin: release o=debian Pin-Priority: 995 </pre></div> <p>Ansonsten verlief die Einrichtung sehr unspektakulär. Alles läuft ohne Verrenkungen out-of-the-box, die einzige unfreie Firmware, die benötigt wurde, war firmware-iwlwifi welche schon im Installer hinzugefügt wurde. Ansonsten funktioniert der Ton (OnBoard, Stereoanlage über <abbr title="Universal Serial Bus">USB</abbr>-DAC, und <abbr title="Universal Serial Bus">USB</abbr>-Boxen in der Küche), Grafik, LAN, WLAN, Bluetooth und Webcam. Mir fällt gar nicht mehr ein was ich noch testen könnte.<br /> Lediglich für meinen DVB-T Stick musste ich manuell eine <a href="http://linuxtv.org/downloads/firmware/dvb-usb-dtt200u-01.fw">Firmware</a> (gefunden bei <a href="http://linuxtv.org/wiki/index.php/DVB-T_USB_Devices#WideView.2FYakumo.2FHama.2FTyphoon.2FYuan_Boxes_and_Pens">linuxtv.org</a>) herunterladen und nach <em>/lib/firmware/</em> kopieren.</p> <div class="highlight"><pre><span></span># lsusb Bus 002 Device 013: ID 14aa:0201 WideView Technology Inc. AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold) </pre></div> <p>Eine Bewertung über Haptik, Wertigkeit etc. werde ich vermutlich erst in ein paar Tagen treffen können, da solche Dinge gerade am ersten Tag etwas ungewohnt sind (vor allem die Tastatur). Dann werde ich wohl auch noch ein paar Fotos schießen und hochladen.<br /> Fürs erste muss der inxi-Output genügen:</p> <blockquote><p>System: Host: schlepptop Kernel: 3.2.0-4-amd64 x86_64 (64 bit) Desktop: Gnome Distro: Debian GNU/Linux jessie/sid</p> <p>Machine: Mobo: CLEVO model: W25CEW Bios: American Megatrends version: 4.6.5 date: 11/08/2012</p> <p>CPU: Dual core Intel Core i5-3230M CPU (-HT-MCP-) cache: 3072 <abbr title="Kilobyte">KB</abbr> flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx)<br /> Clock Speeds: 1: 1200.00 <abbr title="Megahertz">MHz</abbr> 2: 1200.00 <abbr title="Megahertz">MHz</abbr> 3: 1200.00 <abbr title="Megahertz">MHz</abbr> 4: 1200.00 <abbr title="Megahertz">MHz</abbr></p> <p>Graphics: Card: Intel 3rd Gen Core processor Graphics Controller<br /> X.org: 1.12.4 drivers: intel (unloaded: fbdev,vesa) tty size: 80&#215;24 Advanced Data: N/A for root </p> <p>Audio: Card-1: Intel 7 Series/C210 Series Family High Definition Audio Controller driver: snd_hda_intel<br /> Card-2: Texas Instruments Speakers driver: <abbr title="Universal Serial Bus">USB</abbr> Audio<br /> Sound: Advanced Linux Sound Architecture ver: 1.0.24</p> <p>Network: Card-1: Intel 82579V Gigabit Network Connection driver: e1000e<br /> IF: eth0 state: down mac: &#8211;deleted&#8211;<br /> Card-2: Intel Centrino Wireless-N 2230 driver: iwlwifi<br /> IF: wlan0 state: up mac: &#8211;deleted&#8211;</p> <p>Drives: <abbr title="Hard Disk Drive">HDD</abbr> Total Size: 1500.3GB (51.3% used) 1: id: /dev/sda model: TOSHIBA_MK5061GS size: 500.1GB<br /> 2: id: /dev/sdb model: 10EAVS_External size: 1000.2GB </p> <p>Partition: ID: / size: 443G used: 180G (43%) fs: ext4 ID: swap-1 size: 16.93GB used: 0.00GB (0%) fs: swap </p> <p>Sensors: System Temperatures: cpu: 48.0C mobo: N/A<br /> Fan Speeds (in rpm): cpu: N/A </p> <p>Info: Processes: 186 Uptime: 3:08 Memory: 2155.6/7886.2MB Client: Shell (bash) inxi: 1.9.7 </p></blockquote> Wed, 19 Jun 2013 20:00:00 GMT tag:blog.mdosch.de,2013-06-19:/2013/06/19/mein-neues-notebook Biergärten in München: S-Bahn-Plan https://blog.mdosch.de/2013/06/16/biergaerten-in-muenchen-s-bahn-plan/ <p>Da ich heute schon zwei Beiträge über Münchner Biergärten veröffentlicht habe, darf ich euch dieses Fundstück natürlich nicht vorenthalten.<br /> Dabei handelt es sich um einen S-Bahn-Plan der Münchner S-Bahn, der die Haltestellen den Münchner Biergärten zuordnet. Da ich kaum S-Bahn fahre wäre für mich natürlich ein U-Bahn-Plan praktischer, aber vielleicht kommt dieser auch noch.<br /> Veröffentlicht wurde diese S-Bahn-Plan vom Radiosender <a href="http://www.charivari.de/">ChariVari</a> und gefunden habe ich ihn im Blog von <a href="http://seiltanz.org/2012/03/25/biergarten-in-munchen-s-bahn-plan/">Seiltanz</a>.</p> <div id="attachment_132" style="width: 460px" class="wp-caption aligncenter"><a href="http://blog.mdosch.de/wp-content/uploads/2013/06/biergc3a4rten.jpg"><img src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/biergc3a4rten-450x342.jpg" alt="S-Bahn-Plan Biergärten" width="450" height="342" class="size-thumbnail wp-image-132"/></a><p class="wp-caption-text">Biergärten München &#8211; S-Bahnplan<br /> © <a href="http://www.charivari.de/">Radio Charivari</a></p></div> Sun, 16 Jun 2013 18:15:00 GMT tag:blog.mdosch.de,2013-06-16:/2013/06/16/biergaerten-in-muenchen-s-bahn-plan Biergärten: Siebenbrunn https://blog.mdosch.de/2013/06/16/biergaerten-siebenbrunn/ <p>Ich habe den Sonntag-Nachmittag mit meiner Sonntagszeitung im Biergarten <a href="http://gasthaus-siebenbrunn.de/">Siebenbrunn</a> verbracht.<br /> Da der Biergarten nur ~3min von meiner Wohnung entfernt ist, ist er für mich natürlich die erste Wahl wenn ich meine Sonntagszeitung in gemütlichem Ambiente statt bei mir daheim auf dem Balkon lesen möchte.</p> <p>Dadurch, dass der Biergarten mitten im Grünen liegt und direkt nebenan der Mühlbach vorbeifließt hat man eher das Gefühl im Dorf zu sei als in der drittgrößten Stadt Deutschlands. Kommt man häufiger in diesen Biergarten bieten die Ausschenker ab und an auch mal ein gekühltes Glas an. Dann wird die Maß in einen Krug, der zuvor im Kühlhaus gekühlt wurde, gezapft. Aus eigener Erfahrung kann ich sagen, dass eine Maß im gekühlten Krug wesentlich angenehmer zu trinken ist und auch länger &#8220;frisch&#8221; bleibt.</p> <p>Der Biergarten Siebenbrunn ist direkt neben dem Tierpark München angesiedelt. Mit U- oder S-Bahnen ist er nicht zu erreichen, aber er befindet sich direkt neben der Haltestation <em>Alemannenstraße (Tierpark)</em> der Buslinie 52 <em>Marienplatz &#8211; Alemannenstraße (Tierpark)</em>.</p> <p>Für mich persönlich hat dieser Biergarten noch einen Pluspunkt, da sowohl Wirt als auch Koch Franken sind und auch fränkische Küche servieren. Als Unterfranke im Münchner Exil ist es natürlich toll, ein Stück Heimat im Biergarten vor der Haustüre zu finden. 😀</p> <p>Ausgeschenkt wird dort zwar <a href="https://www.abinbev-regional.de/SPATEN/">Spaten</a>, welches neben Löwenbräu zu den meiner Meinung nach schlechtesten Bieren Münchens gehört, aber im Biergarten lassen sich beide ganz gut trinken. Ich weiß zwar nicht, warum mir bestimmte Biere aus der Flasche oder in einem Gasthaus zuwieder sind während sie sich im Biergarten ganz gut trinken lassen, aber dieser Unterschied besteht.</p> Sun, 16 Jun 2013 17:39:00 GMT tag:blog.mdosch.de,2013-06-16:/2013/06/16/biergaerten-siebenbrunn Herrliches Wetter https://blog.mdosch.de/2013/06/16/herrliches-wetter/ <p>So, ich werde dann den Rest des Tages bei dem herrlichen Wetter draußen verbringen. 😀<br /> Unter <a href="http://www.webcam-muenchen.com/">http://www.webcam-muenchen.com/</a> könnt ihr bei Isar Webcam 2 &#038; 3 sehen wie das Wetter bei mir in der Ecke ist.<br /> Die Bilder zeigen den Flaucher der ~5min zu Fuß von meiner Wohnung entfernt ist. 😉</p> Sun, 16 Jun 2013 12:46:00 GMT tag:blog.mdosch.de,2013-06-16:/2013/06/16/herrliches-wetter Biergärten: Menterschwaige https://blog.mdosch.de/2013/06/16/biergaerten-menterschwaige/ <p>Im Sommer ist München für alle, die gerne rausgehen eine tolle Stadt. Im Vergleich zu anderen Städten ist München sehr grün und hat viele schöne Ecken mit fast schon ländlichem Flair, nicht umsonst nennt man München auch <em>Das größte Dorf der Welt.</em> 😄<br /> Neben den ganzen Parks, wie dem bekannten <em>Englischen Garten</em> gibt es auch noch den <a href="https://de.wikipedia.org/wiki/Flaucher">Flaucher</a> und die schönen Münchner Biergärten. Ich werde nach und nach kurze Einträge über die verschiedenen Biergärten schreiben.</p> <p>Im Moment warte ich auf einen Kumpel, um mit ihm in die Menterschwaige zu gehen. Ich vermute, dass ich das Schreiben für den Biergartenbesuch unterbrechen muss aber es soll schlimmere Opfer geben. 😉</p> <div style="width: 5194px" class="wp-caption aligncenter"><a href="https://upload.wikimedia.org/wikipedia/commons/8/83/Menterschwaige_6761.JPG"><img src="https://upload.wikimedia.org/wikipedia/commons/8/83/Menterschwaige_6761.JPG" width="640" height="387" alt="Biergarten Menterschwaige" class/></a><p class="wp-caption-text">https://upload.wikimedia.org/wikipedia/commons/8/83/Menterschwaige_6761.JPG</p></div> <p>Die <a href="http://www.menterschwaige.de/de/biergarten/">Menterschwaige</a> liegt im Stadtteil Harlaching am Hochufer der Isar. Der Biergarten ist sehr schön gelegen und durch viele Kastanien sitzt man nicht direkt in der Sonne und läuft nicht Gefahr sich einen Sonnenstich zu holen. Da er nicht im Zentrum liegt ist der Biergarten auch nicht so extrem überfüllt wie die bekannten Biergärten nahe der Touristen-HotSpots. Für Familien mit Kindern bietet der Biergarten mit Klettergerüsten und Karussells Beschäftigung für die Kleinen.</p> <div style="width: 460px" class="wp-caption aligncenter"><img src="http://www.menterschwaige.de/files/6813/4203/3747/biergarten_01.jpg" width="450" height="331" alt="Klettergerüst" class/><p class="wp-caption-text">http://www.menterschwaige.de/files/6813/4203/3747/biergarten_01.jpg</p></div> <p>Bei Fußball-Welt- und Europameisterschaften werden die Deutschlandspiele auch auf einer Leinwand übertragen. Allgemein kann ich Public Viewing im Biergarten empfehlen, die Atmosphäre ist einfach schöner als in einer Kneipe.</p> <p>Der Menterschwaigen-Wirt, der auch der Wirt des Wiesn-Zeltes <a href="http://www.festzelt.schottenhamel.de/de/home.htm">Schottenhamel</a> ist, schenkt in seinem Biergarten <a href="http://www.loewenbraeu.de/">Löwenbräu</a> aus. Meiner Meinung nach nicht das beste Münchner Bier, aber man kann ja nicht alles haben. 😉</p> <link rel="stylesheet" type="text/css" href="http://blog.mdosch.de/wp-content/plugins/osm//css/osm_map.css"/><style type="text/css">#map_2 {clear: both; padding: 0px; margin: 0px; border: 0px; width: 100%; height: 100%; margin-top:0px; margin-right:0px;margin-left:0px; margin-bottom:0px; left: 0px;}#map_2 img{clear: both; padding: 0px; margin: 0px; border: 0px; width: 100%; height: 100%; position: absolute; margin-top:0px; margin-right:0px;margin-left:0px; margin-bottom:0px;}</style><div id="map_2" class="OSM_Map" style="width:600px; height:450px; overflow:hidden;padding:0px;border:none;"><script type="text/javascript" src="http://blog.mdosch.de/wp-content/plugins/osm/js/osm-plugin-lib.js"></script><script type="text/javascript">/* <![CDATA[ */(function($) { OpenLayers.ImgPath = "http://blog.mdosch.de/wp-content/plugins/osm/themes/ol/"; map_2 = new OpenLayers.Map ("map_2", { controls:[ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoom(), new OpenLayers.Control.Attribution() ], maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution: 156543.0399, numZoomLevels: 19, units: "m", projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") } );var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");var layerCycle = new OpenLayers.Layer.OSM.CycleMap("CycleMap");map_2.addLayers([layerMapnik, layerCycle]);map_2.addControl(new OpenLayers.Control.LayerSwitcher());var lonLat = new OpenLayers.LonLat(11.546,48.082).transform(map_2.displayProjection, map_2.projection);map_2.setCenter (lonLat,18);var MarkerLayer = new OpenLayers.Layer.Markers("Marker");map_2.addLayer(MarkerLayer); function osm_map_2MarkerPopUpClick(a_evt){ if (this.popup == null){ this.popup = this.createPopup(this.closeBox); map_2.addPopup(this.popup); this.popup.show(); } else{ for (var i = 0; i < map_2.popups.length; i++){ map_2.popups[i].hide(); } this.popup.toggle(); } OpenLayers.Event.stop(a_evt); } var data = {};var currentPopup; data.icon = new OpenLayers.Icon("http://blog.mdosch.de/wp-content/plugins/osm/icons/wpttemp-red.png", new OpenLayers.Size(24,24), new OpenLayers.Pixel(0, -24)); var ll = new OpenLayers.LonLat(11.54546,48.08202).transform(map_2.displayProjection, map_2.projection);var feature = new OpenLayers.Feature(MarkerLayer, ll, data);feature.closeBox = true;feature.popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, {"autoSize": true, minSize: new OpenLayers.Size(150,150),"keepInMap": true } );feature.data.popupContentHTML = "";feature.data.overflow = "hidden";var marker = new OpenLayers.Marker(ll,data.icon.clone());marker.feature = feature;MarkerLayer.addMarker(marker);var lonLat = new OpenLayers.LonLat(11.546,48.082).transform(map_2.displayProjection, map_2.projection);map_2.setCenter (lonLat,18);})(jQuery)/* ]]> */ </script></div> Sun, 16 Jun 2013 10:15:00 GMT tag:blog.mdosch.de,2013-06-16:/2013/06/16/biergaerten-menterschwaige Piwik https://blog.mdosch.de/2013/06/15/piwik/ <p>Ich habe heute <a href="https://de.piwik.org/">Piwik</a> installiert um ein paar Statistiken über Seitenzugriffe, Referrer, verwendete Betriebsysteme, Browser und ähnliches zu bekommen. Ich habe Piwik vor ein paar Jahren schon mal eingesetzt und habe mich auch diesmal wieder dafür und nicht für Google-Analytics o.ä. entschieden, da Piwik lokal bei meinem Hoster läuft. Externe Dienste wie Google-Analytics erlauben dem Dienstleister, in diesem Beispiel Google, nämlich das Tracking der Besucher über mehrere Seiten hinweg. Außerdem ist Piwik <a href="https://de.wikipedia.org/wiki/Freie_Software">freie Software</a> und ich bevorzuge diese wo es möglich ist.<br /> Piwik benötigt für die Erfassung der Daten Java-Script, wer mir also die Erfassung von Zugriffsstatistiken etc. ermöglichen will erlaubt bitte <abbr title="JavaScript">JS</abbr> für piwik.mdosch.de. Piwik ist auch so konfiguriert, dass es den <acronym title="Do Not Track"><a href="https://de.wikipedia.org/wiki/Do_Not_Track">DNT</a></acronym>-Header berücksichtigt.</p> <h5>Update 2016-08-26</h5> Piwik ist mittlerweile deaktiviert. Ich fand es zwar interessant über Piwik zu sehen woher die Besucher kamen und dadurch Verlinkungen auf meinen Blog zu finden, aber ich möchte meinen Blog so Datenschutzkonform wie möglich einrichten um mit gutem Beispiel voran zu gehen. Sat, 15 Jun 2013 09:37:00 GMT tag:blog.mdosch.de,2013-06-15:/2013/06/15/piwik Brände in Klingenberg und Theorien der Medien https://blog.mdosch.de/2013/06/14/braende-in-klingenberg-und-theorien-der-medien/ <p>Da hört man im Münchner Exil mal wieder etwas aus der Heimat und dann ist es so ein <a href="http://leistungsschutzrecht-stoppen.d-64.org/blacklisted/?url=aHR0cDovL3d3dy5tYWluLW5ldHouZGUvbmFjaHJpY2h0ZW4vcmVnaW9uL21pbHRlbmJlcmcvbWlsdGVuYmVyZy9hcnQzOTk5LDI2MzQxOTk=">Unfug</a>.<br /> <a href="https://de.wikipedia.org/wiki/Klingenberg_am_Main">Klingenberg am Main</a> sorgte in den Siebzigern durch den Exorzismus an <a href="https://de.wikipedia.org/wiki/Anneliese_Michel">Anneliese Michel</a> für internationales Aufsehen und wird oft auch als Vorlage für den Film <a href="https://de.wikipedia.org/wiki/Der_Exorzismus_von_Emily_Rose">Der Exorzismus der Emily Rose</a> genannt.<br /> Nun kam es in letzter Zeit in Klingenberg zu Bränden, darunter auch eine Villa nahe des Orts an dem katholische Priester die Teufelsaustreibung vornahmen, und das Sägewerk Michel. In zwei weiteren Brandfällen (eine Garage und ein Autoanhänger) vermutet die Polizei Brandstiftung. Beim Brand des Sägewerks und der Villa sind sie sich aufgrund des großen Schadens noch nicht sicher.</p> <p>Soweit die Fakten.</p> <p>Nun kommen aber natürlich wieder die wildesten Theorien auf, z.B. dass das Datum (06.06.2013) 666 ergibt (2 + 1 + 3 = 6) und das kein Zufall sein könne. Natürlich springen die großen überregionalen Medien auch auf den Zug auf und geben sich den wildesten Spekulationen hin.<br /> Man will auch in Bildern der brennenden Villa Geister gesehen haben und ähnliches.</p> <p><a href="http://www.main-netz.de/storage/scl/mebilderserien/nachrichten/panoramabilder/2176009_m1msw506q75s1v4580_xxx.gif">Hervorhebung der "Geister"</a></p> <p>Was damals in Klingenberg passiert ist war schrecklich und auch Brandstiftung ist eine üble Sache. Dennoch sollte man das Geschehen sachlich und nüchtern bewerten, die Brandstifter ausfindig machen und keine Verbindungen zum Fall Anneliese Michel suchen. Vor allem diese &#8220;Geister&#8221;-Geschichten ärgern mich, da man nur wieder die Sensationsgier bedienen will.</p> <p>Im Artikel von main-netz.de wird auch auf den Umgang der Medien mit der Geschichte eingegangen (der Artikel selbst hat mit <em>&#8220;<a href="http://leistungsschutzrecht-stoppen.d-64.org/blacklisted/?url=aHR0cDovL3d3dy5tYWluLW5ldHouZGUvbmFjaHJpY2h0ZW4vcmVnaW9uL21pbHRlbmJlcmcvbWlsdGVuYmVyZy9hcnQzOTk5LDI2MzQxOTk=">In Klingenberg ist der Teufel los</a>&#8220;</em> allerdings auch einen reißerischen Titel).</p> <p>Den TV-Beitrag von Sat1 kann man sich <a href="https://www.sat1bayern.de/news/20130612/klingenberg-braende-wecken-erinnerung-an-dunkle-stadtgeschichte/">hier</a> ansehen.</p> <p>So, das musste raus. Dass man die alten Geschichten wieder aufwärmt und übernatürliches bei einem abbrennenden Gebäude sehen will geht mir einfach wahnsinnig gegen den Strich. 😉 </p> <p><strong><br /> Nachtrag:</strong> Die <em>tz</em> titelte mittlerweile <a href="http://www.abendzeitung-muenchen.de/inhalt.satansjuenger-in-franken-zum-gruseln-abgebrannt-das-exorzisten-haus.0c752bcd-fac7-4b51-901f-d0e0083b26bb.html">Satansjünger in Franken? Zum Gruseln: Abgebrannt &#8211; Das Exorzisten-Haus</a>.</p> <p>Die Bild schreibt &#8220;<a href="http://leistungsschutzrecht-stoppen.d-64.org/blacklisted/?url=aHR0cDovL3d3dy5iaWxkLmRlL2JpbGQtcGx1cy9yZWdpb25hbC9mcmFua2Z1cnQvZXhvcnppc211cy9nZWlzdGVyLWVyc2NoZWludW5nLWluLWJyZW5uZW5kZW0tZXhvcnppc211cy1oYXVzLTMwODU3NzIyLHZpZXc9Y29udmVyc2lvblRvTG9naW4uYmlsZC5odG1s">Mehr Infos Teufels-Trubel in Klingenberg<br /> Geister in brennendem​ Exorzismus-Haus?</a>&#8220;.</p> <p><strong>[Nachtrag 2013-09-06]</strong><br /> Mittlerweile wurde der Brandstifter <a href="http://www.polizei.bayern.de/unterfranken/news/presse/aktuell/index.html/185396">festgenommen</a>. Der 19-jährige hat mittlerweile gestanden die Brände gelegt zu haben.<br /> Auf der Seite der Polizei Bayern kann man auch die <a href="http://www.polizei.bayern.de/content/1/8/5/3/9/6/06.09.2013-haft-mz.mp3">Pressemitteilung</a> des Pressesprechers Michael Zimmer als mp3-Datei herunterladen bzw. anhören.</p> Fri, 14 Jun 2013 16:19:00 GMT tag:blog.mdosch.de,2013-06-14:/2013/06/14/braende-in-klingenberg-und-theorien-der-medien Blocksatz mit Silbentrennung 2 https://blog.mdosch.de/2013/06/13/blocksatz-mit-silbentrennung-2/ <p>Wie <a href="http://marmaro.de/">Meillo</a> in seinem <a href="http://blog.mdosch.de/2013/06/13/blocksatz-mit-silbentrennung/#comment-7">Kommentar</a> zu <a href="http://blog.mdosch.de/2013/06/13/blocksatz-mit-silbentrennung/">Blocksatz mit Silbentrennung</a> korrekt feststellte funktioniert meine Lösung nur mit eingeschaltetem Java-Script, da der Hyphenator dies benötigt.<br /> Da ich selbst mit NoScript surfe und der Meinung bin man sollte möglichst auf Scripte verzichten habe ich jetzt eine Lösung eingefügt, die ohne <abbr title="JavaScript">JS</abbr> auskommt. Dazu wird lediglich folgendes <abbr title="Cascading Style Sheets">CSS</abbr> benötigt:</p> <div class="highlight"><pre><span></span><span class="na">.entry-content</span><span class="err">{</span> <span class="nl">text-align:</span> <span class="nf">justify</span><span class="c">;</span> <span class="p">-</span><span class="no">webkit-hyphens</span><span class="p">:</span> <span class="no">auto</span><span class="c">;</span> <span class="p">-</span><span class="no">moz-hyphens</span><span class="p">:</span> <span class="no">auto</span><span class="c">;</span> <span class="p">-</span><span class="no">ms-hyphens</span><span class="p">:</span> <span class="no">auto</span><span class="c">;</span> <span class="no">hyphens</span><span class="p">:</span> <span class="no">auto</span><span class="c">;</span> <span class="err">}</span> </pre></div> <p>Gefunden habe ich dies in einem Eintrag bei <a href="http://www.officetrend.de/3075/automatische-silbentrennung-mit-css-hyphens/">Officetrend</a>.</p> <p><strong>Nachtrag:</strong> Für Opera gilt es noch <code>-o-hyphens: auto;</code> einzufügen.</p> Thu, 13 Jun 2013 19:34:00 GMT tag:blog.mdosch.de,2013-06-13:/2013/06/13/blocksatz-mit-silbentrennung-2 Backup mit rsync https://blog.mdosch.de/2013/06/13/backup-mit-rsync/ <p>Ich gebe es zu, ich war in letzter Zeit faul und hatte seit Januar kein Backup mehr gemacht. Zuletzt verwendete ich dafür das auf <a href="http://duplicity.nongnu.org/">Duplicity</a> aufsetzende <a href="https://launchpad.net/deja-dup">Déjà Dup</a>, aber bei der letzten Installation meines Laptops hatte ich arge Probleme das Backup wiederherzustellen, da Déjà Dup die Integrität des Backups in Frage stellte und auch häufig crashte. Nach mehrmaligen Versuchen gelang es zwar doch, aber da Déjà Dup das Backup in einem eigenen Format speichert besteht grundsätzlich die Gefahr das Backup nicht wiederherstellen zu können. Der Ubuntu-Entwickler Michael Terry weist auch in einem <a href="http://mterry.name/log/2011/09/19/backups-and-distro-upgrading/">Blog-Eintrag</a> auf dieses Risiko hin.</p> <blockquote><p>My concern stems from the fact that Déjà Dup uses an opaque backup format [1]. Which means that it does not store your data in plain files that you can just copy back into place with the file manager. You’ll need to use Déjà Dup again to restore them [2]. Which is fine if Déjà Dup is working correctly, as it should.</p> <p>But just from a risk management perspective, I always recommend that people try to have at least one copy of their data in “plain files” format at all times.</p></blockquote> <p>Aus diesem Grund möchte ich ein simples altbewährtes Tool nutzen, bei dem die Wahrscheinlichkeit einer Fehlfunktion geringer ist und ich im Notfall die Dateien auch händisch wiederherstellen kann. Meine Wahl fiel dabei auf <a href="http://rsync.samba.org/">rsync</a>. Rsync kann Dateien lokal oder über Netzwerk sichern. Ich verwende in meinem Fall eine <abbr title="Universal Serial Bus">USB</abbr>-Festplatte. Die Syntax von rsync ist simpel:</p> <div class="highlight"><pre><span></span>rsync [OPTIONEN] Quelle Ziel </pre></div> <p>Als Quelle wählt man natürlich den zu sichernden Ordner, wie z.B. <code>/home/martin</code> und als Ziel das Zielmedium in meinem Fall <code>/media/martin/USB-Festplatten-UUID/Backup</code> wobei ich der Lesbarkeit wegen meine <a href="http://wiki.ubuntuusers.de/UUID">UUID</a> durch <em><abbr title="Universal Serial Bus">USB</abbr>-Festplatten-UUID</em> ersetzt habe. Bei der Angabe der Quelle ist es wichtig darauf zu achten, dass zwischen <code>Quelle</code> und <code>Quelle/</code> unterschieden wird. </p> <div class="highlight"><pre><span></span>rsync -a /home/martin/ /media/martin/USB-Festplatten-UUID/Backup </pre></div> <p>würde <strong>nur die Dateien im Ordner</strong> martin zum Ziel übertragen, <strong>nicht den Ordner</strong> martin <strong>selbst</strong>. Um den gesamten Ordner zu sichern muss man</p> <div class="highlight"><pre><span></span>rsync -a /home/martin /media/martin/USB-Festplatten-UUID/Backup </pre></div> <p>ausführen.</p> <p>Wie man der <a href="http://linux.die.net/man/1/rsync">manpage</a> entnehmen kann gibt es sehr viele Optionen für rsync. Im vorigen Beispiel wurde die Option <code>-a</code> benutzt, welche die folgenden Optionen beinhaltet:</p> <p>-r -> Unterverzeichnisse werden mitkopiert (rekursiv)<br /> -l -> symbolische Links werden mitkopiert<br /> -p -> Rechte bleiben erhalten<br /> -t -> Zeiten bleiben erhalten<br /> -g -> Gruppenrechtebleiben erhalten<br /> -o -> Besitzrechte bleiben erhalten <strong>(root)</strong><br /> -D -> Gerätedateien bleiben erhalten <strong>(root)</strong> </p> <p>Um Besitzrechte und Gerätedateien zu erhalten muss rsync als <em>root</em> ausgeführt werden. Will man nicht nur symbolische Links sondern auch Hardlinks erhalten, so kann man dies durch die Option <code>-H</code> erreichen. Um nach einem Abbruch an der Abbruchstelle fortsetzen zu können kann man die Option <code>-P</code> verwenden. Durch diese Option wird auch der Fortschritt des Vorgangs angezeigt.<br /> Bei einer Übertragung über ein Netzwerk kann man durch <code>-z</code> die Daten komprimiert übertragen und durch <code>-e</code> wählt man die Remote-Shell, z.B. <code>-e ssh</code>.<br /> Bei Aktualisierungen eines Backups kann die Option <code>--delete</code> sinnvoll sein, da sie Dateien die nicht mehr in der Quelle vorhanden sind auch im Ziel löscht. So verhindert man auch, dass Dateien, welche seit dem letzten Backup umbenannt wurden, doppelt im Backup vorkommen. Mit Hilfe der Option <code>-b</code> können veränderte Dateien, auch durch <code>--delete</code> gelöschte Dateien, in einen durch <code>--backup-dir=</code> definierten Backup-Ordner gesichert werden.<br /> Mittels <code>--exclude=</code> kann man Ordner von der Übertragung ausschließen. Dabei ist zu beachten, dass man den Ordner relativ zur Quelle und nicht absolut angeben muss. D.h. wenn unsere Quelle <code>/home/martin</code> ist und wir wollen <code>/home/martin/.gnupg</code> vom Backup ausschließen, müssen wir dies mit <code>--exclude=/.gnupg</code> tun, nicht mit <code>--exclude=/home/martin/.gnupg</code>.<br /> Verwendet man <code>--stats</code> bekommt man am Ende der Übertragung einen Report und mit <code>-v</code> während des Vorgangs die aktuellen Schritte angezeigt.</p> <p>Ich habe nun meinen home-Ordner wie folgt gesichert:</p> <div class="highlight"><pre><span></span>rsync -avP --stats /home/martin /media/martin/USB-Festplatten-UUID/Backup </pre></div> <p>Eine Sicherung, bei der gelöschte Dateien auch im bereits vorhandenen Backup entfernt, aber gesichert, und die Daten komprimiert über <abbr title="Secure Shell">SSH</abbr> übertragen werden könnte so aussehen:</p> <div class="highlight"><pre><span></span>rsync -avPzbe &quot;ssh -p 667&quot; --delete --backup-dir=martin@zweitrechner:/tmp/Backup/Old /home/martin martin@zweitrechner:/tmp/Backup </pre></div> <p>Weitere Informationen kann man durch <code>man rsync</code> oder diesem LinuxUser-<a href="http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2006/04/Dateien-abgleichen-mit-Rsync">Artikel</a> erhalten.</p> <p><strong>Warnung:</strong> Ich möchte darauf hinweisen, dass ich diesen Artikel hauptsächlich für mich selbst als Gedächtnisstütze geschrieben habe und keine Garantie für Fehlerfreiheit übernehme. Da ich nur einen Rechner habe, konnte ich z.B. das <abbr title="Secure Shell">SSH</abbr>-Beispiel nicht testen. Allgemein würde ich empfehlen, bei so etwas sensiblem wie Backups immer aufmerksam zu sein, das Gehirn einzuschalten und lieber zweimal nachzudenken bevor man handelt.</p> Thu, 13 Jun 2013 17:08:00 GMT tag:blog.mdosch.de,2013-06-13:/2013/06/13/backup-mit-rsync Blocksatz mit Silbentrennung https://blog.mdosch.de/2013/06/13/blocksatz-mit-silbentrennung/ <p>Da ich den <a href="https://de.wikipedia.org/wiki/Flattersatz">Flattersatz</a> als wenig ästhetisch empfand habe ich mich entschlossen in der Mittagspause auf <a href="https://de.wikipedia.org/wiki/Blocksatz">Blocksatz</a> umzustellen. Blocksatz hat ohne Silbentrennung aber den Nachteil, dass bei langen Wörtern hässliche Löcher im Text entstehen können. Dies ist vor allem auf mobilen Geräten mit kleinen Displays problematisch.<br /> Also war klar: Blocksatz nur in Kombination mit Silbentrennung. Dies habe ich folgendermaßen erreicht:<br /> Das Umstellen auf Blocksatz ging mit Hilfe dieses im <a href="http://wordpress.org/support/topic/how-to-justify-text-in-posts">Netz aufgefischten</a> <abbr title="Cascading Style Sheets">CSS</abbr>-Schnipsel ohne Probleme.</p> <div class="highlight"><pre><span></span><span class="na">.DIVCLASS</span><span class="err">{</span> <span class="nl">text-align:</span> <span class="nf">justify</span><span class="c">;</span> <span class="err">}</span> </pre></div> <p><em>DIVCLASS</em> musste lediglich durch den Namen der Klasse des Beitragstextes ersetzt werden.<br /> Die Silbentrennung erledigt ein WordPress-Plugin namens <a href="http://wordpress.org/plugins/hyphenator/">Hyphenator</a>. Auf den ersten Blick scheint die Kombination gut zu funktionieren und auch an den richtigen Stellen zu trennen. Die Kontrolle mit meinem Android-Handy hat auch keine Probleme aufgezeigt. </p></p> Thu, 13 Jun 2013 11:14:00 GMT tag:blog.mdosch.de,2013-06-13:/2013/06/13/blocksatz-mit-silbentrennung Notebooks ohne Windows https://blog.mdosch.de/2013/06/13/notebooks-ohne-windows/ <p>Nachdem mein aktuelles Notebook so langsam den Geist aufgibt war es an der Zeit ein neues zu suchen.<br /> Da ich seit 10 Jahren Linux nutze wollte ich natürlich ein Notebook ohne Windows erwerben, ob es ohne Betriebssystem, mit einem Linux oder FreeDOS ausgeliefert wird war mir dabei recht egal. Wichtig war mir nur, dass ich keine Windows-Lizenz mit kaufe mit der ich nichts anfangen kann.<br /> Leider musste ich feststellen, dass es kaum Shops gibt die ihre Notebooks ohne Windows verkaufen. Auf den Webseiten der Hersteller kann man so einiges konfigurieren, aber das Windows kann man selten abwählen.<br /> Um einen kleinen Merkzettel mit Shops, welche ihre Notebooks auch ohne Windows verkaufen, zu haben und eventuell anderen Interessenten, welche auch kein Windows kaufen wollen, eine Sammlung bereit zu stellen veröffentliche ich hier die Anbieter, welche ich gefunden habe.</p> <p>Eine kleine Auswahl von Laptops ohne Windows gibt es unter <a href="http://www.notebooksbilliger.de/notebooks/notebooks+ohne+windows">notebooks-billiger.de</a> und auch bei den Suchmaschinen von <a href="https://geizhals.at/">geizhals.at</a>, <a href="https://www.cyberport.de/">cyberport.de</a> und amazon kann man gezielt nach Notebooks ohne Windows suchen. Die Auswahl ist allerdings sehr eingeschränkt und um mehr Treffer zu erzielen und auch höherwertige Notebooks zu finden muss man doch etwas suchen. Nun folgt die Liste der gefundenen Anbieter, welche ihre Notebooks auch ohne Windows verkaufen. Sollte jemand weitere kennen, würde ich mich auf einen Hinweis per Kommentar freuen. Wer weiß wann ich wieder ein neues Notebook benötige und mich über jeden Hinweis freue. 😀</p> <ul> <li><a href="http://www.mysn.de/">mysn</a></li> <li><a href="http://www.linux-onlineshop.de/Linux-Hardware/Linux-Notebooks.geek">tuxedo</a></li> <li><a href="http://www.nexoc.de/cms/front_content.php?idcat=2">nexoc</a></li> <li><a href="https://www.system76.com/">system76</a></li> <li><a href="https://www.notebookguru.de/">notebookguru</a></li> <li><a href="http://rockiger.com/">rockiger</a></li> <li><a href="https://one.de/shop/index.php">one</a></li> <li><a href="https://ixsoft.com/Hardware/Notebooks.html">ixsoft</a></li> <li><a href="http://xtops.de/thinkpad_linux_preinstalled.html">xtops</a></li> <li><a href="http://www.besserpc-shop.de">Besser-PC</a></li> </ul> <p><strong>[Nachtrag 2013-09-20: Besser-PC hinzugefügt.]<br /> </strong></p> <p>Ich möchte ausdrücklich darauf hinweisen, dass ich die genannten Verkäufer nicht getestet habe und deshalb auch keinen ausdrücklich empfehlen kann. Ebenso kann ich nicht garantieren, dass die ohne Windows verkauften Notebooks mit bestimmten Distribution bzw. allgemein mit Linux <em>out of the box </em>funktionieren.<em></em></p> <p>Ich habe mittlerweile mein nächstes Notebook gefunden und bestellt. Ohne Windows, aber nicht von einem der genannten Shops sondern über einen Kontakt aus einem Linuxforum. Um welches Notebook es sich handelt und wie die Einrichtung unter Linux (voraussichtlich Debian Testing) verlief werde ich hier berichten, wenn es soweit ist. 😉 </p> <p>Vielen Dank an hikaru, der einen <a href="http://wiki.debianforum.de/Leitfaden_zum_Notebookkauf">Artikel zum Notebook-Kauf</a> im df.de veröffentlicht hat, der reichlich <a href="https://debianforum.de/forum/viewtopic.php?f=36&amp;t=142913#p936692">Kontroverse</a> hervorrief und mich daran erinnert hat, dass es sinnvoll ist eine Liste zu erstellen, falls man mal wieder in der gleichen Situation ist.</p> Wed, 12 Jun 2013 22:08:00 GMT tag:blog.mdosch.de,2013-06-13:/2013/06/13/notebooks-ohne-windows System-Mails von Linux mit Thunderbird abfragen https://blog.mdosch.de/2013/06/12/system-mails-von-linux-mit-thunderbird-abfragen/ <p>Im Vergleich zum Betriebssystem aus Redmond ist Linux eine regelrechte Plaudertasche. Statt kryptischer Fehlermeldungen erhält man meist recht klare Informationen was schief gelaufen ist und teilweise sogar klare Anweisungen wie der Fehler zu beheben ist. Linux schickt auch viele Informationen als Mail an den jeweiligen Benutzer. Diese Mails kann man unter <em>/var/mail/root </em>für root und unter <em></em><em>/var/mail/$user</em> einsehen, wobei $user für den jeweiligen Nutzernamen steht.<br /> Komfortabler ist es natürlich, wenn die Systemmails direkt im Email-Client gelesen werden können. Ich verwende als Email-Client Thunderbird (bzw. das Debian-Pendant Icedove) und habe vor kurzem erfahren, dass es ganz einfach ist die Systemmails mit Thunderbird abzurufen.</p> <p>Dazu muss man lediglich ein neues Konto vom Typ <em>Unix Mailspool (Movemail)</em> anlegen. Diesen Kontentyp kann man in Thunderbird unter <em>Neu → Andere Konten</em> hinzufügen.</p> <p><a href="https://blog.mdosch.de/wp-content/uploads/2013/06/Konten-Assistent_001.png"><img class="aligncenter size-medium wp-image-19" alt="Konten-Assistent" src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Konten-Assistent_001-300x250.png" width="300" height="250"/></a></p> <p>Darauf trägt man bei Email-Adresse <em>$user@$hostname</em> ein, wobei $user wieder für den eigenen Benutzer und $hostname für den hostname steht. Wenn man sich unsicher ist, was der eigene hostname ist kann man das recht einfach erfahren indem man</p> <div class="highlight"><pre><span></span>hostname </pre></div> <p>in ein Terminal tippt.</p> <p><a href="https://blog.mdosch.de/wp-content/uploads/2013/06/Konten-Assistent_002.png"><img class="aligncenter size-medium wp-image-24" alt="Konten-Assistent" src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Konten-Assistent_002-300x250.png" width="300" height="250"/></a><br /> Danach gibt man in den Konteneinstellungen bei den Einstellungen für den Server als Benutzernamen wieder den eigenen Benutzernamen ein und unter Server <em>localhost</em>.</p> <p><a href="https://blog.mdosch.de/wp-content/uploads/2013/06/Konten-Einstellungen_003.png"><img class="aligncenter size-medium wp-image-25" alt="Konten-Einstellungen" src="https://blog.mdosch.de//blog.mdosch.de/wp-content/uploads/2013/06/Konten-Einstellungen_003-300x272.png" width="300" height="272"/></a> Im letzten Schritt muss die Datei <em>/etc/aliases</em> folgendermaßen bearbeitet werden:</p> <div class="highlight"><pre><span></span># /etc/aliases mailer-daemon: postmaster postmaster: root nobody: root hostmaster: root usenet: root news: root webmaster: root www: root ftp: root abuse: root noc: root security: root root: $user </pre></div> <p>Dabei ist es wichtig bei <em>root:</em> in der letzten Zeile den eigenen Benutzernamen einzutragen, damit die Mails an den Benutzer root auch im Thunderbird erscheinen.</p> <p>Vielen Dank an Saxman, der mir dies im <a href="https://debianforum.de/forum/viewtopic.php?f=15&amp;t=142916&amp;p=936821#p936823">df.de</a> erläutert hat.</p> Wed, 12 Jun 2013 20:21:00 GMT tag:blog.mdosch.de,2013-06-12:/2013/06/12/system-mails-von-linux-mit-thunderbird-abfragen CD-Review: Ensiferum – Unsung Heroes https://blog.mdosch.de/2013/06/12/cd-review-ensiferum-unsung-heroes/ <p>Es ist einfach nicht schön einen Blog mit nur einem nichts sagenden Eröffnungspost online zu stellen. Deshalb habe ich beschlossen hier ein <abbr title="Compact Disc">CD</abbr>-Review zu <em>Ensiferum &#8211; Unsung Heroes</em>, welches ich am 25.08.2012 für ein privates Forum verfasst habe, online zu stellen.<br /> In der Regel fallen meine Worte zu neuen Alben dort eher kürzer aus, aber da ich diese <abbr title="Compact Disc">CD</abbr> recht ausführlich beschrieben habe, möchte ich mein Review mit der Allgemeinheit teilen und zur Diskussion stellen. Dazu möchte ich aber gleich anmerken, dass ich einiges heute, da die <abbr title="Compact Disc">CD</abbr> mittlerweile den Dauertest bestehen musste, anders bewerten würde.</p> <p><strong>Ensiferum &#8211; Unsung Heroes</strong></p> <p><a href="http://www.nuclearblast.de/de/produkte/tontraeger/cd/cd-dvd/ensiferum-unsung-heroes-deluxe.html"><img class="aligncenter" alt="Ensiferum - Unsung Heroes Albumcover" src="http://www.nuclearblast.de/static/articles/200/200701-0.jpg/250x250.jpg" width="250" height="250"/></a></p> <p>Die <abbr title="Compact Disc">CD</abbr> kommt im Digipack mit einer <abbr title="Digital Versatile Disc">DVD</abbr>, welche ein Studio-Tagebuch über die Entstehung vom Album beinhaltet. Die <abbr title="Digital Versatile Disc">DVD</abbr> hab ich noch nicht angeschaut, da mich das auch erst mal gar nicht interessiert. Während asunder die <abbr title="Compact Disc">CD</abbr> in meine Sammlung rippt schau ich mir mal die Hardware an:<br /> Das Digipack ist, wie bei Ensiferum üblich, mit einer hübschen (fast schon kitschigen) Wikinger-Zeichnung bedruckt. Ist eigentlich recht schick, aber durch die Farbgebung (pink, wtf?) wirkt es diesmal doch schon arg kitschig. <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/><br /> Wie auch bei den anderen Alben enthält das Booklet, sämtliche Texte, ein Gruppenfoto der Band und Danksagungen.</p> <p>So, asunder ist auch fertig, das Album erscheint in Clementine → los geht&#8217;s mit dem ersten Hören. <img title=":)" alt=":)" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile.gif"/></p> <p><b>Symbols</b><br /> Ein relativ seichtes Intro mit gezupften Klängen und später zurückhaltendem Einsatz von Streichern und Bläsern. Relativ nichtssagend, könnte auch Hintergrundmusik von Spielen wie Gothic oder mittelalterlichen Filmen sein. Bisher das definitiv schwächste Ensi-Intro.</p> <p><b>In My Sword I Trust</b><br /> Kennt man ja vom Video, ein typischer Ensiferum-Song. Nichts außergewöhnliches aber lässt sich anhören, solide Kost wie man sie von Ensi gewohnt ist.</p> <p><b>Unsung Heroes</b><br /> Der Titelsong beginnt erst mal in einem für Ensi ungewöhnlichen Rhythmus entwickelt sich aber schnell zu einem typischen Ensiferum-Song mit heiserem Gesang abgewechselt durch clean vocals und Chorgesang, melodischen Gitarren überlagert durch Keyboardmelodien. Neu ist, dass der Chorgesang in diesem Song teilweise klassische Tiefe hat. Ähnlich den Gesängen in Hollenthons <i>Opus Magnum</i> oder <i>Tyrants and Wraith</i>.</p> <p><b>Burning Leaves</b><br /> Beginnt mit einer flotten, fröhlichen Melodie und führt diese auch bis zum Rest des Liedes fort, zwischendurch wieder das obligatorische Wechselspiel zwischen Growls (naja, ist bei Ensi ja eher heiseres Schreien als growling <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/>) und clean vocals. Bei den cleanen Passagen fällt allerdings eine Veränderung in der Gesangsart auf. So habe ich das bisher noch auf keiner Ensi-<abbr title="Compact Disc">CD</abbr> vernommen. Klingt fast schon wie Mainstream-Gesang&#8230;<br /> Ok, daran ist erstmals nichts auszusetzen da es gut ist wenn Bands experimentieren und nicht jedes Lied gleich klingt, aber ich hoffe dass sie das in den kommenden Songs und Alben nicht weiterführen. <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/><br /> Gegen Ende kommt es nochmal zu einer ruhigeren Stelle mit finnischem Chorgesang.<br /> <span style="text-decoration: underline;">Nachtrag:</span> Beim zweiten Hören fällt mir auf, dass die cleanen Passagen etwas an Amorphis erinnern.</p> <p><b>Celestial Bond</b><br /> Ein Lied der ruhigeren Töne mit lieblichem Frauengesang. Vergleichbar mit <i>Mourning Heart</i> vom 2. Album <i>Iron</i>.</p> <p><b>Retribution Shall Be Mine</b><br /> Nachdem mit <i>Celestial Bond</i> Geschwindigkeit rausgenommen und leisere Töne angeschlagen wurden geht es hier wieder etwas ruppiger zur Sache.<br /> Ein flotter Einstieg in den Song mit für Ensiferum-Verhältnisse ungewöhnlich viel Bassdrum und Petri bellt die Vocals raus. Auch wenn später dezent einsetzende Orchesterpassagen und clean vocals plus Chor wieder kurzzeitig etwas Geschwindigkeit rausnehmen geht der Song ziemlich &#8220;straight forward&#8221; und wird wohl ein schweißtreibender Moshpit-Kracher für Live-Auftritte werden.</p> <p><b>Star Queen (Celestial Bond PartII)</b><br /> Das Lied startet mit einer Instrumentalen Passage, später setzen auch E-Gitarren ein, werden aber schnell wieder rausgenommen und es folgt Gesang in clean vocals. Zum melodischen Refrain mit Ohrwurmcharakter dürfen die E-Gitarren dann auch wieder einsetzen.<br /> Insgesamt ein eher softes, sehr melodisches Lied das ins Ohr geht.</p> <p><b>Pohjola</b><br /> Pohjola ist wieder ein flotterer Song, der finnisch gesungen wird. Der Text stammt von Yrjö Koskinen (1803 &#8211; 1903), scheint also etwas älter zu sein. <img title=";)" alt=";)" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/wink.png"/><br /> Die Stimmung des Liedes ist durchaus wieder sehr fröhlich, die Chöre erinnern aber teilweise wieder etwas an Hollenthon. Später wird eine Stelle des Liedes eher gesprochen als gesungen, was mich sehr an ein altes Finntroll-Lied erinnert. Das Lied gefällt mir durchweg ziemlich gut, vereinzelte Ähnlichkeiten zu Hollenthon oder Finntroll stören mich nicht, da das beides ebenfalls gute Bands sind und es sich wirklich nur um Ähnlichkeiten handelt. Ensiferum bleiben ihrem Stil treu, obwohl sie auf diesem Album wieder etwas anders klingen.</p> <p><b>Last Breath</b><br /> Last Breath ist ein ruhigeres Lied ohne E-Gitarren, dafür mit Flöten etc. <img title=":)" alt=":)" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile.gif"/> Der Song transportiert eine ganz coole, teilweise etwas düstere, Stimmung.</p> <p><b>Passion, Proof, Power</b><br /> Ein sehr episches Stück, welches mit orchestralen Klängen beginnt und anschließend mit melodischem Gesang begeistert. Darauf folgen Klavierklänge, lieblicher Frauengesang und dann treten sie aufs Gas und starten mit E-Gitarren und dem Petri-typischen heiseren Gesang durch. Auch später im Song setzt immer Mal wieder der Frauengesang oder ein Chor ein.<br /> Dieses Lied enthält alles, Melodic-Death-Passagen, Frauengesang, Chöre, Gitarrensoli und epische, orchestrale Passagen und sogar Pferdegewieher, Hühnergegacker (! <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/>) und einen deutschen Dialog<br /> (&#8220;Hey, was machst du so?&#8221;<br /> &#8220;Joar nicht viel, meine Frau ist gerade los und kauft Wurst, ich denk ich geh auf ein Bier ins Zwielicht-Gasthaus¹.&#8221;<br /> &#8220;Super, da komm ich mit.&#8221;<br /> &#8220;Hier her, hier entlang! Willkommen edle Herren. Bei uns sind die Weiber schön und die Männer wild. Es gibt reichlich zu essen, das beste Bier. Und am Ende des Tages werden wir eine (???) Hexe dem Feuer übergeben. Vorher lasst euch unterhalten von weitgereisten Spielleuten, welche ebenfalls verbrannt werden, sollten sie ihre Spielzeit überziehen.&#8221;<br /> &#8220;Entschuldigen Sie bitte, wer spielt denn heute Abend?&#8221;<br /> Der Zwielicht-Gasthaus-Wirt (?): &#8220;Ensiferum und Finntroll aus Finnland!&#8221;<br /> &#8220;Ja, wunderbar!&#8221; ).<br /> Ein tolles Lied, das 17min lang unterhält ohne dabei langweilig zu werden. <img title=":)" alt=":)" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile.gif"/><br /> <span style="text-decoration: underline;">Nachtrag:</span> Der deutsche Dialog wurde anscheinend von den apokalyptischen Reitern beigesteuert. <img title=";)" alt=";)" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/wink.png"/></p> <p><b>Bamboleo</b><br /> Nach Metallicas <i>Battery</i> und Uria Heeps <i>Lady in Black</i> mal wieder eine Coverversion. Diesmal rücken sie Gipsy Kings&#8217; <i>Bamboleo</i> zu Leibe.<br /> Was soll man dazu sagen, ein Partykracher halt. <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/></p> <blockquote> <div>Bamboleo, bambolea<br /> Porque mi vida, yo la prefiero vivir asi<br /> Bamboleo, bambolea<br /> Porque mi vida, yo la prefiero vivir asi</div> </blockquote> <p><span style="text-decoration: underline;"><b>Fazit</b></span><br /> Nach dem ersten Hören scheint es wieder eine solide Arbeit von Ensiferum zu sein, die ihr Geld wert war. Ich denke ich werde die <abbr title="Compact Disc">CD</abbr> in den nächsten Tagen etwas intensiver hören und schauen ob sie den Dauertest besteht oder schnell langweilig wird. Ich bin mir aber ziemlich sicher, dass ich an dem Album dauerhauft meine Freude haben werde. Nach dem ersten Durchgang hat sich noch kein Lied als Favorit herausgestellt, da das ganze Album durchwegs auf hohem Niveau angesiedelt ist. Einzig Bamboleo hat schon Kultfaktor. <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/></p> <p>¹ <i>Twilight-Tavern</i> vom vorigen Album <i>From Afar</i>? <img title=":D" alt=":D" src="https://board.mdosch.de/unb_lib/designs/_smile/ipb/smile-big.png"/></p> Wed, 12 Jun 2013 18:27:00 GMT tag:blog.mdosch.de,2013-06-12:/2013/06/12/cd-review-ensiferum-unsung-heroes Mal wieder ein Blog https://blog.mdosch.de/2013/06/12/mal-wieder-ein-blog/ <p>Irgendwie hatte ich heute Lust nach ~10 Jahren mal wieder einen Blog zu erstellen. Ich weiß derzeit zwar noch nicht wirklich womit ich diesen befüllen soll, aber da fällt mir bestimmt noch etwas ein. 😄 </p> <p>Ich vermute stark, dass ich hier häufig einfach Problemlösungen oder empfehlenswerte Programme für Linux (speziell Debian) für mich selbst als Gedächtnisstütze festhalten werde. Wer weiß, vielleicht kann ja jemand etwas damit anfangen. Wir werden sehen was noch so kommt. 😉 </p> <p>Gruß<br /> Martin</p> Wed, 12 Jun 2013 18:06:00 GMT tag:blog.mdosch.de,2013-06-12:/2013/06/12/mal-wieder-ein-blog