Statischer Pelican Blog mit statischen Kommentaren

Seit nun mehr drei Jahren läuft mein Blog mit dem statischen Webseiten-Generator Pelican. Einen Artikel zu Pelican hatte ich damals auch geschrieben, in dem ich die grundsätzlichen Features und Funktionen aufgelistet habe. Kurz zusammengefasst kann man unter anderem in Markdown Blogposts schreiben, die von Pelican als HTML-Datei(en) herausgeschrieben werden. Den „output“ Ordner kann man dann auf beliebigen Webspace schieben. So war bislang der Umzug des Blogs sehr einfach, da ich nur die generierten Dateien irgendwo hinschieben musste. ...

March 22, 2017 · 2 min · Sujeevan Vijayakumaran

Kurztipp: Latexmk und 16:9 LaTeX Beamer Slides

Manchmal sind es die kleinen Dinge, die das Arbeiten mit LaTex und in meinem speziellen Fall LaTeX Beamer vereinfachen. Ein hilfreiches Tool ist etwa Latexmk. Wer häufiger an LaTeX-Dokumenten arbeitet, kennt wohl das Problem, dass man den Code mehrfach kompilieren muss, damit alle Cross-Referenzen aktualisiert werden. Etwa dann, wenn neue Kapitel hinzugefügt werden, die dann im Inhaltsverzeichnis gelistet werden sollen. Latexmk macht das ganze etwas schlauer und kompiliert das Dokument gleich genau so oft durch, wie es nötig ist. ...

March 18, 2017 · 2 min · Sujeevan Vijayakumaran

Git-Historie neu-schreiben (nicht nur) mit Filter-Branch

Nach längerer Pause zum Thema Versionsverwaltung mit Git geht es an dieser Stelle ein wenig weiter. Git-Repositorys beinhalten bekanntlich ihre vollständige Historie, so dass alle Änderungen immer in der Historie verbleiben. Problematisch wird das aber, wenn Zugangsdaten im Repository gelandet sind. Ein bloßes Entfernen funktioniert da leider nicht, da die Historie ja vollständig da ist. Ein einfaches Beispiel sieht man etwa, wenn man bei GitHub nach „delete id_rsa“ sucht, was ein privater SSH-Key ist, der nicht eigentlich in ein Git-Repository landen sollte. Genauso findet man auf GitHub Commit-Messages mit dem Inhalt „remove password“. ...

March 16, 2017 · 4 min · Sujeevan Vijayakumaran

Suchen und Finden mit ag, statt ack (statt grep)

Vor fast drei Jahren bloggte ich über „Suchen und Finden mit Ack, statt grep“. Heute lautet der Titel allerdings „Suchen und Finden mit ag, statt ack“. Ag und Ack sind vom Prinzip her gleich: Mit beiden findet man Strings in Dateien, ähnlich wie es grep auch kann. Im Gegensatz zu grep arbeitet ack und ag schneller und ist mehr für Programmierer und Sysadmins ausgerichtet, da es diverse unnötige Verzeichnisse (wie .git) nicht durchsucht. Auch die Ausgabe ist gleich. Ag ist hingegen ein Klon von Ack, was in C statt in Perl geschrieben wurde. Der Fokus bei ag liegt besonders auf die Geschwindigkeit. Wer dachte, dass ack schon schnell ist, der findet mit ag ein noch schnelleres Tool. Laut Angaben des Projektes ist es dabei 5-10x schneller als ack. ...

March 8, 2017 · 2 min · Sujeevan Vijayakumaran

Adblocking auf DNS-Ebene mit dnsmasq

Auf meinem Homeserver laufen einige Dienste die für das Heimnetzwerk wichtig sind. Das relevante ist dabei der DHCP- und DNS-Server. Um den Homeserver als DHCP- und DNS-Server zu verwenden, nutze ich dnsmasq. Wie der Titel schon verrät, geht es hier um Adblocking auf DNS-Ebene. Die Anfragen an bekannte Ad- und Tracking-Server sollen bereits über das DNS verhindert werden. Konkret heißt das, dass wenn eine Domain eines bekannten Werbeanbieters aufgerufen wird, diese auf 127.0.0.1 auflöst. Der wesentliche Vorteil ist, dass das Adblocking somit nicht mehr in jedem Browser auf jedem Gerät im Netzwerk konfiguriert werden muss. Während sich dies auf die normalen Rechner mit Desktop-Betriebssystemen nicht sonderlich auswirkt, hat das einen großen Vorteil bei mobilen Geräten. So bekommen alle Apps und Browser im Heimnetzwerk einen Adblocker. Nebenbei blocken einige Adblocker-Blocker einen nicht mehr, wenn man so ein Setting fährt… ...

December 31, 2016 · 2 min · Sujeevan Vijayakumaran

Tschüss freiesMagazin!

Heute Morgen ist die letzte Ausgabe von freiesMagazin erschienen. Ich habe mich selbst nochmal mit einem letzten Artikel über Jenkins 2.0 verewigt. Es ist schade, dass das Projekt nun eingestampft wird, es war aber auch schon vor einigen Jahren absehbar, dass die Aktivität immer weiter abnahm. Ich selbst war von Herbst 2012 bis Herbst 2013 für etwa ein Jahr im Redaktionsteam, was ich aus Zeitgründen damals dann verließ. Ich blieb aber bis zur letzten Ausgabe mehr oder weniger regelmäßiger Autor, mit Beginn im Jahr 2011. Was nun auch fünf Jahre sind. ...

December 4, 2016 · 2 min · Sujeevan Vijayakumaran

Automatisierung mit Jenkins 2.0

Jenkins ist eine vielgenutzte Software, welche im Zusammenhang mit kontinuierlicher Integration von Software zur Automatisierung eingesetzt wird. Jenkins wurde im Frühjahr 2016 in der Version 2.0 freigegeben, wodurch sich der Fokus vom reinen CI-Server zum generellen Automation Server änderte. In freiesMagazin 01/2013 wurde Jenkins bereits im Bezug zur kontinuierliche Integration behandelt. Der Fokus in diesem Artikel liegt weniger auf das Thema Kontinuierliche Integration, sondern mehr auf die Neuerungen die in Version 2.0 Einzug hielten. ...

December 4, 2016 · 13 min · Sujeevan Vijayakumaran

UbuCon Europe in der Retrospektive

Letztes Wochenende fand die erste UbuCon Europe statt. Die UbuCon ist eine Ubuntu-Konferenz die an verschiedenen Orten auf der Welt stattfindet, so zum Beispiel auch in Deutschland. Die UbuCon Europe war die erste der Art, die sich an die internationale europäische Ubuntu Community richtete. Ich selbst war seit 2012 auf jeder deutschen UbuCon, seit 2013 im Orga-Team und seit 2015 Hauptorganisator für die UbuCon 2015 in Berlin und der UbuCon Europe 2016 in Essen. ...

November 27, 2016 · 4 min · Sujeevan Vijayakumaran