Mein Praktikum
So, nachdem ich nun schon anderthalb Wochen mein Praktikum mache und fleißig mit der Androidentwicklung beschäftigt bin, möchte ich mal ein paar Bilder von meiner Arbeitsumgebung posten.
Die beiden Bilder sollten einen Eindruck vom Raum geben. Da wo mein Laptop (mit der Wolfspfote als Hintergrundbild) steht, ist mein Arbeitsplatz. Der Rechner rechts daneben gehört auch dazu.
Hier sieht man mein Lieblingsspielzeug #1. Und auch das einzige. Ja, ich darf an einem Galaxy Tab entwickeln. Macht auch wesentlich mehr Spaß als aufm Smartphone.
Leider wird gerade die Tür des Labors umgebaut. Dementsprechend sind wir (auch die anderen HiWis und Praktikanten) im allgemeinen PC-Pool. Hier mal eine Übersicht:
Ja, ein wenig trister. Die Hardware ist auch asbach-uralt. Irgendwo stand hier ein "Videoschnitt-PC" mit ganzen 1 GB SD-RAM und 40 GB HDD rum. Der Hammer. Dafür sind diese Steckdosentürme zwischen den Tischen echt cool.
Und so sieht mein temporärer Arbeitsplatz aus, bis die Tür im Labor wieder nutzbar ist. Etwas gutes hat das ganze dann doch. Ich darf während dessen (und theoretisch wahrscheinlich auch wenn das nicht so wäre) das Tab mit nach Hause nehmen.
Wobei das auch nur bedingt "gut" ist. Im Endeffekt bringt es mir zuhause fast nix. Ich könnte mal, wenn mir danach ist, mich nur auf die Couch schmeißen und ein wenig surfen, aber in der Regel hab ich dafür den PC.
Außerdem soll ich das Tab bestimmt nur geringst möglich vom Auslieferungszustand entfernen. Dementsprechend kann ich es mir darauf auch nicht gemütlich machen.
Was lustig wäre: Minecraft auf Android portieren. Keine Ahnung wie aufwendig das wäre. Es nutzt irgendwelche OpenGL-Bibliotheken die erstmal für ne ARM-Architektur verfügbar sein müssen. Ansonsten ist das ja auch nur Java.
Login per Smartphone mit QR-Code + Public-Key Cryptography
Der eigentliche Gedanke dahinter ist schon etwas älter und ich hab schon öfter drüber nachgedacht. Meine ursprüngliche Idee war es mit einem asymmetrischen Verfahren per Bluetooth ein Login an einem PC vorzunehmen.
Allerdings hat es da fast immer ein Problem mit der Authentifizierung des PCs, an dem man sich anmelden möchte, gegeben. Es muss einen einfachen und schnellen Weg geben, mit dem Handy den PC zu identifizieren.
Ich denke mit QR-Codes dürfte das schnell und einfach gehen. Die Sequenz des Einloggens sähe dann wie folgt aus:
- Der PC generiert einen zufälligen Wert sicherer Länge. Dieser Wert wird dann mit einer Names-ID (bei Bluetooth) oder einer IP (bei WLAN) in einem QR-Code kodiert. Dieser Code ist auf dem Login-Bildschirm zu sehen.
- Der Nutzer kommt zum PC, startet auf seinem Smartphone sein Login-App und scannt damit den QR-Code. Das Handy entnimmt die "Kontaktinformationen", stellt eine Verbindung her (muss dabei nicht einmal verschlüsselt sein) und signiert mit dem privaten Schlüssel des Nutzers diesen zufällig vom PC generierten Code. Dann wird dieser signierte Text an den PC übermittelt. Das Zertifikat für den Schlüssel muss natürlich von einer speziellen CA (wie z.B. der Uni) ausgestellt sein.
- Anhand der Signatur erkennt der PC, welcher Nutzer sich da anmeldet und die Authentizität des Nutzers ist hergestellt. Anhand des Wertes der signiert wurde erkennt der PC, dass auch wirklich dieser PC gemeint ist. Außerdem wird dieser Wert nach jedem Login neu zufällig erzeugt. Damit ist er nur einmal gültig und das Login kann nicht dupliziert werden. Wenn alles stimmt, wird der Besitzer des Zertifikates eingeloggt.
Wenn die Authentizität des PCs sichergestellt werden muss, kann beim Verbindungsaufbau in Schritt 2 der PC den Wert auch nocheinmal mit einem speziellen, nur von offiziellen PCs genutzten Zertifikat signieren. Dann muss dieses Zertifikat dem Handy jedoch vorher bekannt sein, was nicht wirklich schwer wäre.
Ich hab das ganze jetzt noch nicht verifiziert; noch nicht einmal richtig durchdacht. Das ist mir nur gerade noch so eingefallen und ich wollts schnell runterschreiben, bevor ich es wieder vergesse. Auf Anhieb hört es sich jedoch recht gut an. Das wäre sogar mal ein interessantes neues Hobby-Projekt. Meinungen?
Update: Ich sollte vielleicht noch dazu schreiben, dass das vom Umfeld her auf die öffentlich verfügbaren Terminals in den Pools der Uni gerichtet ist. Also nicht wie im Büro, wo man seinen eigenen Rechner hat. Da bräuchte man ja nicht so viel mit der Identifikation rumhantieren.
Das Ziel des ganzen soll halt vor Allem sein, Passwörter abzuschaffen und durch wesentlich sichere Verfahren (basierend auf Public-Key Cryptography) zu ersetzen ohne neue Hardware (z.B. Smart Cards, Smart Card Reader), sondern nur neue Software einzusetzen.
Zugegebener Maßen basieren meine Überlegungen auf Smartphones. Ich weiß nicht wie gut das ganze mit älteren Handys umzusetzen wäre.
League of Legends – Komplettes Spiel (35 Minuten)
Mir ist grad aufgefallen, dass ich noch gar nicht wie damals angekündigt, das komplette LoL-Spiel gepostet habe. Das hat hier immernoch als Draft rumgelegen. Nunja, hier ist es nun.
Übrigens, wenn jemand Lust hat LoL auszuprobieren, nutzt bitte diesen Link zum Erstellen eines Accounts: http://signup.leagueoflegends.com/?ref=4b52ee6e60b49
Dadurch bekomm ich Referrals, was mir unter Umständen sogar mal einen kleinen Bonus einbringen kann, sofern derjenige auf Level 5 spielt.
So, hier nun das Video in seinen drei Teilen auf Youtube:
Ansonsten noch einen guten Rutsch ins neue Jahr. Nur noch wenige Minuten, bis wir im Jahr 2011 angekommen sind.
Coding Fonts
Ich hab mich vor ein paar Tagen mal schlau gemacht, was man so für Fonts zum Proggn nehmen könnte. Unter Windows ist ja Courier New Standard. Ich weiß grad gar nicht was genau in den Linux-Editoren und Eclipse verwendet wird; wahrscheinlich einfaches Monospace.
Unter Mac wird diese Schriftart mit den lustigen komplett runden Klammern verwendet. Nach ein wenig Recherche scheint der Monaco zu heißen. Es gibt wohl auch einige neuere Varianten, die sehr ähnlich sind.
Diese runden Klammern sahen zwar auf Anhieb ein wenig merkwürdig aus, aber insgesamt hat mir das Font doch recht gut gefallen. Nach ein wenig suchen und finden, unter anderem hier, bin ich jetzt erstmal auf Consolas umgestiegen.
Wobei nicht immer Consolas. Auf meinem Fedora Laptop nehm ich Inconsolata. Das ist fast das gleiche, nur frei verfügbar in der Paketverwaltung von Fedora.
Außerdem werd ich auch noch die auf der Inconsolata-Website verlinkte Schriftart Inconsolata-dz ausprobieren. Die hat grade Anführungszeichen. Ich muss auch sagen, dass mich die gekrümten Anführungszeichen ein wenig gestört haben beim Proggn heute. Aber mal sehen, wie es sich entwickelt.
Ein weiterer Blick wäre wohl die Schriftart Droid-Sans-Mono wert.
RegexCoach unter Linux
Ich muss grad im Zusammenhang mit meiner Bachelorarbeit reguläre Ausdrücke verwenden um die richtigen Werte zu matchen.
In der Vergangenheit hat sich beim Entwickeln mit regulären Ausdrücken der Regex Coach als sehr gute Hilfe herausgestellt. Wer dieses Programm nicht kennt: man kann damit reguläre Ausdrücke ausprobieren indem man sie dort einträgt und einen Testtext hinzufügt. Im Testtext wird einem dann gezeigt, was davon gematcht wird, sodass man direkt das Verhalten des RegExp sehen kann.

