Skip to content

Matrix-Account umgezogen

Nach immer wieder auftretenden Schwierigkeiten mit meinem Matrix-Account habe ich ihn jetzt gewechselt.

Wer sich verbinden möchte, kann das gerne über @ddeimeke:digitale-gesellschaft.ch tun.

Den alten Account werde ich noch einmal am Tag auf neue Nachrichten prüfen.

Ach, ja, in dem Zusammenhang: Nachdem niemand mit mir via XMPP kommuniziert, habe ich die Apps auch vom Handy und vom Tablet gelöscht. Auch hier prüfe ich einmal am Tag auf neue Nachrichten.

Das deutsche Git-Buch ...

Nachdem der Verlag Open Source Press leider zum 31. Dezember 2015 die Pforten geschlossen hat, haben alle Autoren die Rechte an Ihren Büchern komplett übertragen bekommen.



Valentin Haenel und Julius Plenz, die beiden Autoren von "Git - Verteilte Versionsverwaltung für Code und Dokumente" haben sich entschieden Ihr Buch unter einer Creative Commons Lizenz frei zu geben.



Webseite, das Buch, das Repository und Foliensätze für eine Schulung.



Ich zitiere einmal aus der README.md-Datei:

Falls Du ein DocBook-Experte und/oder Webprogrammierer bist, und denkst: Das Design könnte man ja wohl mal professionalisieren – dann gerne! Ich habe aus den Quelldateien nur schnell eine halbwegs ansehnliche Webseite zusammengestoppelt. Auch sind gegebenenfalls eine PDF- oder EPUB-Version interessant; falls Du dies übernehmen willst, gerne!

Wallabag ...

Nachdem ich die beteiligten Komponenten zur Entstehung des Linkdumps einmal aufgeschrieben hatte, kam mir das alles mehr als merkwürdig und viel zu kompliziert vor.

"Drüben", bei Google+, wurde mir nochmals Wallabag als Lösung zum Selberhosten ans Herz gelegt. Als ich das zuletzt "vor 100 Jahren" getestet habe, hat es mir nicht gefallen.

Mittlerweile hat sich da aber eine Menge getan und ich bin schwer begeistert, wie toll Wallabag mittlerweile geworden ist. Very well done!.

Wallabag ist eine Webapplikation, mit der sich einfach Webseiten lesen lassen. Dabei sorgt sie dafür, dass das ganze Brimborium um den Haupttext abgeschnitten wird und so ein sehr gut lesbarer Text entsteht, der ablenkungsfrei gelesen werden kann. Die so entkernten Webseiten lassen sich auch als E-Book (epub in Version 3, Mobipocket oder PDF) herunterladen und mit einem entsprechenden Readern lesen.

Von dem Export mache ich aber keinen Gebrauch, weil es auch eine sehr gute Android-App gibt (an eine App für iOS und eine App für Windows Phone wurde ebenfalls gedacht).

Prima finde ich auch, dass sich Wallabag mir der Share-Funktion von Firefox nutzen lässt oder mit einem Bookmarklet oder mit dieser Extension.

Solltet Ihr die Dokumentation benötigen, rate ich stark, die englischsprachige zu nehmen, die Doku in deutscher Sprache ist veraltet und zum Teil falsch.

Der Workflow bei mir hat sich jetzt so verändert, dass ich gute Artikel in der Wallabag App favorisiere und auf gelesen setze. Das folgende kleine Skript erstellt mir dann das Gerüst für den Linkdump.

Ach ja, wer bei mir einen Account möchte, kann sich gerne melden.

#!/bin/bash

# wget_options="--no-check-certificate --quiet -O -"
wget_options="--quiet -O -"

wallabag_url="<DEINE URL>"
wallabag_token="<DEIN TOKEN>"
wallabag_userid="<DEINE USERID>"

echo
date +"Linkdump %V/%G ..."
echo

wget ${wget_options} "${wallabag_url}?feed&type=fav&user_id=${wallabag_userid}&token=${wallabag_token}" \
    | egrep "<title>|<link>" \
    | egrep -v "${wallabag_url}|wallabag — fav feed" \
    | while read line; do
    if [[ -z "${title}" ]]; then
        title=$(echo ${line} | sed 's/<.\{0,1\}title>//g')
    else
        link=$(echo ${line} | sed 's/<.\{0,1\}link>//g')
        echo "<a href=\"${link}\">${title}</a>"
        echo
        unset title
        unset link
    fi
