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.


Die einzelnen Dokumente in Etherpad Lite verwalten
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.

Freitag, 23. Juni 2017

Herzlichen Glückwunsch, Workshop17!

2 Jahre Workshop17
Heute war es soweit -- der Coworking Space Workshop17 feierte sein zweijähriges Bestehen. Herzlichen Glückwunsch!

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.

Stolz den Feinstaubsensor begutachten
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.

Erfasste Messwerte für einen ausgewählten Sensor

Donnerstag, 8. Juni 2017

Mageia Linux 6 RC

Control Center im Mageia 6 (XFCE-Design)
Stets im Sommer erscheint eine neue Version der französischen Linux-Distribution Mageia. 2010 geforkt vom Mandriva-Projekt, hat sich die Distribution mittlerweile einen guten Ruf erarbeitet. Der erste Test des RC für die Version 6 war sehr positiv. Mehr dazu in Kürze.

Dienstag, 30. Mai 2017

Cubietruck im Alltagsbetrieb

Cubieboard 3 (Cubietruck) im Test
Vor über einem Jahr liefen mehrere Tests mit dem Cubieboard 3 (Cubietruck) sehr erfolgreich. Seitdem war das Board vorrangig als Fileserver auf der Basis des Debian-Derivats Armbian für Schulungszwecke im Einsatz. Bei meinen Linux-Trainings ließ sich leistungsstarke Board zum Mitbringen immer wieder gut in Szene setzen.

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
Ordentlich bedruckt macht das Gehäuse einen professionellen Eindruck und ist somit auch endkundentauglich. Die Reaktionen darauf waren bislang nur positiv.

Das Gehäuse mit den sauber ausgeführten Anschlüssen
Derzeit entsteht in Zusammenarbeit mit dem Berliner Kooperationspartner Zugangswerk e.V. ein Prototyp für eine Aufzeichnungssoftware, die auf dem Cubieboard aufsetzt. Grundlage dafür bildet wiederum ein Etherpad Lite, welches auf die speziellen Bedürfnisse von den Nutzern -- hier Dolmetschern -- angepaßt wird. Jetzt stehen intensive Tests an, um noch störende Bugs zu beseitigen.

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:
  • 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

Samstag, 27. Mai 2017

Beweiszettel. Linux-Zertifizierungen kurz angerissen

Bücher zur Vorbereitung -- eine kleine Auswahl.
Beschäftigen Sie sich mit dem freien Betriebssystem Linux, rutschen Sie heute vielfach noch in die Kategorie der Exoten. Dabei ist Linux inzwischen ein Vierteljahrhundert alt und gehört in der IT-Welt zum Alltag. Damit werden nicht nur vereinzelte Endgeräte betrieben, sondern komplette Rechenzentren gefüllt.

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
Aufgrund der längeren Marktpräsenz gelten die LPIC-Zertifikate als etabliert und werden bspw. auch durch die Bundesagentur für Arbeit öffentlich gefördert.
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.