... ist nicht immer ganz einfach. Manchmal geht es einfach daneben:
Samstag, 18. November 2017
Freitag, 10. November 2017
Bibliotheken zur Auswertung von Kommandozeilenparametern
Computerprogramme werden mit einem bestimmen Zweck entwickelt. Die Werkzeuge auf UNIX/Linux-Systemen sind sehr spezialisiert und folgen der Idee "ein Werkzeug für eine Aufgabe, aber so gut wie möglich." Einzelne Werkzeuge kombinieren Sie miteinander zu mächtigen Werkzeugketten. Mit Hilfe von
Kommandozeilenparametern, die sie den Programmen beim Aufruf mitgeben, steuern Sie die Ausführung und fangen Sonderfälle ab.
Jede Programmiersprache verfügt über eine oder mehrere Möglichkeiten, diese Kommandozeilenparameter auszuwerten. Nachfolgend eine erste Zusammenstellung dazu.
Für Python gibt es hier einen ausführlicheren Beitrag von mir auf StackAbuse.
[Nachtrag am 20. Jan 2018]
Im Magazin LinuxUser ist in der Ausgabe 02/2018 ein ausführlicher Beitrag von mir zu Docopt erschienen.
Kommandozeilenparametern, die sie den Programmen beim Aufruf mitgeben, steuern Sie die Ausführung und fangen Sonderfälle ab.
Jede Programmiersprache verfügt über eine oder mehrere Möglichkeiten, diese Kommandozeilenparameter auszuwerten. Nachfolgend eine erste Zusammenstellung dazu.
- C/C++
argc() und argv(), getopt, argp, optparse, docopt, suboptions - Python
sys.argv(), getopt, argparse, optparse, docopt, click - Perl
@ARGV, getopt, argparse, docopt - Tcl
argc und argv, getopt, argp, docopt, usage, getKnowopt, cmdline
Für Python gibt es hier einen ausführlicheren Beitrag von mir auf StackAbuse.
[Nachtrag am 20. Jan 2018]
Im Magazin LinuxUser ist in der Ausgabe 02/2018 ein ausführlicher Beitrag von mir zu Docopt erschienen.
Labels:
argparse,
C,
C++,
click,
cmdline,
docopt,
getopt,
Kommandozeile,
LinuxUser,
Open Source,
optparse,
Perl,
Python,
StackAbuse,
suboptions,
Tcl
Debian Package Creation HowTo
Debian-Pakete zu erstellen, ist ein Prozess, der viel Wissen voraussetzt. Es geht dabei auch darum, einen hervorragenden Ruf in Bezug auf Qualität der Software und des Paketformats der Linux-Distribution aufrecht zu erhalten. In unserem Buch zu Debian-Paketmanagement wurde sicher schon deutlich, wie vielschichtig das Thema Paketverwaltung ist.
Für das Newsportal Linuxhint entstand jetzt ein Beitrag, der den Ablauf des Bauens von Paketen verständlicher macht. Der Beitrag ist keine vollständige Anleitung, erleichtert aber den Einstieg und verhilft Ihnen zu ersten Erfolgserlebnissen. Für Verbesserungen dazu bin ich dankbar. Diese können direkt an das GitHub-Archiv erfolgen.
Für das Newsportal Linuxhint entstand jetzt ein Beitrag, der den Ablauf des Bauens von Paketen verständlicher macht. Der Beitrag ist keine vollständige Anleitung, erleichtert aber den Einstieg und verhilft Ihnen zu ersten Erfolgserlebnissen. Für Verbesserungen dazu bin ich dankbar. Diese können direkt an das GitHub-Archiv erfolgen.
Mittwoch, 8. November 2017
Lean Coffee
Der Mittwochmorgen gehört inzwischen einem kleinen Zusammensein, genannt Lean Coffee Startup Meeting. Unternehmer und Ingenieure aus allen Bereichen treffen sich zu einem recht zwanglosen Gedankenaustausch in einem vorher vereinbarten Cafè. Den Kaffee sponsorn die Organisatoren.
Klingt erstmal reichlich unorganisiert, ist es aber beileibe nicht. Der Ablauf der Veranstaltung ist auf eine Stunde begrenzt und folgt der Methode des Lean Coffee. Nach einer kurzen Vorstellungsrunde notiert jeder Teilnehmer auf Notizzetteln die Themen, die er gern besprechen möchte -- von der Besiedlung des Mars über neueste Fintech-Trends bishin zu kniffligen Fragen bei der Unternehmensführung. Nach drei Minuten werden die Vorschläge bewertet -- dazu vergibt jeder Teilnehmer maximal drei Punkte auf den Notizzetteln. Der Koordinator der Veranstaltung legt danach fest, welche Themen besprochen werden. Die Themen mit den meisten Punkten haben Vorrang, da sie das größte Interesse aller Teilnehmer signalisieren.
Nach fünf Minuten wird per Daumen-hoch oder -runter abgestimmt, ob das Thema für weitere drei Minuten interessant ist. Danach wird das Thema gewechselt. Zum Schluß sammeln sich alle Themen.
Warum das Ganze? Die Gründe reichen vom gemeinschaftlichen Austausch mit Gleichgesinnten auf Augenhöhe über das Problemlösen bis hin zum Knüpfen von neuen Kontakten. Auch wer neu in der Stadt ist, findet somit flink und unkompliziert Anschluß.
Jetzt heißt es wieder eine Woche warten -- bis zum nächsten Zusammentreffen.
Klingt erstmal reichlich unorganisiert, ist es aber beileibe nicht. Der Ablauf der Veranstaltung ist auf eine Stunde begrenzt und folgt der Methode des Lean Coffee. Nach einer kurzen Vorstellungsrunde notiert jeder Teilnehmer auf Notizzetteln die Themen, die er gern besprechen möchte -- von der Besiedlung des Mars über neueste Fintech-Trends bishin zu kniffligen Fragen bei der Unternehmensführung. Nach drei Minuten werden die Vorschläge bewertet -- dazu vergibt jeder Teilnehmer maximal drei Punkte auf den Notizzetteln. Der Koordinator der Veranstaltung legt danach fest, welche Themen besprochen werden. Die Themen mit den meisten Punkten haben Vorrang, da sie das größte Interesse aller Teilnehmer signalisieren.
Gespräche mittendrin |
Nach fünf Minuten wird per Daumen-hoch oder -runter abgestimmt, ob das Thema für weitere drei Minuten interessant ist. Danach wird das Thema gewechselt. Zum Schluß sammeln sich alle Themen.
Zusammenfassung am Schluß |
Jetzt heißt es wieder eine Woche warten -- bis zum nächsten Zusammentreffen.
Donnerstag, 2. November 2017
Eins
Ein Jahr Kapstadt. Ein Jahr Eintauchen und Schwimmen in einer Welt, die sich irgendwo ähnlich ist und sich trotzdem so anders als das vorher Gewohnte anfühlt. Eine neue Mischung aus anderen Gewohnheiten und Abläufen, Menschen und Hautfarben sowie Gerüchen und Geräuschen, die jeden Tag spannend ist und sich so sehr von Europa abhebt. Es fühlt sich leicht an und setzt doch viel mehr Organisiertheit voraus, ohne das es nicht geht. Vor der faszinierenden Kulisse des Tafelbergmassifs und des blauen Ozeans darf nicht vergessen werden, das Business auch konstantes Werkeln bedeutet. Dranbleiben ist angesagt.
War der Schritt richtig? Ja. Weiter? Ja! Zeit für eine Eins und den Start in die Zwei.
War der Schritt richtig? Ja. Weiter? Ja! Zeit für eine Eins und den Start in die Zwei.
Jubiläums-Eins |
Donnerstag, 26. Oktober 2017
Das kulturelle Erbe hübsch verpackt
Wie bereits im September berichtet, hat MyCiti anlässlich des Heritage Day einen speziellen Linienplan veröffentlicht, in dem auch die Sehenswürdigkeiten in und um Kapstadt samt passender Haltestelle eingetragen sind. Die Karte kommt mit einem hübschen Cover und macht neugierig auf den Inhalt. So wird der nächste Ausflug richtig gut.
Hülle der Karte |
Mittwoch, 25. Oktober 2017
Arbeitspause
Wer diesen Blog etwas verfolgt hat, wird gesehen haben, dass es eine recht intensive Arbeitsphase ist. In den letzten Wochen gab es etliche Veröffentlichungen in Printmedien und auch online.
Zum guten Arbeiten gehört auch eine verdiente Pause. Diese hier kombiniert Meerblick, leckeren Fisch, Roiboos-Tee und ein gutes Buch.
Gemeinsames Arbeiten |
Zum guten Arbeiten gehört auch eine verdiente Pause. Diese hier kombiniert Meerblick, leckeren Fisch, Roiboos-Tee und ein gutes Buch.
Arbeitspause |
Sonntag, 22. Oktober 2017
Der Sommer ist wieder da
Endlich ist er zurück - der Sommer. Nach etlichen Tagen mit eher gemischtem Wetter wird es wärmer und die Sonnenscheindauer größer. Das gibt Energie und motiviert, mehr Zeit draußen zu verbringen. Bei der Location ist das sicherlich auch kein Wunder.
Hout Bay mit Strand |
Kapstadt mit Hafen und Tafelberg |
Samstag, 14. Oktober 2017
Informationen zu Busnetz von Golden Arrow als Open Data verfügbar
Im Western Cape operieren mehrere Busunternehmen im Rahmen des ÖPNV, so z.B. MyCiti, Golden Arrow und die vielen privat betriebenen Minitaxis. Wie bereits früher berichtet, existiert seit Beginn diesen Jahres eine Karte der Initiative WhereIsMyTransport, auf der alle regelmäßigen Buslinien von MyCiti und den Minitaxis zusammengefasst sind. Das erleichert Ihnen den Weg von A nach B im Großraum Kapstadt erheblich.
Die frei verfügbare Datenmenge zum Verkehrsnetz wird jetzt noch größer. Wie OpenUp in der vergangenen Woche via Twitter mitteilte, stehen von nun an auch sämtliche Haltestellen des Busnetzes von Golden Arrow im Rahmen des Projekts Code for South Africa als Open Data zur Verfügung. Bereitgestellt hat die Daten freundlicherweise die Stadtverwaltung von Kapstadt. Damit wird die bereits bestehende Karte noch umfangreicher und erlaubt weitere Verknüpfungen und Erweiterungen der bestehenden Navigationssoftware.
Die frei verfügbare Datenmenge zum Verkehrsnetz wird jetzt noch größer. Wie OpenUp in der vergangenen Woche via Twitter mitteilte, stehen von nun an auch sämtliche Haltestellen des Busnetzes von Golden Arrow im Rahmen des Projekts Code for South Africa als Open Data zur Verfügung. Bereitgestellt hat die Daten freundlicherweise die Stadtverwaltung von Kapstadt. Damit wird die bereits bestehende Karte noch umfangreicher und erlaubt weitere Verknüpfungen und Erweiterungen der bestehenden Navigationssoftware.
Die Haltestellen von Golden Arrow auf einer Landkarte von Google Maps |
Labels:
Cape Town,
City of Cape Town,
Code for South Africa,
Golden Arrow,
Kapstadt,
MyCiti,
Open Data,
OpenUp,
ÖPNV,
Südafrika,
Western Cape,
WhereIsMyTransport
Freitag, 13. Oktober 2017
Wildfeuer am Tafelberg
Rund um den Tafelberg flammen jedes Jahr immer wieder Feuer auf. Auf Fotos sieht das insbesondere in der Nacht sehr spektakulär aus. Die Rauchsäule ist oft sehr groß. Häufig ist die Ursache für das Feuer nicht ermittelbar, wobei die Trockenheit meist der entscheidenden Faktor ist. Das Unterholz brennt sehr schnell und großflächig.
Derzeit gibt es ein größeres Feuer auf der Westseite des Tafelbergmassivs zwischen Camps Bay und Hout Bay. Ausgebrochen ist es am Mittwoch, d.h. vor zwei Tagen. Trotz massiver Bekämpfung mit mehreren Löschhubschraubern und einer dreistelligen Anzahl an Einsatzkräften ist das Feuer bis heute nicht wirklich unter Kontrolle. Das beeinträchtigt auch den Verkehr, weil zeitweise die Küstenstraße (M6) gesperrt ist und somit die Verbindung nach Kapstadt sehr eingeschränkt ist.
Derzeit gibt es ein größeres Feuer auf der Westseite des Tafelbergmassivs zwischen Camps Bay und Hout Bay. Ausgebrochen ist es am Mittwoch, d.h. vor zwei Tagen. Trotz massiver Bekämpfung mit mehreren Löschhubschraubern und einer dreistelligen Anzahl an Einsatzkräften ist das Feuer bis heute nicht wirklich unter Kontrolle. Das beeinträchtigt auch den Verkehr, weil zeitweise die Küstenstraße (M6) gesperrt ist und somit die Verbindung nach Kapstadt sehr eingeschränkt ist.
Blick von Hout Bay zum Tafelberg mit Rauchwolken |
Mittwoch, 11. Oktober 2017
Noch mehr Artikel auf StackAbuse
In den letzten Tagen sind zwei weitere Artikel von mir auf StackAbuse erschienen. Im ersten geht es um symbolische Links -- wie man dieser erstellt und validiert. Dazu gehört auch die Vorstellung des Werkzeugs symlinks.
Der zweite Beitrag widmet sich dem Thema des Findens bestimmter Inhalte in Textdateien, komprimierten Dateien sowie Archiven. Ebenfalls dürfen Rechenblätter von Tabellenkalkulationen und PDF-Dokumente nicht zu kurz kommen. Behilflich sind hierbei Werkzeuge wie zgrep, loook und pdfgrep.
Hier geht es zu den beiden (englischsprachigen) Artikeln:
Der zweite Beitrag widmet sich dem Thema des Findens bestimmter Inhalte in Textdateien, komprimierten Dateien sowie Archiven. Ebenfalls dürfen Rechenblätter von Tabellenkalkulationen und PDF-Dokumente nicht zu kurz kommen. Behilflich sind hierbei Werkzeuge wie zgrep, loook und pdfgrep.
Suche mittels loook |
Mittwoch, 4. Oktober 2017
Herbstkooperation mit StackAbuse
Stack Abuse ist eine kleiner Wissensfundus, bei der Themen aus der IT-Welt auseinandergenommen und detaillierter erklärt werden. Vieles dreht sich um die Programmiersprache Python und deren Module. Wer die Sprache kennt, weiß dass es vergleichsweise einfach ist, mit ihr warm zu werden und damit schnell produktiven und verständlichen Code zu fabrizieren, den man auch später wieder versteht.
Etwas unübersichtlich ist jedoch die Menge der Module (Bibliotheken), die es mittlerweile gibt und die Teil der regulären Python-Veröffentlichung sind. Diese decken nahezu alle Bereiche ab -- sei es Kryptographie, Netzwerkfunktionen, Listen und Baumstrukturen sowie die Verarbeitung und Aufbereitung von numerischen Daten.
Nicht zu allen Themen gibt es Einführungen -- aber das soll sich ändern. Beigetragen habe ich dazu bisher mit diesen Themen:
Weitere Beiträge folgen :)
Ähnliche Beiträge hier im Blog waren bislang:
Weitere Veröffentlichungen finden Sie hier in dieser Liste.
Etwas unübersichtlich ist jedoch die Menge der Module (Bibliotheken), die es mittlerweile gibt und die Teil der regulären Python-Veröffentlichung sind. Diese decken nahezu alle Bereiche ab -- sei es Kryptographie, Netzwerkfunktionen, Listen und Baumstrukturen sowie die Verarbeitung und Aufbereitung von numerischen Daten.
Nicht zu allen Themen gibt es Einführungen -- aber das soll sich ändern. Beigetragen habe ich dazu bisher mit diesen Themen:
Weitere Beiträge folgen :)
Ähnliche Beiträge hier im Blog waren bislang:
Weitere Veröffentlichungen finden Sie hier in dieser Liste.
Labels:
Blogbeiträge,
Code,
Datenvisualisierung,
Entwicklung,
Kommandozeile,
Matplotlib,
NumPy,
Pandas,
Programmierung,
Python,
Python-Tutorial,
StackAbuse,
Veröffentlichungen
Mittwoch, 27. September 2017
Zeitz MOCAA. Ein Museum für den afrikanischen Kontent
Am 22. September 2017 eröffnete in Kapstadt das Zeitz Museum of Contemporary Art of Afrika, kurz: MOCAA. Beheimatet in einem ehemaligen Silo in den Docklands der Waterfront, gibt es auf 6 Etagen und über 9500qm verteilt den Raum frei für zeitgenössische Kunst aus dem afrikanischen Kontinent.
Das beinhaltet Skulpturen, Fotos, Audio- und Videoinstallationen sowie Zeichnungen von über 60 verschiedenen Künstlern. Es zeigt die gesamte Bandbreite und Vielfalt. Damit wird der Blick auf den Kontinent, seine Mystik und Glaubensebenen erlebbar. Status: anschauenswert.
Das beinhaltet Skulpturen, Fotos, Audio- und Videoinstallationen sowie Zeichnungen von über 60 verschiedenen Künstlern. Es zeigt die gesamte Bandbreite und Vielfalt. Damit wird der Blick auf den Kontinent, seine Mystik und Glaubensebenen erlebbar. Status: anschauenswert.
Auf der Terasse des Zeitz MOCAA |
Montag, 25. September 2017
Hadedas. Der persönliche Klang von Afrika
Afrika ist überall anders und passt nicht in eine vorgefertigte Schublade. Zudem hat jeder seine persönliche Referenzen, was er mit einem zunächst für ihn fremden Kontinent oder Ort verbindet.
Für die einen ist es das Meeresrauschen, für den anderen die Sprachvielfalt der Menschengruppen oder das Hupen der Autos. Für mich ist es der charakteristische Ruf des Hadeda Ibis (Bostrychia hagedash). Diese Vogelart gehört zu den Ibisen und zählt zu den lautesten Vertretern seiner Art. Mit diesem Geräusch frühmorgens geweckt zu werden, heißt für mich, in Afrika zu sein.
Für die einen ist es das Meeresrauschen, für den anderen die Sprachvielfalt der Menschengruppen oder das Hupen der Autos. Für mich ist es der charakteristische Ruf des Hadeda Ibis (Bostrychia hagedash). Diese Vogelart gehört zu den Ibisen und zählt zu den lautesten Vertretern seiner Art. Mit diesem Geräusch frühmorgens geweckt zu werden, heißt für mich, in Afrika zu sein.
Sonntag, 24. September 2017
Das kulturelle Erbe im Blick
Seit 1995 feiert Südafrika am 24. September offiziell den Heritage Day. Dieser Tag gilt als offizieller Feiertag. Ziel ist, den Blick für das kulturelle Erbe sowie die Vielfalt von Glauben und Traditionen zu erhalten -- das, was die südafrikanische Nation in seiner Gesamtheit auch sehr spannend macht. Um diese Vielfalt bewußter zu erleben, laufen etliche Veranstaltungen, die unter dem Hashtag #HeritageDay kommentiert und dokumentiert werden.
Damit Sie einen schärferen Blick für die Vielfalt bekommen, hat sich MyCiti -- einer der Nachverkehrsbetreiber in Kapstadt -- etwas sehr hübsches einfallen lassen. Von seiner Karte mit den einzelnen Buslinien gibt es seit Ende der Woche auch eine spezielle Ausgabe, auf der 20 Sehenswürdigkeiten eingetragen sind.
Neben der Buslinie, mit der Sie den Ort erreichen, finden Sie eine Kurzbeschreibung zur Sehenswürdigkeit. Auf geht's!
Damit Sie einen schärferen Blick für die Vielfalt bekommen, hat sich MyCiti -- einer der Nachverkehrsbetreiber in Kapstadt -- etwas sehr hübsches einfallen lassen. Von seiner Karte mit den einzelnen Buslinien gibt es seit Ende der Woche auch eine spezielle Ausgabe, auf der 20 Sehenswürdigkeiten eingetragen sind.
Der MyCiti-Routenplan (Ausschnitt) |
Die Sehenswürdigkeiten mit Liniennummer (Ausschnitt) |
Donnerstag, 21. September 2017
ÖPNV live. Die Fähre im Blick
Mehr und mehr Verkehrsunternehmen statten ihre Fahrzeuge mit GPS-Sensoren aus, um deren Position zu erfassen und in Echtzeit Aussagen zur Route geben zu können. Mittlerweile stehen viele der erfaßten Daten als Open Data zur Verfügung und können jedem Interessenten in eigenen Anwendungen verarbeitet werden. Das Schweizer Projekt Opendata.ch stellt dazu eine eigene API bereit, ebenso andere Logistikdienstleister wie die Deutsche Bahn oder die SBB.
Neben Routenplanern und Standortinformationen erlaubt die Technik auch eine Visualisierung auf einer Landkarte. Das Projekt livemap24 erfaßt nicht nur Busse und Bahnen, sondern auch Flugzeuge, Fähren und Seilbahnen -- weltweit.
Neben Routenplanern und Standortinformationen erlaubt die Technik auch eine Visualisierung auf einer Landkarte. Das Projekt livemap24 erfaßt nicht nur Busse und Bahnen, sondern auch Flugzeuge, Fähren und Seilbahnen -- weltweit.
ÖPNV in Venedig. Wann kommt die nächste Fähre? |
Labels:
DB,
Deutsche Bahn,
GPS,
LiveMap24,
Open Data,
ÖPNV,
Routenplaner,
SBB
Mittwoch, 20. September 2017
Share the road
Mobilität ist in (Süd)Afrika ein großes Thema. Die Benutzung eines Kraftfahrzeugs stellt für viele Menschen die einzige Möglichkeit dar, um sich in überschaubarer Zeit zwischen zwei Orten zu bewegen. Lediglich in den Großstädten wie bsw. Kapstadt, Johannesburg und Durban besteht ein öffentliches, dichtes Nahverkehrsnetz.
In der Region Western Cape -- sprich in und um Kapstadt -- sind das MyCiti, Golden Arrow und Minitaxis. Während MyCiti und Golden Arrow auf festen Routen unterwegs sind, sind die Minitaxis deutlich flexibler. Sie bringen Sie genau dahin, wo Sie hinwollen und halten an allen möglichen und unmöglichen Stellen auf Zuruf.
Trotzdem habe sich einige Strecken herausgebildet, die als zentrale Verkehrsadern regelmäßig von den Minitaxis frequentiert werden. Diese inoffiziellen und nicht ausgeschilderten Routen wurden vom Projekt WhereIsMyTransport in enger Zusammenarbeit mit den Betreibern und Eigentümern der Minitaxis erfaßt und in den zentralen Liniennetzplan integriert.
Für Radfahrer ist es mitunter sehr schwierig, sich den Platz auf den Straßen zu erkämpfen. Initiativen wie Arrive Alive oder die Pedal Power Association kämpfen für mehr Gleichberechtigung. Vielfach erinnern Hinweisschilder daran, dass es noch andere Verkehrsteilnehmer außer Autos gibt.
In der Region Western Cape -- sprich in und um Kapstadt -- sind das MyCiti, Golden Arrow und Minitaxis. Während MyCiti und Golden Arrow auf festen Routen unterwegs sind, sind die Minitaxis deutlich flexibler. Sie bringen Sie genau dahin, wo Sie hinwollen und halten an allen möglichen und unmöglichen Stellen auf Zuruf.
Trotzdem habe sich einige Strecken herausgebildet, die als zentrale Verkehrsadern regelmäßig von den Minitaxis frequentiert werden. Diese inoffiziellen und nicht ausgeschilderten Routen wurden vom Projekt WhereIsMyTransport in enger Zusammenarbeit mit den Betreibern und Eigentümern der Minitaxis erfaßt und in den zentralen Liniennetzplan integriert.
Ausschnitt des Liniennetzes |
Hinweis am Chapman's Peak Drive |
Labels:
Arrive Alive,
Cape Town,
Chapman's Peak Drive,
Golden Arrow,
Kapstadt,
MyCiti,
Open Data,
Pedal Power Association,
Share the road,
Südafrika,
Unterwegs,
Western Cape,
WhereIsMyTransport
Montag, 18. September 2017
Die Ausgabe von Asciidoc nach PDF anpassen
Asciidoc ist eine textbasierte Sprache (Markup Language). Diese vereinfacht es erheblich, (Text)Dokumente zu Erstellen, zu Pflegen und deren Änderungen in Revisionskontrollsystemen wie Git nachzuverfolgen. Aufgrund der Kompaktheit und Verständlichkeit der Sprache hat Asciidoc den Prozess zur gemeinsamen Erstellung und Pflege von Büchern, Dokumentation und Schulungsmaterial erheblich erleichtert.
Bei Asciidoc handelt es sich um Plaintext mit speziellen Markierungen. Erst durch den expliziten Aufruf eines Übersetzerprogramms wandeln Sie diesen Ursprungstext über mehrere Zwischenstufen in das gewünschte Zielformat um, bspw. zu Postscript, PDF, HTML, Epub und Handbuchseiten (Manpages). Im UNIX/Linux-Werkzeugkasten finden Sie dafür bspw. Asciidoc, a2x, Asciidoctor und Asciidoctor-pdf.
Der Weg von Asciidoc nach PDF funktioniert entweder über Dblatex oder über den Apache Formatting Objects Processor -- kurz FOP. Der erste Weg setzt auf die Werkzeugkette aus DocBook, xsltproc und Dblatex, der zweite nutzt statt Dblatex die auf Java basierende Software FOP. Beide Wege werden durch das Programm a2x gekapselt, d.h. mit einem einzigen Aufruf angestoßen. Für Dblatex sieht der Aufruf wie folgt aus:
a2x -f pdf document.adoc
Der Schalter -f pdf veranlasst a2x, das Backend Dblatex zu benutzen. Für die Verwendung von FOP nutzen Sie stattdessen diesen Aufruf:
a2x --fop document.adoc
Zur Demonstration nutzen wir dieses Asciidoc-Dokument, in den beiden vorherigen Aufrufen schlicht als document.adoc bezeichnet. Der darin genutzte Text stammt nicht vom Autor selbst, sondern wurde aus dem Wikipedia-Artikel zu Kapstadt entnommen und etwas bearbeitet.
:author: Frank Hofmann
= Visiting South Africa =
== Cape Town ==
Cape Town is a port city on South Africa’s southwest coast, on a peninsula beneath the imposing Table Mountain. Slowly rotating cable cars climb to the mountain’s flat top, from which there are sweeping views of the city, the busy harbor and boats heading for Robben Island, the notorious prison that once held Nelson Mandela, which is now a living museum.
image::capetown.jpg[width=200]
Die erzeugten Ergebnisse in der Ausgabe fallen durch die verwendeten Stilvorlagen recht unterschiedlich aus. Während der Weg über Dblatex sowohl ein Titelblatt, die Revisionshistorie des Dokuments sowie ein Inhaltsverzeichnis produziert, ist die Ausgabe via FOP deutlich kompakter.
Dblatex bietet eine Reihe von Schaltern, um die Elemente der Ausgabe zu verändern. Möglich sind zum Beispiel diese hier:
Im Aufruf sieht das dann wie folgt aus, um weder eine Revisionshistorie zu erhalten und lediglich eine Liste der Tabellen:
a2x -f pdf --dblatex-opts "-P latex.output.revhistory=0 -P doc.lot.show=table" document.adoc
Am besten legen Sie das in einem Shellskript ab. Das erleichtert nicht nur das Experimentieren mit den Parametern, sondern auch die spätere Automatisierung im Übersetzungsprozess.
Das obige Skript erwartet einen zusätzlichen Parameter im Aufruf. Dieser beinhaltet den Namen ihres Dokuments, welches Sie nach PDF übersetzen möchten. Benennen Sie ihr Skript convert2pdf.sh und übersetzen ihr Dokument namens document.adoc, sieht der Aufruf wie folgt aus:
./convert2pdf.sh document.adoc
Das fertige PDF-Dokument liegt dann im lokalen Verzeichnis vor.
Bei Asciidoc handelt es sich um Plaintext mit speziellen Markierungen. Erst durch den expliziten Aufruf eines Übersetzerprogramms wandeln Sie diesen Ursprungstext über mehrere Zwischenstufen in das gewünschte Zielformat um, bspw. zu Postscript, PDF, HTML, Epub und Handbuchseiten (Manpages). Im UNIX/Linux-Werkzeugkasten finden Sie dafür bspw. Asciidoc, a2x, Asciidoctor und Asciidoctor-pdf.
Der Weg von Asciidoc nach PDF funktioniert entweder über Dblatex oder über den Apache Formatting Objects Processor -- kurz FOP. Der erste Weg setzt auf die Werkzeugkette aus DocBook, xsltproc und Dblatex, der zweite nutzt statt Dblatex die auf Java basierende Software FOP. Beide Wege werden durch das Programm a2x gekapselt, d.h. mit einem einzigen Aufruf angestoßen. Für Dblatex sieht der Aufruf wie folgt aus:
a2x -f pdf document.adoc
Der Schalter -f pdf veranlasst a2x, das Backend Dblatex zu benutzen. Für die Verwendung von FOP nutzen Sie stattdessen diesen Aufruf:
a2x --fop document.adoc
Zur Demonstration nutzen wir dieses Asciidoc-Dokument, in den beiden vorherigen Aufrufen schlicht als document.adoc bezeichnet. Der darin genutzte Text stammt nicht vom Autor selbst, sondern wurde aus dem Wikipedia-Artikel zu Kapstadt entnommen und etwas bearbeitet.
:author: Frank Hofmann
= Visiting South Africa =
== Cape Town ==
Cape Town is a port city on South Africa’s southwest coast, on a peninsula beneath the imposing Table Mountain. Slowly rotating cable cars climb to the mountain’s flat top, from which there are sweeping views of the city, the busy harbor and boats heading for Robben Island, the notorious prison that once held Nelson Mandela, which is now a living museum.
image::capetown.jpg[width=200]
Die erzeugten Ergebnisse in der Ausgabe fallen durch die verwendeten Stilvorlagen recht unterschiedlich aus. Während der Weg über Dblatex sowohl ein Titelblatt, die Revisionshistorie des Dokuments sowie ein Inhaltsverzeichnis produziert, ist die Ausgabe via FOP deutlich kompakter.
Das erzeugte PDF via Dblatex |
Das erzeugte PDF via FOP |
Bedeutung | Parameter |
---|---|
kein Inhaltsverzeichnis | -P doc.toc.show=0 |
nur Tabellenverzeichnis | -P doc.lot.show=table |
nur Abbildungsverzeichnis | -P doc.lot.show=figure |
Überschriftenebene | -P doc.section.depth=5 |
keine Versionshistorie | -P latex.output.revhistory=0 |
blau hinterlegte Links | -P latex.hyperparam=colorlinks,linkcolor=blue |
als Encoding Latin1 nutzen | -P latex.encoding=latin1 |
Papiergröße Letter | -P paper.type=letterpaper |
Wasserzeichen einfügen | -P draft.watermark=1 |
Schneidemarken einfügen | -P crop.marks=1 |
Im Aufruf sieht das dann wie folgt aus, um weder eine Revisionshistorie zu erhalten und lediglich eine Liste der Tabellen:
a2x -f pdf --dblatex-opts "-P latex.output.revhistory=0 -P doc.lot.show=table" document.adoc
Am besten legen Sie das in einem Shellskript ab. Das erleichtert nicht nur das Experimentieren mit den Parametern, sondern auch die spätere Automatisierung im Übersetzungsprozess.
Automatisierung als Shellskript |
./convert2pdf.sh document.adoc
Das fertige PDF-Dokument liegt dann im lokalen Verzeichnis vor.
Donnerstag, 14. September 2017
Unterwegs auf der Langstrecke
Wer in Europa unterwegs ist, kommt in kurzer Zeit recht schnell voran. Trotzdem erscheint einem das recht groß. Was Distanzen wirklich bedeuten, merkt man erst, wenn sich das Flugzeug nicht mehr spürbar auf der Landkarte bewegt. Nachfolgend zwei Aufnahmen vom Flug von Istambul nach Kapstadt.
Gleich sind wir da. Noch eineinhalb Stunden. |
Fast gerade runter von Istambul nach Kapstadt. |
Sonntag, 10. September 2017
Standortwechsel
Eine Ära geht ihrem Ende entgegen. Seit 2009 befand sich mein Berliner Arbeitsplatz im Büro 2.0 in Neukölln. Wer den Blog verfolgt, wird gesehen haben, dass seit einiger Zeit ein anderer Kontinent verstärkt im Fokus steht. Es ist an der Zeit, die Anker dahingegehend endgültig zu lichten. Schön war's -- nun gibt's mehr Raum für Neues.
Alles im Eimer. |
Dienstag, 5. September 2017
Zündelnde Katzen
Katzen sind die Herrscher des Hauses -- und spielen auch gern mal mit dem Feuer. Die zeitgemäße Variante sind Induktionsherde. Der nachfolgende Artikel aus der taz erklärt, was es damit auf sich hat.
Katzendramen am heimischen Herd |
Dienstag, 18. Juli 2017
Cape Town is awesome!
Unter dem gleichnamigen Titel trägt Callie Van Graan seit mehreren Jahren die sehens- und erlebenswerten Ereignisse der Region Western Cape zusammen. Das beinhaltet nicht nur Ankündigungen und Berichte zu Veranstaltungen in und um Kapstadt, sondern auch Empfehlungen zu Essen & Trinken sowie atemberaubenden Ausflugszielen. Gestern war ich mit einem Photo Feature vertreten, bei dem zehn ausgewählte Aufnahmen von mir zu sehen sind. Alle Aufnahmen sind innerhalb der vergangenen 12 Monate entstanden.
Weitere Links:
Cape Town is awesome! |
Weitere Links:
- zur Webseite Cape Town is awesome
- weitere Bilder auf Shutterstock
Montag, 3. Juli 2017
Mageia Linux 6 RC mit Kindersicherung
Wie bereits berichtet, finalisieren derzeit die Entwickler von Mageia ihre nächste Veröffentlichung -- die Release 6. Nach den bisherigen Tests zur urteilen läuft das Gesamtsystem ausgesprochen stabil und ist tauglich für die angepeilte Gruppe der Ein- und Umsteiger (Endbenutzer). Es ist schnörkellos, einfach zu bedienen und übersichtlich.
Geeignet ist es nicht nur für Nutzer, die (noch) keine Technikfreaks oder Linux-Profis sind, aber mehr als nur die Auswahl von Ubuntu haben wollen und sich trotzdem nicht scheuen, zu verstehen, wie das alles funktioniert und zusammenhängt.
Bemerkenswert ist die integrierte Kindersicherung. Obwohl bereits in den vorherigen Veröffentlichungen enthalten, verfügt unseres Wissens nach keine andere Mainstream-Distribution über ein solches Feature.
Sie erreichen diese Einstellungsoption im Control Center unter den Netzwerkeinstellungen. Darüber legen Sie pro Benutzer fest, welche Programme und Dienste dieser verwenden und wie lange und innerhalb welcher Zeiten er bspw. im Internet surfen darf. Somit haben Sie ihren Nachwuchs und dessen Internetkonsum stets im Blick.
Geeignet ist es nicht nur für Nutzer, die (noch) keine Technikfreaks oder Linux-Profis sind, aber mehr als nur die Auswahl von Ubuntu haben wollen und sich trotzdem nicht scheuen, zu verstehen, wie das alles funktioniert und zusammenhängt.
Kindersicherung in Mageia 6 |
Bemerkenswert ist die integrierte Kindersicherung. Obwohl bereits in den vorherigen Veröffentlichungen enthalten, verfügt unseres Wissens nach keine andere Mainstream-Distribution über ein solches Feature.
Sie erreichen diese Einstellungsoption im Control Center unter den Netzwerkeinstellungen. Darüber legen Sie pro Benutzer fest, welche Programme und Dienste dieser verwenden und wie lange und innerhalb welcher Zeiten er bspw. im Internet surfen darf. Somit haben Sie ihren Nachwuchs und dessen Internetkonsum stets im Blick.
Sonntag, 2. Juli 2017
Südafrika durchleuchtet. Transparentes Budget dank Open Data
Jeder von uns -- ganz gleich ob Bürger oder Unternehmen -- trägt mit seinen Steuern und Abgaben zum Budget seiner Region bei. Oft fragen wir uns, was mit unserem Geld passiert, sprich: welche Ausgaben werden darüber finanziert, wie verteilt sich die Geldmenge und welche Möglichkeiten bestehen in der Zukunft. Viele Städte halten sich da bislang etwas bedeckt. Nur auf Anfrage erhalten Sie Informationen zu diesen Finanzdaten.
Glücklicherweise hat ein Umdenken begonnen und die diesbezügliche Offenheit nimmt zu. Begrffen wurde vielerorts , dass wir als Bürger wissen und mitentscheiden möchten, wie mit unserem Geld gewirtschaftet wird. Dieses Vorgehen gehört bspw. in der Schweiz seit langem zum Alltag und ist als Teil des gesellschaftlichen Miteinanders fest verankert. Das kann durchaus auch dazu führen, dass im Rahmen einer Abstimmung entschieden wird, die lokalen Steuern anzuheben, um bspw. eine neue Sporthalle zu finanzieren.
Seit mehreren Jahren geht Südafrika einen ähnlichen Weg. Das gesamte Budget vieler Städte und Regionen ist transparent. Über die Webseite municipalmoney wird dieses in allen Details aufgeschlüsselt und für einen Normalbürger verständlich visualisiert. Sie erhalten daher nicht nur nackte Zahlen, sondern Grafiken, die den aktuellen Zustand und den Verlauf passend darstellen. Grundlage dafür sind die Budgetzahlen, die hierfür zur Auswertung von den jeweiligen Gemeinden bereitgestellt werden.
Nachfolgendes Bild zeigt das für Kapstadt. Sichtbar ist hier, wie lange das verfügbare Geld noch reicht (Cash Coverage) sowie wieviel tatsächlich ausgegeben wurde (Spending of Operating Budget). Sichtbar wird hier, dass a) das Budget noch für etwa eineinhalb Monate reicht und b) in den letzten beiden Jahren weniger ausgegeben wurde, als ursprünglich geplant.
Ausgewertet werden die Daten in Kooperation zwischen der Stadtverwaltung und einem Team von Analysten, die im Inkubator namens Codebridge im Kapstädter Osten beheimatet sind. Alle zwei Wochen findet vor Ort ein Community Meeting statt, zu dem jeder Interessierte hinzukommen und sich über das Projekt und dessen Entwicklung informieren kann.
Die Auswertung der Daten fließt vielfach als Datensatz in das Projekt Code for South Africa ein und ist somit für jedermann verfügbar. Begonnen als Projekt von Spezialisten aus dem Themengebiet Open Data auf freiwilliger Basis, sind daraus mittlerweile mehrere dauerhafte Arbeitsplätze entstanden. Möglich wurde das Dank kontinuierlicher Finanzierung durch die Stadtverwaltung.
Weiterführende Links:
Glücklicherweise hat ein Umdenken begonnen und die diesbezügliche Offenheit nimmt zu. Begrffen wurde vielerorts , dass wir als Bürger wissen und mitentscheiden möchten, wie mit unserem Geld gewirtschaftet wird. Dieses Vorgehen gehört bspw. in der Schweiz seit langem zum Alltag und ist als Teil des gesellschaftlichen Miteinanders fest verankert. Das kann durchaus auch dazu führen, dass im Rahmen einer Abstimmung entschieden wird, die lokalen Steuern anzuheben, um bspw. eine neue Sporthalle zu finanzieren.
Seit mehreren Jahren geht Südafrika einen ähnlichen Weg. Das gesamte Budget vieler Städte und Regionen ist transparent. Über die Webseite municipalmoney wird dieses in allen Details aufgeschlüsselt und für einen Normalbürger verständlich visualisiert. Sie erhalten daher nicht nur nackte Zahlen, sondern Grafiken, die den aktuellen Zustand und den Verlauf passend darstellen. Grundlage dafür sind die Budgetzahlen, die hierfür zur Auswertung von den jeweiligen Gemeinden bereitgestellt werden.
Nachfolgendes Bild zeigt das für Kapstadt. Sichtbar ist hier, wie lange das verfügbare Geld noch reicht (Cash Coverage) sowie wieviel tatsächlich ausgegeben wurde (Spending of Operating Budget). Sichtbar wird hier, dass a) das Budget noch für etwa eineinhalb Monate reicht und b) in den letzten beiden Jahren weniger ausgegeben wurde, als ursprünglich geplant.
Budgetanalyse von Kapstadt |
Das Logo des Codebridge-Projekts |
Die Auswertung der Daten fließt vielfach als Datensatz in das Projekt Code for South Africa ein und ist somit für jedermann verfügbar. Begonnen als Projekt von Spezialisten aus dem Themengebiet Open Data auf freiwilliger Basis, sind daraus mittlerweile mehrere dauerhafte Arbeitsplätze entstanden. Möglich wurde das Dank kontinuierlicher Finanzierung durch die Stadtverwaltung.
Weiterführende Links:
- Code for South Africa, https://data.code4sa.org/
- Codebridge, http://codebridge.org.za/
- Frank Hofmann: Augenöffner. Feine Anwendungen zu Open Data in der Praxis, LinuxUser 01/2017
Labels:
Budget,
City of Cape Town,
Code for South Africa,
Codebridge,
Community Meeting,
Datenvisualisierung,
Freie Anwendungen,
Kapstadt,
Open Data,
Südafrika,
Transparenz,
Western Cape
Samstag, 1. Juli 2017
Co-Working Spaces: Spin Street House, Cape Town
Mitten im geschäftigen Zentrum von Kapstadt befindet sich der Co-Working Space Spin Street House (SSH). Dieser residiert in einem Gebäude, welches bereits etliche Jahrzehnte Geschichte dieser Stadt miterlebt hat. Verteilt über drei Etagen, stehen sowohl flexible, als auch fest anmietbare Arbeitsplätze zur Verfügung. Genutzt wird das Angebot derzeit von Einzelpersonen, als auch kleineren Firmen unterschiedlichster Branchen.
Der Co-Working Space glänzt durch eine ausgezeichnete Internetanbindung, zentrale Lage, viel Platz zum Arbeiten Dank großer Schreibtische, Sauberkeit sowie ingesamt eine sehr angenehme Atmosphäre. Ergänzt wird das ganze durch eine große Küche, mehrere Besprechungsräume sowie einem Raum mit Sofa, falls ein Nickerchen notwendig wird. Die Kombination aus historischer Einrichtung und modernen Technologien gibt dem Haus seinen besonderen Reiz.
Flexible Arbeitsplätze in historischem Ambiente |
Mittwoch, 28. Juni 2017
Nachbrenner
Nicht nur Kaffee und Tee werden geschätzt, sondern auch gutes Essen im Allgemeinen. Dafür braucht es auch eine gute Auswahl. Möglichst frisch zubereitet, ist es dann ein Genuß. Eine dieser besonderen Anlaufpunkte ist im V&A Waterfront der Food Market. Hier bekommt der Feinschmecker alles, was er begehrt -- sei es herzhaft oder süß, fest oder flüssig.
Neben traditioneller afrikanischer Küche stehen ebenso indische wie auch thailändische Gerichte zum Verkauf. Backwaren mit französischer Herkunft ergänzen den Speiseplan. Wer Nachtisch zum Mitnehmen sucht, sollte die leckeren Fudges von Sweet Dreams nicht auslassen. Angeboten in mehr als zehn verschiedenen Sorten zergehen die Bonbons auf der Zunge.
Blick aus dem ersten Stock zu den Verkaufsständen |
Fudges von Sweet Dreams |
PDF-Dokumente auseinanderzupfen
Jeder von uns kennt das -- wir bekommen ein PDF-Dokument und benötigen nur eine bestimmte Seite daraus. Nachfolgend stehen zwei Möglichkeiten im Fokus, das Ziel ohne viel Tamtam zu realisieren.
Variante 1 ist Gimp. Öffnen Sie ihr PDF-Dokument mit dem Bildbearbeitungsprogramm, erhalten Sie ein Dialogfenster, aus welchem Sie die gewünschte Seite auswählen. Diese Seite speichern Sie dann über den Menüpunkt Exportieren als ... unter einem neuen Namen.
Variante 2 geht über das Werkzeug pdfseparate aus dem Paket poppler-utils. Mit dem Aufruf
pdfseparate document.pdf page-%d.pdf
auf der Kommandozeile zerlegen Sie das Originaldokument namens document.pdf in alle Einzelseiten. Jede Seite wird als PDF mit der entsprechenden Seitennummer gespeichert, so finden Sie bspw. die Seite 1 in page-1.pdf.
Benötigen Sie nur ausgewählte Seiten, kommen zwei Schalter ins Spiel. Über die beiden Schalter -f (für first) und -l (für last) grenzen Sie ein, welches die erste bzw. letzte extrahierte Seite werden soll. Hiermit erhalten Sie die nur die dritte bis fünfte Seite:
pdfseparate -f 3 -l 5 document.pdf page-%d.pdf
Variante 1 ist Gimp. Öffnen Sie ihr PDF-Dokument mit dem Bildbearbeitungsprogramm, erhalten Sie ein Dialogfenster, aus welchem Sie die gewünschte Seite auswählen. Diese Seite speichern Sie dann über den Menüpunkt Exportieren als ... unter einem neuen Namen.
Auswahl der einzelnen Seite in Gimp |
pdfseparate document.pdf page-%d.pdf
auf der Kommandozeile zerlegen Sie das Originaldokument namens document.pdf in alle Einzelseiten. Jede Seite wird als PDF mit der entsprechenden Seitennummer gespeichert, so finden Sie bspw. die Seite 1 in page-1.pdf.
Benötigen Sie nur ausgewählte Seiten, kommen zwei Schalter ins Spiel. Über die beiden Schalter -f (für first) und -l (für last) grenzen Sie ein, welches die erste bzw. letzte extrahierte Seite werden soll. Hiermit erhalten Sie die nur die dritte bis fünfte Seite:
pdfseparate -f 3 -l 5 document.pdf page-%d.pdf
Montag, 26. Juni 2017
Tips und Tricks: Erstellte Pads in Etherpad Lite aufräumen
Möchten Sie gemeinsam an einem Textdokument arbeiten, ist das
Versenden der Versionen an alle Mitwirkenden äußerst umständlich und
verstopft über kurz oder lang ihr Postfach. Außerdem birgt das Vorgehen
die Gefahr, dass der Überblick verloren geht, welche Version des
Textdokuments gerade aktuell ist oder ein Mitwirkender bei der Zusendung
vergessen wird.
An dieser Stelle kommt Etherpad Lite ins Spiel. Diese kollaborative Software ist im wesentlichen ein Texteditor, den Sie über ihren Webbrowser bedienen. Ausgestattet mit einer Versionsverwaltung geht zudem kein Zwischenschritt verloren. Jedes Textdokument bearbeiten Sie in einem Pad, welches i.d.R. auf dem Server gespeichert wird, auf dem ihre Instanz von Etherpad Lite gehostet wird.
Mit der Zeit sammeln sich diverse Pads an. Von hause aus bringt Etherpad Lite nur die Möglichkeit mit, Pads über die Etherpad-Lite-API und einen passenden http-Request wieder zu entfernen. Einfacher geht es hingegen mit Hilfe des Plugins adminpads. Dieses klinkt sich direkt in die Admin-Konsole des Etherpad Lite ein.
Über den Menüpunkt Manage pads in der Navigation erreichen Sie alle Pads auf einen Blick und erfahren deren Status. Das hilft Ihnen dabei, herauszufinden, wie lange ein Pad bereits besteht, wieviele aktive Bearbeiter es derzeit hat und wann dessen Inhalt zuletzt modifiziert wurde. Wird es nicht mehr benötigt, entsorgen Sie es samt Historie mit einem beherzten Klick auf den dazugehörigen Löschknopf. Voila!
Einen Überblick zu weiterer Software aus dieser Kategorie bietet der lesenswerte Blogbeitrag von Jens Kubieziel.
An dieser Stelle kommt Etherpad Lite ins Spiel. Diese kollaborative Software ist im wesentlichen ein Texteditor, den Sie über ihren Webbrowser bedienen. Ausgestattet mit einer Versionsverwaltung geht zudem kein Zwischenschritt verloren. Jedes Textdokument bearbeiten Sie in einem Pad, welches i.d.R. auf dem Server gespeichert wird, auf dem ihre Instanz von Etherpad Lite gehostet wird.
Die einzelnen Dokumente in Etherpad Lite verwalten |
Über den Menüpunkt Manage pads in der Navigation erreichen Sie alle Pads auf einen Blick und erfahren deren Status. Das hilft Ihnen dabei, herauszufinden, wie lange ein Pad bereits besteht, wieviele aktive Bearbeiter es derzeit hat und wann dessen Inhalt zuletzt modifiziert wurde. Wird es nicht mehr benötigt, entsorgen Sie es samt Historie mit einem beherzten Klick auf den dazugehörigen Löschknopf. Voila!
Einen Überblick zu weiterer Software aus dieser Kategorie bietet der lesenswerte Blogbeitrag von Jens Kubieziel.
Freitag, 23. Juni 2017
Herzlichen Glückwunsch, Workshop17!
2 Jahre Workshop17 |
Beheimatet im Watershed -- einer ehemaligen Bootshalle im Hafen von Kapstadt -- bietet es eine luftige, offene Atmosphäre für die Kreativwirtschaft, Startups und Unternehmer aus der IT-Welt. Neben Einzelarbeitsplätzen, die spontan von jedem Interessenten genutzt werden können, stehen auch dauerhaft anmietbare Schreibtische zur Verfügung.
Emsiges Werkeln in offener Atmosphäre |
Während im Erdgeschoß des Gebäudes vielfältige, afrikanische Kunst verkauft wird, dominieren im 1. Stock Laptops und in ihr Tun vertiefte, digitale Helden aus aller Welt. Ein Kontrast, wie er zu Afrika passt und die Gegensätzlichkeit des Kontinents sehr deutlich zeigt.
Donnerstag, 15. Juni 2017
Umweltdaten messen mit einem Feinstaubsensor
Am 25. Mai 2017 fand auf dem Areal des Kulturzentrums Freiland e.V. im Zentrum von Potsdam der diesjährige OpenTechSummit statt. Eine überschaubare, sehr relaxte Veranstaltung mit internationalem Flair, bei der nicht nur Gäste aus Europa teilnahmen.
Auf großes Interesse traf ein Sensor zur Messung von Feinstaub. Diesen Sensor stellte Frank Riedel vom Projekt luftdaten.info vor. Als Bausatz für den Außeneinsatz konzipiert, setzen Sie diesen in zehn Schritten zusammen, verbinden ihn mit dem Internet und das Erfassen der Daten beginnt. Alle Daten werden gesammelt und sind am Folgetag sichtbar.
Ursprünglich nur für den Großraum Stuttgart gedacht, nutzen diesen inzwischen auch andere Interessenten. Über eine interaktive Karte auf der Basis von OpenStreetMap sehen Sie, welche Werte der Sensor seit dessen Inbetriebnahme an dem jeweiligen Standort gemessen hat.
Stolz den Feinstaubsensor begutachten |
Ursprünglich nur für den Großraum Stuttgart gedacht, nutzen diesen inzwischen auch andere Interessenten. Über eine interaktive Karte auf der Basis von OpenStreetMap sehen Sie, welche Werte der Sensor seit dessen Inbetriebnahme an dem jeweiligen Standort gemessen hat.
Erfasste Messwerte für einen ausgewählten Sensor |
Donnerstag, 8. Juni 2017
Mageia Linux 6 RC
Control Center im Mageia 6 (XFCE-Design) |
Dienstag, 30. Mai 2017
Cubietruck im Alltagsbetrieb
Cubieboard 3 (Cubietruck) im Test |
Inzwischen bekam das Board ein mattschwarzes Gehäuse, was es gegen Staub schützt und zudem auch leichter transportabel macht. Es bleibt darin genügend Platz für eine 2.5"-Festplatte, die das Leistungsspektrum des Cubietruck nochmal steigert.
Gehäuse für das Cubietruck |
Das Gehäuse mit den sauber ausgeführten Anschlüssen |
Sonntag, 28. Mai 2017
Analyse der Ausführungszeit eines Kommandos in der bash
Für diesen Anwendungsfall -- das Messen der Ausführungszeit eines Programms -- existiert das UNIX-Kommando time. Es ermittelt diese drei Werte:
Das Beispiel ermittelt alle Dateien, die dem Benutzer frank gehören. time rechnet aus, dass find dafür 3.6s benötigt.
Variante 2 nutzt stattdessen grep und cut:
In Variante 3 kommen grep und awk zum Einsatz:
Für Puristen ist die Variante 4 -- diese nutzt ausschließlich awk:
Das das auch mit einer Skriptsprache wie Perl geht, zeigt das Variante 5:
Analog erfolgt das auch für die Varianten 2 bis 5. Folgendes Ergebnis wird sichtbar:
- real: die gesamte, tatsächliche Ausführungszeit (elapsed real time)
- user: die Zeit, in der die CPU tatsächlich den (User-)Code des Programms ausführt (Total number of CPU-seconds that the process spent in user mode)
- sys: jene Zeit, in der die CPU mit Ausführung von Kernel-Code für das Programm beschäftigt ist (Total number of CPU-seconds that the process spent in kernel mode)
Beispiel 1
Um die Zeit zu ermitteln, rufen Sie time vor ihrem eigentlichen Kommando auf:$ time find . -user frank ... real 0m3.681s user 0m0.248s sys 0m0.916s $
Das Beispiel ermittelt alle Dateien, die dem Benutzer frank gehören. time rechnet aus, dass find dafür 3.6s benötigt.
Skripting in der Praxis
Spannender wird die Zeitmessung, wenn mehrere Kommandos zusammenspielen, bspw. in einem Shellskript. Nachfolgend geht es darum, die User ID und den dazugehörigen Namen des UNIX-Nutzers zu ermitteln, der ein Skript gerade aufruft. Variante 1 greift auf interne Variablen und das Kommando whoami zurück:#!/bin/bash userId=$UID userName=$(whoami) echo "the script runs as user $userName with UNIX id $userId"
Variante 2 nutzt stattdessen grep und cut:
#!/bin/bash userId=$UID userName=$(grep ":$UID:" /etc/passwd | cut -d: -f 1) echo "the script runs as user $userName with UNIX id $userId"
In Variante 3 kommen grep und awk zum Einsatz:
#!/bin/bash userId=$UID userName=$(grep ":$UID:" /etc/passwd | awk -F : '{ print $1 }') echo "the script runs as user $userName with UNIX id $userId"
Für Puristen ist die Variante 4 -- diese nutzt ausschließlich awk:
#!/bin/bash userId=$UID userName=$(awk -F : '/:'$userId':/ { print $1 }' /etc/passwd) echo "the script runs as user $userName with UNIX id $userId"
Das das auch mit einer Skriptsprache wie Perl geht, zeigt das Variante 5:
#!/usr/bin/perl -w $username=$ENV{'LOGNAME'}; # read /etc/passwd open(FH, "/etc/passwd") || die "Cannot open /etc/passwd: $!"; { while(<FH>) { # look for the user name if (m/^${username}:/) { @fields=split(/:/, $_);
# extract user id
$uid=$fields[2]; print "the script runs as user $username with UNIX id $uid\n"; } } } close(FH);
Auswertung der Laufzeit
Nun wird es spannend, welche der fünf Varianten am flinkesten ist. Rufen Sie die Konstrukte alle einzeln auf, liefert time bei allen einen Wert von etwa 1s. Um die Unterschiede deutlicher sichtbar werden zu lassen, bauen wir eine Schleife drumherum und lassen das ganze 10000 Mal durchlaufen:#!/bin/bash # define loops loops=10000 time { for((i=$loops; i>0; i--)) do userId=$UID userName=$(whoami) echo "the script runs as user $userName with UNIX id $userId" done } | grep "real"
Analog erfolgt das auch für die Varianten 2 bis 5. Folgendes Ergebnis wird sichtbar:
Variante | Ausführungszeit |
Variante 1 mit whoami | 8.25s |
Variante 2 mit grep und cut | 11.03s |
Variante 3 mit grep und awk | 17.1s |
Variante 4 nur mit awk | 13.9s |
Variante 5 mit Perl | 15.22s |
Fazit
Eindeutiger Gewinner ist Variante 1, gefolgt Variante 2 und Variante 4. Es hilft also doch, bei der Programmierung stets die Laufzeit im Blick zu behalten.Links
- time im Ubuntu-Wiki
- Linux Analyse der Ausführungszeit mit time im Thomas-Krenn-Wiki
Samstag, 27. Mai 2017
Beweiszettel. Linux-Zertifizierungen kurz angerissen
Bücher zur Vorbereitung -- eine kleine Auswahl. |
Mit Linux nur zu arbeiten, ist das eine. Hingegen mehr davon zu verstehen und es auch produktiv nutzen zu können, das andere. Ein guter Weg, nachzuweisen, dass Sie mehr als nur der Oberflächenklicker sind, ist ein Zertifikat. Dieses steht dann für eine oder mehrere Prüfungen.
Grundsätzlich sortieren sich die Zertifizerungen in zwei Klassen ein -- distributionsübergreifend und distributionsspezifisch. Als Anbieter umfaßt das auf der einen Seite das Linux Professional Instititute (LPI), die Linux Foundation und die Computing Technology Industry Association (CompTIA). Auf der anderen Seite stehen die Hersteller bzw. Distributoren RedHat und SuSe.
Diese Prüfungen für Zertifikate werden derzeit angeboten:
Form | Anbieter/Programm | Zertifikat (Auswahl) |
distributionsübergreifend | LPI, Linux Foundation, CompTIA | |
distributionsspezifisch | RedHat, SuSe |
Weitaus seltener unterstützt werden RHCE/RHCSA sowie die SUSE-Prüfungen, nicht zuletzt weil sie herstellerspezifisch sind.
Im Prinzip erst seit 2017 am deutschen Markt vertreten und daher noch nicht so bekannt in Deutschland sind die Abschlüsse der Linux Foundation. Neben einem ansehnlichen Angebotsumfang kann es mit zwei großen Namen auftrumpfen -- Linus Torvalds und Microsoft. CompTIA ist zwar ebenfalls schon lange in Deutschland vertreten, tritt aber weniger als Linux-Spezialist auf.
Labels:
CompTIA,
Linux,
Linux Foundation,
LPIC,
RCA,
RedHat,
RHCE,
RHCSA,
SCA,
SCE,
Suse,
Zertifizierung
Montag, 8. Mai 2017
Gesucht und Gefunden
Recherche im Baumhaus Berlin |
Auf einen Blick sehen, wo was los ist |
Freitag, 5. Mai 2017
Montag, 1. Mai 2017
Training Linux/Programmierung mit der bash in Hamburg 6.+7. Juni 2017
Diese bash -- immer muss ich da so viel eintippen! Wenn das nicht alles irgendwie einfacher gehen würde. Aber das geht tatsächlich und Sie können das auch erlernen. Aber es ist eine ganze Menge an Stoff.
Hier findet der nächste Kurs statt -- es gibt noch freie Plätze:
dama.go Hamburg, Süderstraße 77, 20097 Hamburg
Dienstag, den 6. und Mittwoch, den 7. Juni 2017
9h00-16h30
Kontakt und Anmeldung zum bash-Kurs:
Stefanie Johannsen Cömert
Telefon: (040) 254 133 950
Und das steht bisher als Themen auf dem Plan:
Die Schulung findet auf einem Debian GNU/Linux statt.
Hier findet der nächste Kurs statt -- es gibt noch freie Plätze:
dama.go Hamburg, Süderstraße 77, 20097 Hamburg
Dienstag, den 6. und Mittwoch, den 7. Juni 2017
9h00-16h30
Kontakt und Anmeldung zum bash-Kurs:
Stefanie Johannsen Cömert
Telefon: (040) 254 133 950
Und das steht bisher als Themen auf dem Plan:
- Die bash im Detail
- Die bash als Programmiersprache
- Praktische Shellskripte
- Interaktive Shellskripte
- Der Stromeditor sed
- Die Programmiersprache awk
Die Schulung findet auf einem Debian GNU/Linux statt.
Abonnieren
Posts (Atom)