Skip to content

Programmiersprachen Ranglisten ...

Letzte Woche gingen die aktuelle RedMonk Programmiersprachen Rangliste durch die Blogs. Ich kannte die Rangliste tatsächlich noch nicht und habe vorher immer den Tiobe Index zu Rate gezogen- Im Zuge der Recherche zu diesem Artikel habe ich auch noch den Popularity of Programming Language Index gefunden.

Die Ergebnisse sind sehr interessant, weil sie drei verschiedene Messmethoden anwenden, um die gefragtesten Programmiersprachen zu finden.

Der RedMonk Index erscheint alle zwei Jahre und benutzt GitHub und Stack Overflow, um die Rangliste zu erstellen. Damit wird erhofft, die Benutzung (gemessen in Codezeilen) und die Diskussion (Anzahl der Beiträge) in einen Gesamtwert einfliessen zu lassen. Mir persönlich fehlt die Einschränkung auf einen Zeitraum (GitHub: Alle neuen oder alle aktiven Projekte der letzten zwei Jahre beispielsweise). Die für mich interessanten Sprachen finden sich auf folgenden Plätzen:

3 PHP

4 Python

5 Ruby

11 Perl

13 R

Die Berechnung des Tiobe Index ist ein wenig undurchsichtiger, dafür erscheint er aber auch jeden Monat. :-) Die Macher sprechen von einem Popularitätsindex. Die Rangliste wird auf Basis der Ergebnisse in den Suchmaschinen Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube und Baidu ausgerechnet und soll die Anzahl der erfahrenen Ingenieure, Kurse und Drittanbieter berücksichtigen. Wenn man vor der Wahl einer neuen Programmiersprache steht, kann man sich anschauen, was momentan der Trend ist.

6 Python

8 PHP

12 Perl

13 R

16 Ruby

Der letzte im Bunde PYPLI nutzt einzig Google Trends und berücksichtigt nur die Suchen nach Tutorials der Programmiersprachen.

2 PHP

3 Python

10 R

12 Ruby

15 Perl

Interessant ist, dass die Ergebnisse zwar die gleichen Sprachen enthalten, aber in deutlich unterschiedlichen Reihenfolgen.

RedMonk spiegelt die aktive Entwicklung von Open-Source-Projekten wieder, Tiobe zeigt das, was momentan im Markt aktuell ist und PYPLI was gerade gelernt wird. Spannend.

Auch spannend ist, es, sich die Anzahl der registrierten Projekte auf Ohloh anzeigen und nach Sprache auswerten zu lassen.

Fedora 22 ...

fedora

Mal schnell wegbloggen, ich habe vor 1,5 Wochen mein Hauptarbeitsgerät mittels fedup von Fedora 21 auf Fedora 22 aktualisiert. Dabei war ich ziemlich überrascht, wie reibunglos alles funktioniert hat. Das Update von KDE 4.x auf Plasma 5 hat sehr gut funktioniert!

Interessanterweise wurden auch die eingebundenen Fremdrepositories angefasst.

"Normalerweise" installiere ich neue Releases direkt mit der ISO-Datei neu, das war nur ein Test, ob es funktioniert und ich muss sagen: Prima!

Schaltsekunde ...

linux

So soll es sein:

05:06:02 [dirk@moas:~] $ sudo grep -i leap /var/log/messages
Jul 1 01:59:59 moas kernel: Clock: inserting leap second 23:59:60 UTC
Jul 1 02:00:00 moas ntpd[24383]: 0.0.0.0 061b 0b leap_event

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.

Zehnter Bloggeburtstag ...

Wow, zehn Jahre ist es schon her, dass dieses Blogposting meinen Einstieg in das Bloggerleben mit "Dirks Logbuch - Die Chronik des schleichenden Wahnsinns ..." einläutete. (Ja, die drei Punkte am Ende jeder Überschrift haben schon viele Leute in den Wahnsinn getrieben und viele URL-Parser entblösst).

Wenn Ihr direkt zur Umfrage mit Gewinnspiel wollt, müsst Ihr an das Ende dieser Seite springen.

Eher zufällig kann man am 25. Mai auch noch folgende Events feiern (private Geburtstage gelöscht):

$ perl /home/dirk/workspace/daterem.git/daterem.pl 25.05.2015

