Kategorien
Technik

How to Repair a Logitech Gaming Keyboard Switch

This guide fits for a Logitech G810 and maybe also some more keyboards like the G610

After using my Logitech G810 gaming keyboard for four years, some problems occurred with the shift key on the left side. By the way, I’m using a German layout. For me, it’s not surprising that this is one of the first keys which starts making problems, because beside the W-A-S-D keys and some others it’s the most frequently used.

Kategorien
Development WWW

Contact Form 7 – Scripts, styles and reCaptcha only on certain pages

Many people are using the WordPress Plugin „Contact Form 7“ for displaying and managing their contact forms. The plugin is definitely a musthave if you have no idea, how to integrate a contact form into your WordPress blog. As a contact form is one of the many used ways to flood your inbox with spam mails, the plugin also integrates the Google reCaptcha Service to prevent you from being bombed by spam mails. The plugin author changed the integration to version 3 some time ago which lead to the problem, that the little reCaptcha overlay is displayed on every page of your blog. Some people will find that okay but in my opinion, this should be fixed. After I did some research in the plugin’s forum on wordpress.org I found some working solutions, but there was always something missing. Either the CSS styles were loaded on every page or you had to define the ids of the pages, on which the assets of the plugin had to be loaded.

Kategorien
Reisen

Kurzurlaub Antwerpen

Ein Wochenende mit sechs Männern in der belgischen Hauptstadt der Diamanten – Antwerpen. Die Stadt am Ufer der Schelde, steht bei so manchem nicht unbedingt an erster Stelle, wenn es um eine Reise nach Belgien geht. Viele denken an Brüssel oder das malerische Brügge. Ein Grund mehr, der Stadt mit dem zweitgrößten Seehafen Europas einen Besuch abzustatten.

Parken

Da wir mit dem Auto angereist sind, brauchten wir einen bezahlbaren Parkplatz. Am Bahnhof von Antwerpen (Van Immerseelstraat 38, 2018 Antwerpen) gibt es eine Tiefgarage mit angemessenen Preisen. Es besteht auch die Möglichkeit, ein Auto über mehr als 24 Stunden mit Tagestickets zu parken. Ein Tagesticket kostet mittlerweile 20,- aber es kann mit der PCard+ auf 14,- gesenkt werden. Diese Karte muss allerdings im Vorfeld bestellt werden. Alles dazu auf dieser Webseite.

Die Unterkunft

Wie so häufig auf unseren Wochenendreisen nutzten wir auch dieses Mal das reichhaltige Angebot von Airbnb. Unsere Wahl fiel auf eine wunderbare voll ausgestattete Wohnung südlich des „Stadspark“. Hier geht es zur gemieteten Wohnung. Die Wohnung ist für bis zu 8 Personen ausgelegt und verfügt über mehrere Schlafzimmer. Insgesamt kann man die Wohnung und ihre Ausstattung als sehr gehoben ansehen. Wir haben uns sehr wohl gefühlt, da es an wirklich nichts gefehlt hat.

Kategorien
Allgemein Development

MySQL – root Login nicht (mehr) möglich

Nach der erfolgreichen Installation eines MySQL Servers kann es vorkommen, dass der Login als Benutzer „root“ ausschließlich über die Shell möglich ist. Selbst, wenn vermeintlich per „mysql_secure_installation“ ein Passwort gesetzt wurde. Grund dafür ist das Authentication Plugin „auth_socket“, das per Default für den Benutzer „root“ eingestellt ist. Dieses erwartet keinerlei Passwörter beim Login, ermöglicht diesen aber nur über die Shell.

Wenn man sich allerdings per Adminer, phpMyAdmin etc. klassisch mit einem Passwort anmelden will, gibt es hierfür zwei Lösungsansätze.

Kategorien
Development

Composer Update Error – Symfony 3.4 LTS

Heute stieß ich bei einem Symfony 3.4 Projekt auf ein Update Problem mit dem Composer. Die Fehlermeldung war wie folgt:

[ErrorException]
Declaration of Symfony\Flex\ParallelDownloader::getRemoteContents($originUrl, $fileUrl, $context) should be compatible with Composer\Util\RemoteFilesystem::getRemoteContents($originUrl, $fileUrl, $context, ?array &$responseHeaders = NULL)

Nach einer kurzen Recherche zu dem Thema bin ich auf den Issue #406 im Flex Projekt von Symfony gestoßen. Hier geht es genau um die Problematik. Die Lösung ist relativ einfach. Bevor „composer update“ wieder funktioniert, muss zunächst das Symfony Flex Paket aktualisiert werden – und zwar ohne weitere Plugins oder das Ausführen von weiteren Befehlen.

composer update symfony/flex --no-plugins --no-scripts

Anschließend konnte ich wieder wie gewohnt Composer verwenden.

Kategorien
Development WWW

AWS EC2 Hostname nach Neustart behalten

Wenn man zum Beispiel auf einer Ubuntu EC2 Instanz den Hostname geändert hat, kann es sehr wahrscheinlich sein, dass nach einem Neustart der Instanz wieder der ursprüngliche Hostname verwendet wird. Um dieses Verhalten zu unterbinden, gibt es eine einfach Lösung.

