Kategorie-Archiv: Allgemein

Kinder: Entwickler und Bug (hochauflösend)

Durch diesen Tweet veranlasst:

habe ich das Bild in einer höheren Auflösung neu gemacht. Es basiert auf einer Werbung der Firma „Solid“.

Das Bild ist auch in Englisch verfügbar – nutzt den Sprachwechseler.

mutig.svg
brave

Kartenspiel: Injera be Wot (Injera mit Wot)

ab zwei Spieler

Injera ist das traditionelle Äthiopische Fladenbrot welches mit verschiedensten Soßen (Wot) gegessen wird. Es wird ein Stück Injera abgerissen und die Wot damit aufgenommen und gegessen.

IMG_20160123_100835

Vorbereitung:

Ein Kartenspiel ohne Joker wird lose im Kreis auf dem Tisch mit den Rückseiten nach oben ausgebreitet.

Der jüngste Spieler beginnt, deckt eine Karte auf und legt diese in die Mitte des Kreises.

Reihum wird nun jeweils eine Karte des Kreises aufgedeckt.
Falls der Kartenwert (entsprechende Zahl, Bube, Dame, König, Ass) übereinstimmt, dann darf die Karte mit der aufgedeckten aufgenommen werden und landet auf dem Stapel des Spielers.
In diesem Fall ist der Spieler erneut an der Reihe.
Falls die aufgedeckte Karte mit der obersten eines Stapel eines Mitspielers überein stimmt, dürfen die entsprechenden gleichen Karten stibizt werden.

IMG_20160123_102229

Sonderregel: Falls die Summe der Werte von zwei oder mehreren Karten auf dem Tisch mit dem Wert der gezogenden Karte überein stimmt, dürfen die entsprechenden Karten aufgenommen werden. (Ass = 1, Bube, Dame, König haben hier keinen Wert).

Das Spiel ist zuende, falls alle zugedeckten Karten aufgebraucht sind. Der Spieler welche die letzte Karte aufdeckt, bekommt alle restlichen auf dem Tisch.

Gewonnen hat der Spieler mit den meisten Karten.

Neues Textsecure-Browser Build

Neuer Build.

Das Design hat sich stark geändert und ich habe einen neuen Patch für die Timestamps-Update-Problematik entwickelt. Mal sehen ob dieser gemergt wird.

Hier der Download: textsecure-dist-2015-10-24

Neuer TextSecure-Browser Build

Es gab ein paar Commits vom TextSecure-Browser-Plugin (siehe auch alter Blogeintrag)  auf GitHub.

Ich habe diese mit meinem Fix für die Absender-Zeiten gemergt und ein neues Paket geschnürt.

Die Änderung die direkt auffällt ist, dass jetzt auch die Unterhaltungen im Hauptfenster sind (evtl. muss man es etwas breiter ziehen).

Hinweis: Das ist immernoch eine Entwicklungsversion. Eigentlich wird davon abgeraten sie auf den normalen Servern und für den täglichen gebrauch zu nutzen. Aber ich denke mir: Beta Testen macht Spaß.

Wenn du Bugs findest, denke dran sie auf der der GitHub Seite zu melden oder sie am besten sogar zu fixen.

Also: Ihr wurdet gewarnt – Download gibt es hier: textsecure-dist-2015-08-29

Endlich: Sicheres Chatten auf Smartphone und Computer – Signal (vorher TextSecure) auf dem Desktop (HowTo)

*Aktualisiert am 07.11.2015*

Kurzfassung

TextSecure funktioniert bereits jetzt ziemlich gut auf dem Handy und dem Desktop – und zwar mit synchronisierter History. Man sollte allerdings Entwickler sein. Mit dem folgenden Abschnitt geht es auch ohne.

Alles auf eigene Gefahr!

Schnellinstallation

Wenn du mir vertraust, installiere einfach die vorkompilierte, neuste Version der  TextSecure Android App auf deinem Smartphone und das  TextSecure Browser Chrome Plugin in deinem Webbrowser. Da beides nicht signiert ist, musst du die Installation aus unsicheren Quellen erlauben. Starte dann die App und registriere dich (dies generiert den Key). Als nächstes starte das Browser-Plugin und scanne den QR Code.