Mo, 25.05.2015 Pfingstmontag

Mo, 25.05.2015 Towel Day, year 2001, age 14 years

Mo, 25.05.2015 Geek Pride Day, year 2006, age 9 years

Mo, 25.05.2015 Nerd Pride Day, year 2006, age 9 years

Mo, 25.05.2015 Star Wars Premiere, year 1977, age 38 years

Mo, 25.05.2015 Dirks Logbuch, started 2005, age 10 years

Wie Ihr sehen könnt, hat man interessanterweise am ersten Bloggeburtstag auch zwei neue "Gedenktage" eingeführt. :-)

(Das Skript daterem.pl ist Open-Source-Software und unter anderem auf GitHub zu finden).

Puh, was soll man zum zehnten Bloggeburtstag schreiben?

Eine Zeit lang habe ich es wirklich geschafft, einen "Artikel" (oder eher "Schnippsel") pro Tag zu veröffentlichen. Die Postings hatten mal mehr und mal weniger Tiefgang, waren aber immer authentisch. Ich habe Blogverzeichnisse kommen und gehen sehen, war bei einigen angemeldet und habe mich mittlerweile aktiv daraus zurückgezogen.

Aber zwei Dinge möchte ich gerne positiv festhalten:

  1. Ich habe über dieses Blog viele Menschen kennengelernt, die mich ein Stück meines Weges begleitet haben. Danke Euch allen! Hier wurde schon immer viel kommentiert und ich hoffe, das bleibt auch so.
  2. Wenn man Durchhaltevermögen hat, dann lohnt sich das. Es gibt viel Anerkennung und "Ruhm und Ehre", aber leider - oder viel mehr "zum Glück" - kein Geld. Ich fürchte unter fianziellen Aspekten leidet die Authentizität.

Es ist sehr spannend wie vielen "tote Pferden" man im Laufe von zehn Jahren begegnet und wie viel tot gesagt wird und dennoch weiterlebt. Vor zehn Jahren war man mit einem Blog noch eher ein Exot und heute wird postuliert, dass Blogs keine Zukunft haben.

Das Blog ist - auch wenn ich den familiären Anteil sehr gering halte - ein Spiegel meiner eigenen Entwicklung der letzten zehn Jahre. Ich hoffe, dass ich noch ein paar Jahre weitermachen kann.

Und - um dem vorweg zu greifen - ich erhebe keinen Anspruch darauf, dass meine Artikel irgendwie journalistisch wertvoll sind. Wenn es einige Menschen gibt, die sie interessieren und die den einen oder anderen Tipp mitnehmen können oder besser noch, mit mir diskutieren wollen, dann bin ich glücklich.

Das Blog ist ein Kommunikationsmedium: Eines von vielen! (Aber ein beständigeres als viele Netzwerke, die gekommen und gegangen sind).

Vielleicht ist dieses Blog für manche ein Serendipity, ich würde mich sehr darüber freuen.

Der Begriff Serendipität (englisch serendipity), gelegentlich auch Serendipity-Prinzip oder Serendipitätsprinzip, bezeichnet eine zufällige Beobachtung von etwas ursprünglich nicht Gesuchtem, das sich als neue und überraschende Entdeckung erweist.

Zu Serendipity passt auch, dass das oder auch "s9y" der Name der Blogsoftware ist, die ich seit den ersten Tagen verwende und die mich nie im Stich gelassen hat. Vielen Dank an das Entwicklerteam rund um Garvin Hicking!

Ausgewählte Daten aus zehn Jahren Dirks Logbuch:

Erster Eintrag

Mittwoch, 25. Mai 2005 07:05

Letzter Eintrag

Montag, 25. Mai 2015 00:05

Insgesamt verfasste Artikel

3504 Artikel

Erhaltene Kommentare

16649 Kommentare

Durchschnittliche Kommentare pro Artikel

4.75 Kommentare/Artikel

Durchschnittliche Trackbacks pro Artikel

0.43 Trackbacks/Artikel

Durchschnittliche Artikel pro Tag

0.96 Artikel/Tag

Durchschnittliche Artikel pro Woche

6.72 Artikel/Woche

Durchschnittliche Artikel pro Monat

29.75 Artikel/Monat

Menge der geschriebenen Zeichen

3493929 Zeichen