/etc/cloud/cloud.cfg.d/

In diesem Verzeichnis muss eine neue Datei mit dem Namen „99_hostname.cfg“ erstellt werden. Der Inhalt ist relativ simpel. Es reicht lediglich eine Zeile aus um der Instanz mitzuteilen, dass die vorhandene (eigene) Konfiguration des Hostname beibehalten werden soll:

preserve_hostname: true

Kategorien
Allgemein Development Technik WWW

AWS hostalive mit Icinga ohne Ping, aber mit check_tcp

Um einen Host bei Amazon Web Services per Icinga zu überwachen, kann man leider nicht auf den normalen „hostalive“ von Icinga zurückgreifen. Dieser „pingt“ den Server regelmäßig an und meldet sich entsprechend, wenn der Server nicht erwartungsgemäß antwortet.

Auf Amazon EC2 oder auch Lightsail Servern werden Ping-Anfragen erstmal grundsätzlich aus Sicherheitsgründen geblockt. Auf EC2 Servern lassen sich die sogenannten ECHO-Requests (ICMP Requests) zum Glück freischalten –  auf den Lightsail Servern geht das leider nicht.

Um dennoch die Erreichbarkeit überprüfen zu können, kann man bei Icinga anstatt der standardmäßig eingestellten „hostalive“ Abfrage auch einen eigenen Check verwenden, der z.B. die Erreichbarkeit des Hosts per TCP/IP auf einem bestimmten Port (z.B. 80 – WWW) testet.

Kategorien
Allgemein Development WWW

Icinga Ping-Check deaktivieren

Um den Ping-Test in einem Icinga Host zu deaktivieren, muss eine kleine Anpassung in der „services.conf“ vorgenommen werden, die wiederum dazu führt, dass man in einem Host den Ping-Check deaktivieren kann.

services.conf anpassen

apply Service "ping4" {
    import "generic-service"

    check_command = "ping4"

    ignore where host.vars.ping == "no"
    assign where host.address
}

apply Service "ping6" {
    import "generic-service"

    check_command = "ping6"

    ignore where host.vars.ping == "no"
    assign where host.address6
}

Wichtig ist hier die jeweils die Zeile:

ignore where host.vars.ping == "no"

Damit erreicht man, dass in einem Host, das die Variable vars.ping = „no“ definiert, kein Ping-Check durchgeführt wird.

Kategorien
Allgemein Technik

SSH Keys – Windows Subsystem for Linux

Um bereits vorhandene SSH-Keys eines Windows Host-Systems in einer WSL Instanz nutzen zu können, reicht es aus, den Private und Public Key vom Host-System in das Home-Verzeichnis des WSL Benutzers zu kopieren.

Dies geschieht mit dem folgenden Befehl (angenommen das Benutzer-Verzeichnis liegt unter C:\Users\USERNAME):

cp /mnt/c/Users/USERNAME/.ssh/{id_rsa,id_rsa.pub} ~/.ssh/ && chmod 600 ~/.ssh/id_rsa

Anschließend steht der Key wie gewohnt der WSL Instanz zur Verfügung.

Kategorien
Technik

Ticwatch S & E

Mobvoi, dem ein oder anderen ist das Unternehmen ein Begriff, aber die meisten dürften es nicht auf Anhieb kennen. Das Unternehmen wurde 2012 von Ex-Google Mitarbeitern gegründet und hat mittlerweile über 400 Mitarbeiter mit Hauptsitz in Peking. Zu den Kernkompetenzen des Unternehmens zählen KI-Technologien und wie diese die Mensch-Maschine-Interaktionen verbessern können. Darüber hinaus entwickelt Mobvoi aber auch Geräte für Endkunden wie die Ticwatch (Smartwatch, mittlerweile in der 3. Generation) oder den TicHome Mini (smarter Lautsprecher).

Die neuste Version der Ticwatch heißt nicht etwa Ticwatch 3 sondern hört auf die Namen Ticwatch S (Sport) sowie Ticwatch E (Express), da es zwei unterschiedliche Modelle sind. Die S Variante legt den Fokus auf sportliche Aktivitäten und hat zu dem auch noch GPS-Antennen im Armband verbaut während die Ticwatch S eher als Smartwatch für den Alltag bezeichnet werden kann.

Finanziert wurden beide Uhren über eine Kickstarter Kampagne, die am 18.08.2017 endete. Ich bin einer der letzten Unterstützer gewesen, da ich erst kurz vor Ende der Kampagne auf die Uhren aufmerksam geworden bin.

Seit dem die Kampagne beendet ist, informiert Mobvoi regelmäßig alle Unterstützer über die aktuellen Geschehnisse rund um die Produktion und die Entwicklung der Software (die Uhr basiert auf Android Wear 2).

Genau 3 Monate nach dem Ende der Kampagne, sollen die ersten Uhren bei den Unterstützern ankommen. Bei Facebook kursieren schon erste Fotos von Uhren, die bei Unterstützern angekommen sind. Mobvoi hat bereits eine Seite eingerichtet, über die man den Status seiner Bestellung abfragen kann. Leider habe ich noch keine Trackingnummer, aber das sollte sich spätestens in den nächsten Tagen ändern.