Einführung

Ich bin schon seit einiger Zeit auf der Suche nach einer verschlüsselten Chat-Lösung für mein Smartphone und den PC. Es sollte einfach zu bedienen sein. Und eben verschlüsselt. Außerdem sollte die Chat-History zwischen den Geräten synchronisiert werden.

Meine Hoffnung war, dass es endlich ein Jabber Client für das Smartphone gibt, welcher z.B. mit OTR verschlüsslet und die Nachrichten auf dem Server archivieren kann. Mit OTR wird das wahrscheinlich nie klappen können, weil OTR keine Offline-Fähigkeiten hat. Es gab Standardisierungsbemühungen, aber diese wurden scheinbar nicht weiter verfolgt.

TextSecure

Ein Freund zeigte mir TextSecure von WhisperSystems. Es ist kostenlos und Open Source. Es funktioniert es sehr gut auf dem Smartphone (Android und iOS) und ist dabei ähnlich wie WhatsApp: Es nutzt Eure Telefonnummer zur Identifikation, so ist es einfach sich mit den Handy-Kontakten zu verbinden. Das einzige Problem: Es gibt keine fertige Desktop-Chat Anwendung.

Eintauchen ins Entwicklerleben

Aber: Die Entwicklung für das Google Chrome Plugin Textsecure im Browser ist im vollen Gange. In der Readme steht, man sollte es (noch) nicht als Anwender nutzen, aber ich hab’s trotzdem gemacht. Ganz einfach ist es aber nicht:

Installationsanleitung

Vereinfacht gesagt benötigst du nur die letzte Entwickler-Version der App (nicht jene vom App Store) und musst das Browser Plugin anpassen, so dass es den Live-Server von TextSecure nutzt anstatt dem isolierten Entwickler-Server.

 HEAD Version der App

  1. Lade Android Studio herunter
  2. Klone das GIT https://github.com/WhisperSystems/TextSecure in Android Studio
  3. Wähle „Build Variant = dev“
  4. Entferne die Originalversion von TextSecure von deinem SmartPhone
  5. Aktiviere Android Debugging auf dem Handy
  6. Verbinde das Handy mit dem PC
  7. Starte die App via Android Studio auf dem Handy (damit wird die App auch installiert)

ist nicht mehr nötig. Die Version aus Google Play funktioniert auch.

TextSecure Browser Plugin installieren

  1. Klone the GIT https://github.com/WhisperSystems/TextSecure-Browser
  2. Ändere die Server Adresse vom Staging auf der Live System (mit einem Text Editor oder sed)
    sed -i s/textsecure-service-staging/textsecure-service/ Gruntfile.js
    sed -i s/textsecure-service-staging/textsecure-service/ js/background.js
    sed -i s/textsecure-service-staging/textsecure-service/ js/libtextsecure.js
    sed -i s/textsecure-service-staging/textsecure-service/ libtextsecure/api.js
  3. Installiere Grunt und rufe grund copy auf
  4. Installiere das Plugin im Browser wie in der Entwickler-Readme beschrieben.
    Die wichtigen Schritte sind:

    1. Öffne https://textsecure-service.whispersystems.org/ und aktzeptiere das selbstsignierte Zertifikat.
    2. Öffne chrome://extensions/
    3. Aktiviere den Entwicklermodus  (Checkbox oben rechts)
    4. Klicke „Ungepackte Erweiterung laden…“
    5. Öffne den Unterordner „dist“ des TextSecure-Browser Ordners
  5. Führe das Plugin aus
  6. Du solltest jetzt einen QR code zum Pairing mit dem Handy sehen. Scanne diesen mit einer QR Code app und folge dem Link (wenn der QR Code nicht angezeigt wird, hat das o.g. mit dem SSL Zertifikat nicht geklappt). Hinweis: Die QR Code App muss den Link tsdevice:/ als Link öffnen. QR Droid funktioniert hier nicht. „Barcode Scanner“ funktioniert. Bitte auch nicht mit der QR Scan Funktion aus der Signal App verwechseln.