Leider hat der Entwickler dieses sehr nützlichen Programms schon vor einiger Zeit die Entwicklung an der Linux-Version eingestellt. Ich weiß auch gar nicht, ob an der Windows-Version noch entwickelt wird. Leider ist es Closed-Source und damit nicht nach-bau-bar.
Wie dem auch sei, mit dieser Anleitung auf WineHQ funktioniert die Windows-Version mit Wine leicht unter Linux. Ich hab einfach die Windows-Version von der offiziellen Website geladen und mit Wine installiert. Dann ensteht ein Installationsordner unter drive_c. Da werden dann einfach die vier Dateien aus dem Unterverzeichnis dieses Archivs reinkopiert. Und schon startet der Regex Coach.
Bei mir sieht das dann so aus:
$ pwd /home/michael/.wine/drive_c/Program Files/The Regex Coach $ ls -lsah total 9.3M 4.0K drwxrwxr-x. 3 michael michael 4.0K Dec 22 16:27 . 4.0K drwxrwxr-x. 6 michael michael 4.0K Dec 22 15:38 .. 4.0K drwxrwxr-x. 2 michael michael 4.0K Dec 22 15:43 doc 4.0K -rw-rw-r--. 1 michael michael 522 Sep 22 2005 Microsoft.VC80.CRT.manifest 468K -rw-rw-r--. 1 michael michael 468K Sep 23 2005 msvcm80.dll 536K -rw-rw-r--. 1 michael michael 536K Sep 22 2005 msvcp80.dll 612K -rw-rw-r--. 1 michael michael 612K Sep 22 2005 msvcr80.dll 7.1M -rwxrwxr-x. 1 michael michael 7.1M Jan 2 2008 The Regex Coach.exe 8.0K -rw-rw-r--. 1 michael michael 4.6K Dec 22 15:43 unins000.dat 676K -rwxrwxr-x. 1 michael michael 676K Dec 22 15:43 unins000.exe
HTC Wildfire goes Android 2.2 (Froyo)
Endlich. Habs grad auf Golem.de gelesen. Eigentlich hatte ich dafür extra nen RSS-Feed von Android and Me aboniert, aber erstens haben die das grad noch nicht im Angebot und zweitens hab ich hier aufm Laptop noch keinen RSS-Reader installiert. Muss mir mal Brief drauf haun.
Der Download ist grad abgeschlossen und es läuft "Verifying package". Wir wollen ja keinen Schrott installieren. So, damit isser dann auch fertig und jetzt wird das Upgrade aufgespielt. Yay. Mal sehen was so passiert, wenn er dann fertig ist.
Ich würde ja auch noch nen Foto reinsetzen, aber irgendwie ist mein Smartphone gerade mit anderen Dingen beschäftigt.
Update: So, Upgrade komplett und scheint soweit gut zu funktionieren. Musste zwar mein Lock-Screen-Bild neu setzen, da das Upgrade das einfach überschrieben hat, aber ansonsten ist alles beim Alten. Gefühlt ist es schon ein wenig flüßiger, aber das kann auch Einbildung sein.
Ob es wirklich im alltäglichen Gebrauch besser zu bedienen ist mit 2.2 wird sich woghl erst in den nächsten Tagen herausstellen. Der hauptsächliche große Vorteil ist wohl, dass ich jetzt alle aktuellen Apps, inklusive der mit spezieller 2.2-Funktionalität, nutzen kann. Da jedoch gerade erst Gingerbread (2.3) raus gekommen ist, ist's wohl nur eine Frage der Zeit, bis es die ersten 2.3-only-Programme gibt.
Weihnachtseinkauf in Berlin
Ich war am heutigen (oder inzwischen gestrigen) Montag mit meiner Mutter in Berlin einkaufen. Auf dem Weg dahin haben wir uns auf Grund ungeräumter Straßen für die Bahn entschieden. Wenn man den Nachrichten glauben würde, wäre das ein riesiger Fehler gewesen.
Waffles
Yay, Waffeln.