done

Larry Wall und Will "Coke" Coleda über Perl6 ...

Larry Wall hat sich den Fragen der Community zu Perl6 gestellt, Roman hat das alles zusammengebaut (Danke!).

Ich möchte an dieser Stelle auch noch einmal auf unsere Sponsoren hinweisen, ohne die der Swiss Perl Workshop 2015 und Perl 6 Hackathon nicht möglich gewesen werde (sie werden im Abspann erwähnt).

VirtualBox und Webcams ...

Weil ich gestern darüber gestolpert bin und sehr lange gebraucht habe, bis ich die entsprechenden Einstellungen gefunden habe.

Webcams, genauso wie USB 2.0, laufen unter VirtualBox nur, wenn man das Extension Pack (von der Download-Seite) passend zur benutzten Version installiert hat.

Das Extension Pack ist der Teil von VirtualBox, der nicht Open Source ist, gemäss dieser Seite fügt es folgende Features zu VirtualBox hinzu:
• The virtual USB 2.0 (EHCI) device
• VirtualBox Remote Desktop Protocol (VRDP) support
• Host webcam passthrough
• Intel PXE boot ROM
• Experimental support for PCI passthrough on Linux hosts

Installiert wird es mit:
$ VBoxManage extpack install DATEINAME.vbox-extpack
$ VBoxManage list extpacks

Achtung: Das muss vermutlich bei jedem Update von VirtualBox wiederholt werden.

Nach der Installation kann man USB 2.0 Support einschalten und in einer laufenden VM erscheint unter "Geräte" der Punkt Webcams, mit dem man die verbundene Webcam an die virtuelle Maschine durchreichen kann.

Globales gitignore ...

Wenn man Dateien aus der Versionskontrolle mit git ausschliessen möchte, kann man im Repository eine Datei .gitignore anlegen. Das ist sinnvoll, wenn es Dateien gibt, die in nur einem Repository ausgeschlossen werden sollen.

Anders ist es, wenn man Backupdateien des Editors ausschliessen möchte. Da in der Regel mehrere Menschen an einem Projekt arbeiten und vielleicht sogar jeder einen anderen Editor benutzt, ist es sinnvoller, dass jeder die Dateien ausschliesst, die seinem Editor entsprechen.

Dazu kann mit dem folgenden Kommando die globale Variable core.excludesfile gesetzt werden, die einen Dateinamen beinhaltet, in der die globalen Ausschlusskriterien zu finden sind.
git config --global core.excludesfile ~/.gitignore_global


Bei mir enthält sie derzeit nur:
*~
Das sind die Backupdateien von vim.

Umrechnung Timestamp mit Perl ...

Weil ich es neulich gebraucht habe.

Aufgabe ist es, Zeiten eines normalen Datums in einen Unixtimestamp und wieder zurück umzurechnen. Nebenbedingung, es dürfen nur Bordmittel verwendet werden und laufen sollte es bitte unter Linux und Solaris. (Unter Solaris ist im Standard kein GNU date aus den GNU coreutils installiert, sonst wäre es einfach).

Meine Lösung war, Perl zu benutzen.

Einzig das Datumsformat ist unschön, vom Monat muss eins abgezogen werden und vom Jahr 1900.

$ perl -mTime::Local -e 'print Time::Local::timelocal(0,0,12,23,04-1,2015-1900)'
1429783200


Und der Rückweg:

$ perl -e 'print scalar localtime(1429783200)'
Thu Apr 23 12:00:00 2015


Wenn Ihr bessere Ideen habt, dann nur her damit.

Einrückungen in vim ...

Wenn man viel mit vi(m) arbeitet, lohnt es sich auch über eine eigene ~/.vimrc nachzudenken. Wenn man auf sehr vielen Systemen arbeitet, hilft es, die eigenen Ergänzungen "klein" zu halten.

Ich mache es mir da leicht und kopiere die Muster-vimrc.
cp $(find /usr/share/vim -name vimrc_example.vi) ~/.vimrc

und ergänze die folgenden Zeilen.

" Dirk
set mouse=
syntax enable
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
"


Für die Bedeutung der einzelnen Punkte verweise ich einmal auf die sehr ausführliche Hilfe in vi(m) (Beispielsweise :help tabstop). Wichtig ist nur, dass durch den letzten Punkt aus Tabs Leerzeichen gemacht werden.

