Archive for the Category »Coding «

Raspberry Pi Zero WH mit 40 IO-Pins

Schon der Kleinstrechner Zero W von Raspberry Pi, der vor einem knappen Jahr herauskam, ist besonders auch wegen seiner WLAN-Schnittstelle bei Praktikern und im Bildungswesen gut angenommen worden.

Jetzt hat Raspberry Pi mit dem Zero WH eine Variante des Zero W herausgebracht, die zusätzlich auch 40 GPIO-Pins zur Ein- und Ausgabe von digitalen Signalen mit an Bord hat.

Die neue Variante Zero WH soll vor allem den Aufwand von hardwarenahen Projekten in Unternehmen, Schulen oder zuhause deutlich verringern. Natürlich kann mit dem günstigen Kleinstrechner auch die GPIO-Erweiterung des Raspberry Pi optimal genutzt werden.

Der Einplatinenrechner mit der GPIO-Erweiterung kann sich über USB mit einem PC verbinden und darüber auch die Pins verwaltet werden. Die Benutzer brauchen dann keine SD-Karten mehr kaufen und für den Einzelfall konfigurieren.

Über diese Verbindung kann der Zero WH aber auch Rechenleistung auf dem angeschlossenen PC nutzen und ist nicht für alle Operationen auf die doch limitierte CPU des Kleinstrechners angewiesen. Die GPIO-Erweiterung wurde letzten Monat im RasPi-Blog vorgestellt.

Scriptsprache Ruby 2.5.0 verfügbar

Traditionell erscheinen größere neue Releases des Ruby-Projekts zwischen den Jahren. Und rechtzeitig vor dem gerade gelaufenen Jahreswechsel haben die Entwickler mit Ruby 2.5.0 die erste stabile Version in der 2.5er-Serie der Sprache vorgestellt. Außer Performance-Verbesserungen bringt die neue Version der Skriptsprache auch einige neue Features mit.

Dazu gehört unter anderem zum Beispiel die Unterstützung für Codeverzweigungs- und Methodenanalysen, um Entwicklern mehr Überblick der Testabdeckung ihrer Programme zu bringen. Das erweitert die Ergebnisse einer Testsuite um Informationen zu den logischen Zweigen in dem Code, die ausgeführt wurden und zeigt auch die dabei ausgeführten Methoden.

Entfernt haben die Entwickler aus ihrer Sicht unnötigen Ballast, wie zum Beispiel den trace-Befehl, der für die Unterstützung der TracePoint-API nötig war. Da die API jedoch so gut wie gar nicht genutzt wurde, hat das Entwickler-Team sämtliche trace-Befehle aus dem Bytecode (instruction sequences) entfernt und durch dynamische Hook Points ersetzt. Das soll zusammen mit einigen weiteren optimierten Methoden zu einer Verbesserung der Performance von bis zu 10 Prozent führen.

Weitere Neuerungen

Die häufig genutzte Bibliothek pp.rb  wird in Ruby 2.5 jetzt automatisch geladen, der Befehl require “pp” ist nicht mehr nötig. Außerdem können die mit Struct.new erzeugten Klassen jetzt auch unmittelbar mit Schlüsselwortargumenten (keyword arguments) umgehen.

Ausgabe von Backtraces und Fehlermeldungen erfolgen jetzt in umgekehrter Reihenfolge, so dass der aktuellste Aufruf als Letzter erscheint. So lässt sich die Ursache für ein langes Backtrace ganz einfach am Ende erkennen, falls das Backtrace dann direkt auf einem Terminal (TTY) ausgegeben wird.

Weitere Details zu Ruby 2.5.0, eine komplette Übersicht der Neuerungen und auch die Download-Links finden Sie in den Release-Informationen zu Ruby 2.5.

Coding: WordPress – Email bei Aktualisierung

Wer zusammen mit mehrere Ko-Autoren an einem Blog schreibt, möchte in der Regel gerne immer auf dem aktuellsten Stand der Beiträge sein.

Ein in PHP geschriebener Code-Schnipsel mit der Funktion post_updated_email() aus dem Netz kann bei diesem Problem gut weiter helfen:


function post_updated_email( $post_id ) {
global $current_user;
get_currentuserinfo();


// Ist es nur eine Revision, dann keine Email senden
if ( wp_is_post_revision( $post_id ) )
return;
$post_title = strip_tags(get_the_title( $post_id ));
$post_url = get_permalink( $post_id );
$subject = '[UPDATE] ' . $post_title ;
$message = __('Update by ', 'domain') . $current_user->display_name . ' ('.date('c', current_time( 'timestamp', 0 )).')' . "\n\n";
$message .= $post_title . ": " . $post_url;
$message .= "\n\n" . __('Update in Post.', 'domain');
$headers = 'From: '.get_bloginfo('name').' <' . get_bloginfo('admin_email') . '>' . "\r\n";


// Email an den Admin
wp_mail( get_bloginfo('admin_email'), $subject, $message, $headers );
}
add_action( 'save_post', 'post_updated_email' );

Der Code-Schnipsel sendet dem Admin eine Email, wenn einer der Beiträge aktualisiert wurde. Den Code kann man natürlich auch durch Modifikation an die eigenen Bedürfnisse anpassen. Die kurze Funktion kann man am besten in der Funktionssammlung functions.php eines Themes von WordPress unterbringen.
Man sollte dabei aber auch bedenken, dass die kleine Hilfsroutine bei zu vielen Änderungen in kurzer Zeit auch einen kleinen Stau im Postfach des Admin auslösen könnte…