Das mit der Gravitation haben die Dinger noch nicht so ganz verstanden... Oder die obere schale ist massiver als ich dachte.
Weisheitszähne…
Two down, one to go. Aber erstmal den Cooldown abwarten. Jetz muss erstmal der Betäubungs-Buff abklingen, dann fängt der DoT an Schmerzen zu verursachen. >.<
Update: Irgendwie haben die da was verplant. Nachdem ich jetzt wieder meine Zunge spüren kann, hab ich festgestellt, dass die mir nur unten links gezogen haben. Oben links sollte aber auch mit raus. Ich weiß gar nicht, warum die das nicht gemacht haben. Hab mir ja nur nen Termin für das Ziehen der zwei linken Weisheitszähne geholt. Naja, Freitag gibts nen Nachtermin, da kann ich dann mal fragen, was da schiefgegangen ist.
Mal wieder schreiben
Yay, ich bin mal wieder am Text fabrizieren... und nicht nur hier im Blog. Fang grad mein zweites Kapitel der Bachelorarbeit an und irgendwie will sich kein sinnvoller Text in meinem Kopf bilden.
Zum Glück gibt es ja Kile.

Leider hat man hier aber nicht den gleichen Service, wie unter Windows mit MikTeX, das Pakete automatisch nach lädt. D.h. ich müsste Pakete, die ich noch nicht hab, manuell nachinstallieren. Zum Beispiel todonotes. Einige meinten mal irgendwo, man kann die Dinger auch über die distributionseigene Paketverwaltung laden. Scheint entweder bei Fedora oder bei todonotes aber nicht zu funktionieren.
Dafür arbeitet Kile standardmäßig mit UTF-8, im Gegensatz zu TeXnicCenter für Windows, das zwar eine richtig gute IDE an sich ist, aber von Unicode noch nix gehört hat... obwohl das schon seit Jahren als Request bekannt ist. Vielleicht stell ich mich auch irgendwie blöd an, aber TeXnicCenter kommt nicht wirklich gut mit den von Kile in UTF-8 kodierten Dateien klar. Die sind in der Regel ohne BOM, aber selbst mit geht's nicht.