Das war’s.

Meine Tests

  1. Schreibe etwas auf dem Handy: erscheint auf dem Desktop
  2. Gehe offline (Flugzeugmodus) auf dem Handy und auf dem Desktop (Browser Plugin ausschalten). Schreibe etwas auf dem Handy. Gehe Online: Es erscheint auf dem Desktop.

Viel Spaß beim verschlüsselten Chatten!

Einfacher Wildcard DNS für *.local z.B. zur Webentwicklung unter Ubuntu

Als Webentwickler hat man oft einen lokalen Webserver verwenden. Dort richtet man sich dann für jedes Projekt einen eigenen VHost ein. Nun muss man noch eine Domain wie z.B. meinkunde.local mit der IP 127.0.0.1 verknüpfen. Das geschieht in der /etc/hosts Datei.

Möchte man sich den Eintrag in der /etc/hosts Datei sparen, so kann man einfach einen Wildcard Eintrag unter Ubuntu eintragen.

Das funktioniert, weil aktuelle Ubuntu Versionen den Network Manager verwenden, welcher wiederum einen lokalen DNS Server namens dnsmasq startet.

  1. Lege eine Datei /etc/NetworkManager/dnsmasq.d an mit dem Inhalt:
    address=/.local/127.0.0.1
  2. Starte den Network manager neu:
    service network-manager restart
  3. Kontrolliere z.B. mit
    # host foobar.local
    foobar.local has address 127.0.0.1

Felder von „Persönliche Daten“ im Contao Backend anpassen

Ich habe mich gefragt, wie man die angezeigten Felder, welche der Benutzer durch Klicken auf „Benutzer Mustermann“ im Backend bearbeiten kann, anpassen kann.

persoenliche-daten

Es ist recht einfach.

Man erzeuge ein neues Modul (oder benutzt ein bereits vorhandenes wie z.B.  mycompany_mycustomerlocal). Nun fügt man unter dca/tl_user.php die folgende Plattendefinition hinzu:

$GLOBALS['TL_DCA']['tl_user']['palettes']['login'] = '{name_legend},username,'    . 'name,email;{password_legend},password';

Das war’s.

Ich habe dies im Code an folgender Stelle herausgefunden: system/modules/core/modules/ModuleUser.php:52

OpenStreetMap: Abmalen verboten.

Es ist in OpenStreetMap manchmal verwunderlich wie sehr darauf geachtet wird, dass nicht von anderen Karten kopiert wird. Beispielsweise gibt es entsprechende Hinweise in den Editoren und im Wiki.

Verschiedene mit GIS (aber eher nicht mit OpenStreetMap) involvierte Personen haben mir in der Vergangenheit allerdings eher den Eindruck vermittelt, dass in der Kartenherstellungsindustrie doch eigentlich sehr wohl sehr viel kopiert wird.

Auch Google Maps scheint durchaus andere Karten als Grundlage zu verwenden, ohne diese dann zu nennen. Immerhin besitzt Google eigene Satelliten Bilder um diese Daten anzureichern und sich zu eigen zu machen.

Mir ist heute ein schönes Beispiel untergekommen, wie sehr die OSM Community darauf bedacht ist, dass keine Daten kopiert werden.

So wurde 2008 quasi ganz Litauen aus OSM gelöscht, weile einige (viele) Benutzer von Google / TeleAtlas abgemalt haben. Es scheint hier allerdings keine Beschwerde von außen (z.B. Google / TeleAtlas) gegeben zu haben, sondern die Nachforschungen wurden von einem OSM Mitglied initiiert.

Bemerkenswert ist aber auch die Anzahl der mutmaßlich beteiligten Benutzer – ob es da eine „von Google Abmalen“-Mappingparty gab?

Schafige Weihnachten

Unser Vermieter hat sein Weihnachtschaf bei uns im Garten abgestellt.

Komisches Tier – starrt einen ständig ganz komisch an.

In diesem Sinne: Melkam Genna! (Frohe Äthiopische Weihnachten!)

Schaf vom Vermieter