Zeichen pro Artikel

997.41 Zeichen/Artikel

Top kommentierte Artikel

Unity ... - 107 Kommentare

Bootzeit ... - 105 Kommentare

Umfrage: Vorteile von Windows ... - 104 Kommentare

Aber jetzt endlich zur Umfrage.

Vor einigen Wochen habe ich ein E-Book bei Open Source Press gekauft und war mit dem Format nicht so ganz einverstanden. Es ist eine PDF-Datei (das finde ich in Ordnung), die aber ein viel zu kleines Seitenformat aufweist und auf dem Tablet würde ich gerne die PDFs in einem A4-ähnlichen Format lesen.

Nun, wir leben in einer digitalen Welt und ich habe das einmal als Feedback zurückgegeben. Als Antwort bekam ich, dass der Verlag davon ausgehen würde, dass dieser Titel eher auf Mobiltelefonen gelesen würde und da wäre das Format passend. Dem konnte ich ganz und gar nicht zustimmen und habe mein Nutzungsverhalten bezogen auf E-Books erklärt.

Da ich naturgemäss nicht der durchschnittliche Nutzer bin, war ich neugierig, wie der Nutzen von E-Books wohl aussieht und habe angekündigt, aus Neugierde eine Umfrage daraus zu machen. Dr. Markus Wirtz, der Verlagsleiter, war sofort "Feuer und Flamme" und schlug vor, dass ich E-Books aus seinem Verlag verlosen könnte.

Das passt natürlich wunderbar zum zehnten Bloggeburtstag.

Ich stimmte also zu und bat Markus, mir Fragen zu schicken, die ihn auch interessierten. Damit habe ich einige Fragen um neue Antwortmöglickeiten erweitert und die zwei zusätzlichen Fragen noch aufgenommen.

Herausgekommen ist diese Umfrage zur E-Book-Nutzung. Mitmachen darf jeder, der möchte. Diejenigen, die ihre E-Mail-Adresse angeben, nehmen an der Verlosung teil. Ausgenommen sind nur Familienmitglieder und Mitarbeiter des Verlages, die zwei teilnehmen dürfen (und sollen), aber nichts gewinnen können.

Ich hoste die Umfrage auf meinem eigenen Server und habe alle Anonymisierungsoptionen eingeschaltet, einzig ein Cookie wird gesetzt, damit man nicht irrtümlich mit verschiedenen Mailadressen teilnimmt (ja, ich weiss, dass Ihr wisst, wie man das umgeht).

Die Umfrage läuft bis Ende Juni und die Gewinner und die Ergebnisse der Umfrage werden Anfang Juli bekannt gegeben. (Sie bekommen eine E-Mail und nach erfolgter Rückantwort wird der Vorname und der erste Buchstabe des Nachnamens veröffentlicht).

Gewinnen kann man einen der folgenden Titel aus dem aktuellen Programm von Open Source Press. Der erste Gewinner darf als erster aus den Titeln auswählen, der zweite Gewinner als zweiter, .. der zehnte Platz muss leider den Titel nehmen, der übrig bleibt.

Umfrage zur E-Book-Nutzung

Ach, Abschlussfrage: Ich habe zwischenzeitlich mal mit dem Gedanken gespielt, ausgewählte Blogartikel als E-Book zu veröffentlichen. Gibt es jemanden, der daran Interesse hätte?

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.

Willkommen Debian Jessie ...

debian

Am gestrigen Sonntag wurde Debian 8.0, Codename "Jessie" veröffentlicht.

Neben der üblichen Versionspflege ist die vermutlich grösste Änderung die umstrittene Umstellung von System-V-Init auf Systemd (ich persönlich begrüsse das sehr).

Die weiteren Änderungen sind zu zahlreich, um sie in einem kurzen Blogartikel zu beleuchten, das haben andere bereits erledigt. Es lohnt sich in jedem Fall ein Blick in die (auch in deutscher Sprache erhältlichen) Releasenotes oder dem Artikel bei Pro-Linux.

Wer die Informationen gerne in Form von Slides haben möchte, wird bei Michael Prokop fündig (PDF) oder kann sich die "Folien" (HTML) von Axel anschauen.

