Probleme mit dem Xamarin Studio und abgelaufenen Triallizenzen

Vor einiger Zeit hatte ich die Xamarin.iOS-Trial-Lizenz des Xamarin Studio ausprobiert. Als diese abgelaufen war, fragte mich das Xamarin Studio ob ich die Lizenz verlängern oder mit der Starter-Edition fortfahren möchte. Ich entschied mich für die Starter-Edtion. Allerdings gibt es ein Problem. Xamarin Studio fragt nun bei jedem Start nach der gewünschten Option – was nicht nur nervig ist, sondern auch ein Fehler im Studio darstellt.

Das Lizenz-Pop-Up

Das Lizenz-Pop-Up

Als schnellen Workaaround kann der Account vom Xamarin Studio getrennt werden, allerdings ist das nicht die optimale Lösung. Stattdessen sollte man den Support kontaktieren und die Trial-Version aus dem Account entfernen lassen. Danach gehört das Problem der Vergangenheit an.

HTTPS für Gogs aktivieren

Nach der Installation von Gogs läuft dieses standardmäßig über unverschlüsseltes HTTP. Um dies zu ändern muss die app.ini welche sich im Verzeichnis gogs/custom/conf/ befindet bearbeitet werden:

nano app.ini

In der Sektion Server welche für gewöhnlich so aussieht:

[server]
DOMAIN = example.org
HTTP_PORT = 3000
ROOT_URL = http://example.org:300/
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false

müssen einige Änderungen vorgenommen werden. Die Schlüssel PROTOCOL, CERT_FILE und KEY_FILE werden hinzugefügt und die ROOT_URL angepasst. Danach sollte die Server-Sektion in etwa so aussehen:

[server]
DOMAIN = example.org
HTTP_PORT = 3000
PROTOCOL = https
ROOT_URL = https://example.org:300/
CERT_FILE = custom/https/cert.pem
KEY_FILE = custom/https/key.pem
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false

Nachdem die Konfiguration gespeichert wurde muss das passende Zertifikat erzeugt werden:

cd custom
mkdir https
cd https
./gogs cert -ca=true -duration=8760h0m0s -host=example.org

Damit ist Gogs nach einem Neustart des Service per HTTPS und damit verschlüsselt erreichbar.

NaN und Infinity in GLSL definieren

In der OpenGL Shading Language (kurz GLSL) gibt es Funktionen um Zahlen auf Infinity und NaN zu prüfen. Diese Funktionen sind dabei isinf und isnan. Problematisch wird es wenn man NaN oder Infinity im Quelltext selbst benötigt, da es für diese in GLSL keine vordefinierten Konstanten gibt. Stattdessen muss man diese selbst definieren:

const float infinity = 1.0 / 0.0;
const float nan = 0.0 / 0.0;

Damit kann man NaN und Infinity in seinen Shadern nutzen.

Fehlersuche mit „git bisect“

In größeren Projekten arbeiten meist mehrere Entwickler an einem Git-Repository. Und wie es bei der Software-Entwicklung nun einmal ist kommt es ab und an zu Fehlern. Bei einer komplexen Versionshistorie ist es allerdings schwierig den Ursprungscommit eines Fehlers zu finden. An dieser Stelle hilft das Git-Kommando bisect weiter. Zum Start muss Git mitgeteilt werden welcher der letzte (aus Sicht des Entwicklers) korrekt funktionierende und der erste fehlerhafte Commit ist. Dies geschieht im Terminal auf dem Repository mittels:

git bisect start
git bisect good <hash>
git bisect bad <hash>

Danach checkt bisect einen Commit aus. Dieser Commit muss nun auf den gesuchten Fehler überprüft werden. Ist der Fehler weiterhin vorhanden, so teilen wir dies Git mittels:

git bisect bad

mit. Ist der Fehler nicht mehr vorhanden, so teilen wir Git dies ebenfalls mit:

git bisect good

Dieser Prozess wird dabei so lange durchlaufen bis Git uns am Ende des Prozesses mitteilt, in welchem Commit der Fehler seinen Ursprung hat. Danach können wir uns den Commit notieren und bisect mittels:

git bisect reset

mitteilen das der Prozess zu einem Ergebnis geführt hat. Dadurch wird das Repository in seinen Ursprungszustand versetzt.

Schriftart für Quelltext

Für die Darstellung von Quelltext werden in den meisten Fällen eine Monospace-Schriftart genutzt. Das bedeutet das jedes Zeichen genau die gleiche Breite besitzt – dies wirkt sich positiv auf die Lesbarkeit des Quelltextes aus. Mit Hack 2.0 wurde vor einigen Tagen eine freie Monospace-Schriftart vorgestellt, welche sich besonders an Entwickler richtet. Die Schriftart liegt dabei in unterschiedlichsten Fontformaten (OTF, TTF, SVG, EOT, WOFF, WOFF2) vor.

Die Schriftart eignet sich besonders gut zur Darstellung von Quelltext

Die Schriftart eignet sich besonders gut zur Darstellung von Quelltext

Bezogen werden kann die Schriftart über die offizielle Seite es Projektes – die Quelldaten sind auf GitHub zu finden. Lizenziert ist der Font unter der Hack Open Font License und der Bitstream Vera License.