Sailfish OS bestellt

Endlich Urlaub und Zeit für etwas neues: ich habe heute das mobile Betriebssystem Sailfish OS von der finischen Firma Jolla bestellt. Genauer gesagt ist es Sailfish X, welches speziell für das Sony Xperia X Smartphone angepasst wurde. Weshalb ich auch seit zwei Wochen ein Xperia X besitze. Nach vielen Jahren mit Geräten mit Nokias Symbian (E5 und E7) und Lumia Windows (900 und 735), wird wieder ein Systemwechsel nötig.

Der Bestellprozess auf Jollas Web-Shop ist sehr einfach und das Bezahlen ist mit Kreditkarte, Paypal und Giropay möglich. Nach der Bestellung erhält man eine E-Mail mit dem Download und der Installationsanleitung.

Vor der endgültigen Bestellung wird man nochmal darauf hingewiesen, das Sailfish X (noch) nicht komplett ist, d.h. Bluetooth, NFC, Schrittzähler und Kompass noch nicht unterstützt werden. Auch der Fingerabdruckscanner vom Xperia X wird nicht unterstützt. Es sollte also klar sein, das wir es hier (noch) mit einem System für experimentierfreudige Technikfans haben. Das schreibt auch Jolla deutlich auf ihrer Webseite.

Wichtig: nur das Sony Xperia X mit der Modellnr. F5121 wird unterstützt!

Für den Kaufpreis von 49 EUR erhält man neben Sailfish OS, ein MS-Exchange-Modul, intelligente Tastatur, Android-Kompatibilität, Software-Updates bis Oktober 2018 und Benutzerunterstützung von Jolla für ein Jahr.

Wie die Installation ablaufen wird, wie sich Sailfish X in der Anwendung macht und wie man dafür Software entwickeln kann, werde ich die nächsten Tage und Wochen hier berichten.

Mercurial und HTTPS: certificate verify failed

Heute wollte ich ein neues Repository auf Sourceforge klonen und pushen, per HTTPS. Das Kommando sah in etwa so aus:

hg clone https://amin@hg.code.sf.net/project

Leider gabs eine schlechte Rückmeldung:

Abbruch: Fehler: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

Was ist passiert? Der Mercurial-Server lässt verständlicherweise nur verschlüsselte Verbindungen zu. Und der Hg-Client soll auch nur mit vertrauenswürdigen Servern kommunizieren. Dafür ist ein kryptisches Zertifikat nötig. Anscheinend hat die Hg-Installation (entgegen der Anleitung) keine Python-Zertifikatedatei dabei, obwohl Mercurial ein Python-Programm ist. Ich konnte jedenfalls keine cacert.pem finden. Da ich aber noch eine separate Python-Installation habe, konnte ich auf diese Verweisen. Dazu muss man in der globalen Mercurial-Konfiguration diese Datei einmal angeben:

; in der %USERPROFILE%\Mercurial.ini
[web]
cacerts=C:\Python27\Lib\site-packages\pip\_vendor\requests\cacert.pem

Es muss übrigens nicht diese Cacerts-Datei sein, man kann auch eine Datei aus einem Webbrowser exportieren. Diese kann auch auf *.crt enden und man kann mehrere Zertifikate in einer Datei hinter einander anfügen.

 

Java – for-each rettet einen

Heute sollte ich einen Fehler im fremden Code heraus finden. Das Java-Programm warf folgende Exception aus:

java.util.ConcurrentModificationException

Tja, es wurde auf jeden Fall von einer ArrayList-Collection geworfen. Meine erste Vermutung war, das zwei Threads auf dieser ArrayList schreiben. Also auf den thread-sicheren Vector umsteigen? Hat aber nichts geholfen.

Weiterlesen

C++17 ist komplett

Laut Herbe Sutter (dem Vorsitzenden des ISO-C++-Komitees) ist C++ 17 technisch komplett. Es wurde noch in letzter Minute der Typ std::byte aufgenommen, der das Arbeiten mit 8-Bit-Daten erleichtert. Denn unsigned char ist nicht so einfach zu schreiben und zu lesen.

Jetzt muss noch C++17 für die ISO fertig formuliert werden. Wie der Name sagt, soll die neue C++-Norm noch dieses Jahr offiziell werden.

Quelle: Trip report: Winter ISO C++ standards meeting (Kona), C++17 is complete | Sutter’s Mill