Ich freue mich sehr darüber, dass sich das LTS-Modell durchsetzt. LTS steht für Long Term Support und in Debian dafür, dass die Version fünf Jahre lang mit Sicherheitsupdates versorgt wird. Die Seite LTS im Debian-Wiki klärt über das "wie" auf.

Performanceuntersuchungen ...

Aus aktuellem Anlass muss ich noch einmal auf Bandbreite und Latenz herumreiten und vielleicht noch hinzufügen, dass auch die Anzahl der Anfragen durchaus eine Rolle bei Performance-Betrachtungen spielt.

Wir hatten hier auf einem System massive Performance-Probleme und ich habe relativ schnell herausgefunden, dass ein bestimmter User und von diesem ein bestimmter Prozess für einen grossen Teil der Festplattenlast verantwortlich ist.

Der Applikationsbetreuer war der Meinung, dass das nicht sein könne, da der Teil der Applikation kaum bzw. nur sehr wenig schreibt. Das stimmt, er hat wirklich nicht viel geschrieben, aber dafür wenige Bytes und diese sehr häufig. Das hat die IO-Queue gefüllt und weitere Zugriffe blockiert.

Einige Zeit später hat der Betreuer einfach mal den Prozess beendet und siehe da, die Performance der übrigen Komponenten war sehr hoch.

Lehre, die man daraus ziehen sollte: Glaubt keinem Applikationsbetreuer!

Nein, im Ernst: Es ist wichtig, dass man genau weiss, was eine Applikation tut und noch wichtiger ist es, Performance nicht alleine am Durchsatz fest zu machen. Latenz und Anzahl der Requests spielen ebenfalls eine Rolle.

Cloudprovider ...

Nach meinen wirklich sehr guten Erfahrungen mit DigitalOcean, interessiert mich, welche bezahlbaren Cloudprovider Ihr kennt und womit Ihr Erfahrung habt. Mich interessiert vor allem IaaS (Infrastructure as a service).

Für die einzelnen Begrifflichkeiten verweise ich auf diesen Artikel hier oder den Cloud-Computing-Artikel in der Wikipedia.

Amazon EC2

DigitalOcean

Google Compute

JiffyBox (in Deutschland)

Linode

Microsoft Azure

Rackspace

teutoStack (in Deutschland)

Welche "Sozialen Netze" nutzt Ihr?

Aus purer Neugierde:

Welche "Sozialen Netze" nutzt Ihr und wie häufig nutzt Ihr sie?

Ich habe unter Kontakt einmal eine Auflistung versucht und scheitere daran, sie aktuell zu halten.

Hier Liste ich mal die Dienste auf, die ich nutze. Die Reihenfolge entspricht der "gefühlten" Häufigkeit der Nutzung:

Google+

Twitter

GNU Social

Facebook

Instagram

LinkedIn

Xing

Ankündigungen neuer Blogartikel landen automatisch bei Twitter, LinkedIn und Xing; manuell sende ich sie an Google+ und GNU Social.

Wenn ich mal Bilder poste, dann bei Instagram mit automatischer Weiterleitung an Twitter und Facebook.

Wie sieht das bei Euch aus?

Und, was mich auch interessieren würde, ist, ob Ihr die gleichen Inhalte in alle Netzwerke postet.

DigitalOcean ...

Ich habe schon viel von DigitalOcean gehört, unter anderem - aber nicht ausschliesslich - im sehr hörenswerten Podcast Gitminutes.

Nachdem ich jetzt gelesen habe, dass die Firma ein Rechenzentrum in Frankfurt eröffnet, denke ich, dass ich mir das einmal anschauen könnte.

Deployment einer virtuellen Maschine in 55 Sekunden, alles auf SSD-Speicher klingt wirklich interessant. So schnelle klicke ich mir selbst zu Hause keine extern erreichbare virtuelle Maschine zusammen.

Abgerechnet wird im Stundentakt der Existenz der virtuellen Maschine, das bedeutet, auch ausgeschaltete Maschinen kosten Geld. Man kann aber einen Snapshot erstellen, diesen sichern und die virtuelle Maschine dann löschen, damit entstehen keine weiteren Kosten.

Mich reizt die API und die Möglichkeit "mal schnell" eine virtuelle Maschine zu erzeugen, eine Arbeit durchzuführen (beispielsweise ein Repack von grossen Git-Repositories, einen OpenVPN-Server) und sie danach wieder zu zu löschen. Das alles geht automatisiert, ich muss nur noch herausfinden, wie.