:retab! sorgt dafür, dass alle Tabs und Leerzeichen der kompletten geöffneten Datei entsprechend den Regeln umformatiert werden.

Die folgenden Kommandos arbeiten auf Textblöcken, also mal mit 1G in die erste Zeile springen und dann mit VG den kompletten Dateiinhalt markieren.

> rückt alles um eine Ebene ein.

< rückt alles um eine Ebene aus.

= formatiert den kompletten markierten Text nach Regeln des Dateityps um (einfach mal ausprobeieren).

Von Sublime Text zu Atom ...

Eines vorab, ich halte Sublime Text immer noch für einen der besten Editoren, die es derzeit gibt, auch wenn er in weiten Teilen Closed-Source-Software ist. Die Entscheidung ihn einzusetzen, habe ich nie bereut und die Lizenz ist super, daran sollten sich viele ein Beispiel nehmen (einmal kaufen und auf beliebig vielen Computern einsetzen).

Was mich ein wenig nervt, ist, dass die Weiterentwicklung stagniert und der Ton im "Feature Request Forum" bei Userecho nervt.

Als einzige grafische Alternative, die auf mehreren Plattformen läuft, sehe ich nur Atom, den Editor aus der GitHub-Schmiede. Die Features sind super, aber an der Performance müssen die Programmierer noch arbeiten.

Als Plugins möchte ich minimap und save-session empfehlen, damit kann man leicht zwei lieb gewonnene Features von Sublime Text nachrüsten.

Ein weiteres Plus ist, dass Atom Open-Source-Software ist.

Bloonix wird Open-Source-Software ...

Der Monitoring-Dienst Bloonix von Jonny Schulz wird Open-Source-Software. Über den Dienst habe ich hier im Blog schon einmal berichtet.

Ich freue mich sehr darüber, da ich das für eine ausgereifte Lösung halte, die von Jonny mit viel Liebe gepflegt wird. Ausserdem ist es an der Zeit, dass es eine weitere Alternative zu den derzeitigen Platzhirschen gibt.

Well done!

In dem Zusammenhang: Mein privater Server wird von Bloonix überwacht.

Speedtest via Commandline ...

Sehr schön im Blog von Bastian habe ich den Artikel speedtest-cli ohne Flash gefunden. Dort verweist er auf das speedtest-cli Repository bei Github. Mit dem Python-Skript kann man den Netzgeschwindigkeitstest von speedtest.net auch ohne Flash machen. Damit läuft er zum Einen auf Servern und lässt die übermässige CPU-Nutzung durch Flash das Ergebnis nicht verfälschen.

So ergibt sich für meinen root-Server folgendes Bild:

05:36:44 1d [dirk@rico:~/workspace] $ git clone https://github.com/sivel/speedtest-cli.git speedtest-cli.git
Cloning into 'speedtest-cli.git'...
remote: Reusing existing pack: 249, done.
remote: Total 249 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (249/249), 55.75 KiB, done.
Resolving deltas: 100% (124/124), done.
05:36:49 1d [dirk@rico:~/workspace] 2s $ cd speedtest-cli.git/
05:36:53 1d [dirk@rico:~/workspace/speedtest-cli.git] master ± ./speedtest_cli.py
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from manitu GmbH (217.11.53.135)...
Selecting best server based on ping...
Hosted by Vodafone DE (Frankfurt) [100.73 km]: 12.0 ms
Testing download speed........................................
Download: 90.11 Mbit/s
Testing upload speed..................................................
Upload: 87.21 Mbit/s

Inkscape: Umfassendes Handbuch ...

Sirko Kemter hat mir sein Buch über Inkscape zur Verfügung gestellt und darum gebeten, dass ich mir das einmal anschaue.

Mir gefällt es richtig gut. Ich habe nur den Fehler gemacht, dass ich es von Anfang bis Ende gelesen habe und da ist es dann leider zu trocken.

Aber das Buch ist ein Super-Nachschlagewerk über die Funktionen von Inkscape und so ist es auch gedacht. Papierqualität und Seitenaufbau, sowie die vielen Screenshots sind auch prima, auf die DVD habe ich noch nicht geschaut, da ich nur noch einen Rechner mit DVD-Laufwerk habe.

Wenn ich etwas ändern würde, dann nur, dass ich mir einen noch umfangreicheren Praxisteil wünsche. Das ist aber meine Meinung. Das Buch ist als Handbuch angelegt und diesen Zweck erfüllt es vollkommen.