Über diesen Refcode bekommt Ihr 10 USD zum Spielen (solltet Ihr jemals mehr als 25 USD Umsatz machen, würde ich auch 25 USD gut geschrieben bekommen). Da auf Stundenbasis abgerechnet wird, kommt man schon mit 10 USD relativ weit, die kleinste Maschine (512 MB Memory, 1 Core Processor, 20 GB SSD Disk, 1 TB Transfer) kann damit zwei Monate laufen und die grösste Maschine (64 GB Memory, 20 Core Processor, 640 GB SSD Disk, 9 TB Transfer) immerhin noch 10.5 Stunden.

Blogparade Webspace-Inventar ...

An Blogparaden habe ich ja schon hundert Jahre nicht mehr teilgenommen. Ein Grund mehr, es mal wieder zu tun.

Christoph fragte: Was ist auf deinem Webspace installiert?

Zuerst einmal die sichtbaren Dienste:

Schon sehr lange kommt Serendipity als Blogsoftware zum Einsatz. Über die Vorzüge habe ich schon viel geschrieben. Das möchte ich hier nicht ausrollen.

Piwik sorgt für die Nutzerstatistik.

Wenn einmal ein Wiki gebraucht wird, hilft DokuWiki.

Yourls ist ein URL-Verkürzungsdienst, mit dem ich beispielsweise d5e.org/technik auf eine statische Seite hier im Blog umleite.

Intern oder auf Einladung:

Tiny Tiny RSS ist mein Feedreader, auch darüber habe ich hier schon einiges geschrieben.

Mit Kanboard plane ich private Projekte. Das Tool ist gut und die Aussage des Programmierers "No fancy technologies, we don't care about the last hipster framework" finde ich auch klasse. Minimalistisch, schnell und gut (steht nicht im Weg).

Den "Datenspeicherdienst" ownCloud muss ich auch nicht weiter erklären, oder.

Roundcube ist mein Webmailer.

Auf dem Serendipity-Treffen habe ich mich von Adminer überzeugen lassen. Das Ding ist rasend schnell und nicht nur für MySQL / MariaDB geeignet.

Für Show your Places hätte ich gerne eine aktuellere Alternative. Hiermit kann man Karten auf OpenStreetMap-Basis erstellen.

Ausgemustert, nicht aufgrund mangelnder Qualität, sondern, weil ich sie nicht mehr benötige:

Trac, Projekttool mit Wiki, Quellcode-Browser und Ticket-System.

Etherpad Lite, kollaborativer Editor.

Sticky Notes als Pastebin.

Firtz, Podcast-Publishing.

phpMyAdmin, Datenbankverwaltungstool.

Horde Groupware Webmail Edition, Mail, Kalender und mehr.

Tiny Tiny RSS update daemon und systemd ...

Um den update daemon von Tiny Tiny RSS unter systemd (CentOS 7) auch bei einem Serverneustart direkt verfügbar zu haben, habe ich das unten stehende Unitfile geschrieben, vielleicht hilft es auch Euch.

Man kann von systemd halten, was man möchte, ich finde es aber deutlich eleganter als System V Initskripte.

[Unit]

Description=Tiny Tiny RSS update daemon

After=network.target mariadb.service

Requires=mariadb.service

[Service]

User=apache

Group=apache

WorkingDirectory=/⁠var/⁠www/⁠html/⁠ttr

Type=simple

StandardOutput=null

StandardError=syslog

ExecStart=/⁠usr/⁠bin/⁠php ./⁠update_daemon2.php

PrivateTmp=true

InaccessibleDirectories=/⁠home /⁠root /⁠boot /⁠opt /⁠mnt /⁠media

ReadOnlyDirectories=/⁠etc /⁠usr

[Install]

WantedBy=multi-⁠user.target

Einfach nach /lib/systemd/system/ttrss-update.service kopieren und mittels systemctl daemon-reload einlesen (den Befehl muss man auch ausführen, wenn man das Skript manuell ändert).

Testen mit

systemctl start ttrss-update
systemctl status ttrss-update

und, wenn alles erfolgreich war mit dem folgenden Befehl aktivieren:

systemctl enable ttrss-update