Why I hate DRM

Februar 13th, 2014

Yesterday, I received the blu-ray “The World’s End”. I was looking forward to watch it, because I’m a huge fan of Edgar Wright, Simon Pegg and Nick Frost. So I fiddled it out of the wrapping, placed it in the blu-ray drive of my computer and tried to watch it. But it didn’t worked. I use Cyberlink PowerDVD 10 which was part of the driver CD for my blu-ray drive. It says I have to update the software to watch this particular Blu-Ray and offered to do so. A second later there was the confirmation. I tried again -and I was let down again. Same message box as before. After some time of googling I found my “solution“. It’ wasn’t a technical problem. Cyberlink just decided to stop delivering the key updates I need to watch newly released blu-rays. I have to buy the new Version for just 54,99€!

ARE FUCKING KIDDING ME?! I just bought this blu-ray! I bought an blu-ray drive for my computer! And now I should pay 55€ every two years to keep watching blu-rays?! For about 53€ I could buy a hardware blu-ray player with life-long updates. And for 63€ I get one with 3D-Support.

Do they want be to download movies from the internet? For about 15€ a month there  are VPN solutions to copy everything without getting caught. I need no special hardware, I can give the movies to all of my friends and I can watch it nearly every device I own. Oh, and the most important: I could get every movie I want for free!

I want to pay for movies I like because I think they deserve that money. And around 15€ per blu-ray is a good price. But with all the shit with DRM I’m not that sure about paying for my movies. To copy them from the internet is just more user friendly. And that makes me sad.

In Gedenken an Alan Turing

Februar 6th, 2012

Anlässlich dieser Entscheidung des House of Lords, möchte ich an Alan Turing erinnern; einen wahrhaft Großen der Informatik!
Alan Turing war homosexuell, was zu dieser Zeit in Großbritannien verboten war. 1952 wurde er wegen “grober Unzucht und sexueller Perversion” angeklagt und verurteilt. In Folge dessen musste er sich einer Hormontherapie unterziehen, in Folge derer er depressiv wurde und den Freitod wählte. Er verstarb im Alter von 41 Jahren.

Dieses Jahr hätte er seinen 100. Geburtstag gefeiert und 21.000 Personen unterzeichneten eine Petition um ihn posthumen zu begnadigen. Dieser Petition wurde nicht statt gegeben, mit der Argumentation: “Er musste wissen, dass sein Vergehen gegen das Gesetz war und dass er angeklagt werden würde”. Was mich persönlich wütend macht. Einerseits bewundere ich ihn für seine Leistungen und andererseits bin ich für die absolute Gleichstellung gleichgeschlechtlicher Beziehungen.

Alan Turing hat mit seiner Turingmaschine die Grundlage der theoretischen Informatik gelegt. Die Turingmaschine ist in der Lage “jedes vorstellbare mathematische Problem zu lösen, sofern dieses auch durch einen Algorithmus gelöst werden kann”. Weiter bewies es die Unzulänglichkeit der Mathematik an Hand des Halteproblems.

Im Zweiten Weltkrieg war Turing maßgeblich an der Entschlüsselung der Enigma beteiligt. Er fand Fehler im Algorithmus der Enigma, die es möglich machten, die Funksprüche National-Sozialistischen Regimes in Deutschland zu entschlüsseln. Allgemein wird angenommen, dass dies den Alliierten den Sieg im Zweiten Weltkrieg brachte.

Ebenfalls geht auf Turing der Turing-Test zurück. Mit diesem kann man die Denkfähigkeit einer Maschine mit der eines Menschen vergleichen. Dazu unterhält sich ein Proband über Textein- und ausgabe mit einer mutmaßlich intelligenten Maschine und einem Menschen. Kann der Proband nicht entscheiden, wer der menschliche Gesprächspartner ist, hat die Maschine den Test bestanden. Dies ist bis heute keiner Maschine gelungen. Dieser Test ist nicht unumstritten, da eine Maschine auf Unterhaltungen spezialisiert werden kann ohne das sie intelligent ist oder eine durchaus intelligente Maschine muss nicht zwingender Maße menschliche Kommunikation beherrschen. Jedoch ist der Turing-Test noch immer der geläufigste Test zur Bestimmung einer KI.

In den letzten zwei Jahren vor seinem Tod setzte sich Turing mit der theoretischen Biologie auseinander. Er untersuchte das Vorkommen der Fibonacci-Zahlen in der Natur und entwickelte den Turing-Mechanismus. Dieser steht noch heute im Zentrum Biologie.

Der RaspberryPi

November 27th, 2011

Hier möchte ich mal ein bisschen die Werbetrommel für den RaspberryPi rühren. Dabei handelt es sich um ein Stiftung die einen Mini-Rechner zum Herstellungspreis entwickelt. Das Release ist für Anfang Dezember geplant.
Die Spezifikationen kann man auch http://www.raspberrypi.org/sample-page nach lesen. Es gibt 2 Modelle. Einmal das A und B Modell.

Das A Modell kostet 25$ und das B Modell 35$. Das ist wie ich finde ein super Preis. Ich werde mir sehr wahrscheinlich 2 B-Boards zu legen. Den einen möchte ich als lokalen Server für Git, ein Wiki für Eigenbedarf und wahrscheinlich noch einen Kalender/Adressbuch-Server. Dazu werde ich eine Debian Minimal-Installation auf spielen und Schritt für Schritt alles meinen Bedürfnissen an passsen. Den zweiten werde ich für Spielereien benutzen. Vielleicht werde ich es mal mit Gentoo oder Arch versuchen. Das Tolle ist, dass man einfach die SD-Karte wechseln kann und hat ein anderes System.

Positiv aufgefallen ist mir, dass schon jetzt eine lebhafte Community besteht. Auch die Macher selber antworten auf Fragen und helfen weiter.

Ich bin mittlerweile schon sehr gespannt und warte sehnlichst darauf, den Raspberry zu kaufen. Auch in meinem Freundeskreis konnte ich bereits einige überzeugen.

————————————————————————
Ich bekomme kein Geld oder ähnliches für diesen Artikel. Ich finde dieses Projekt einfach nur toll und möchte andere dafür begeistern.

Geek-Verhalten in Gesprächen

September 23rd, 2011

Der ursprüngliche Autor dieses Textes ist Philip Guo. Ich habe den Artikel, mit seiner Zustimmung, nur übersetzt. Sämtliche Rechte liegen bei ihm.
————————————————————————
Dieser Artikel soll einige Verhaltensmuster, die ich in den letzten Jahren, in denen ich viel mit Geeks, Nerds und anderen technisch versierten Personen zusammen gearbeitet habe, darstellen.

Der Einfachheit halber werde ich nur von “Geeks” sprechen. Ich möchte Personen, die dieses Verhalten an den Tag legen, nicht abwerten; dies sind nur meine Beobachtungen und meine persönlichen Theorien, worauf dieses Verhalten begründet ist.

Schwierigkeiten einer flüssigen Unterhaltung:
Es ist ein weit bekanntes Cliche, dass Geeks nicht in der Lage sind Gespräche mit Nicht-Geeks zu führen. Daher werde ich mit diesem Thema anfangen. Nicht-Geeks berichten oft von unangenehmen Pausen, wenn sie mit Geeks sprechen. Ich vermute, dass dieses Problem darin begründet ist, dass Geeks nicht in der Lage sind ein flüssiges, sich abwechselndes Gespräch zu führen.
Ein normales Gespräch entsteht, wenn beide Gesprächspartner abwechselnd zuhören und sprechen. Wenn eine sozial angepasste Person spricht, beobachtet sie ununterbrochen die Mimik und die Körpersprache des Gegenübers und wenn sie den Eindruck hat, der Gegenüber möchte etwas sagen macht sie eine Pause und gibt dem Gegenüber die Chance etwas zu sagen.
Wenn ein Nicht-Geek mit einem Geek spricht, kommt es oft zu unangenehmen Pausen, da der Geek der Körpersprache seines Gegenübers nicht genug Aufmerksamkeit entgegen bringt und nicht weiß, wie man eine natürliche Pause macht. Das passiert oft wenn der Geek in seinem “Element” ist und stolz einige technische Konzepte erklärt ohne zu merken, dass er seinen Gesprächspartner vielleicht langweilt. Noch schlimmer ist es, wenn der Nicht-Geek eine Pause macht und der Geek nicht weiß, wie er das Gespräch weiter führen kann.
(Außerdem telefonieren Geeks nicht so gerne wie Nicht-Geeks, da dort keine visuellen Hinweise zum Wechsel des Sprechers vorhanden ist. Sie benutzen lieber IM, Email oder SMS.)

Auf Richtigkeit und Vollständigkeit Bestehen:
Geeks fühlen sich unwohl, wenn sie hören, dass Personen etwas Falsches oder Unvollstädiges während einer Konversation von sich geben. Sie haben auch die Tendenz Andere zu unterbrechen, um sie zu korrigieren oder zu vervollständigen. Wenn ich sage falsch meine ich ungenau (“Toronto ist die Hauptstadt Kanadas”) und mit unvollständig meine ich eine unvollständige Aufzählung (“Die sieben Zwerge: Dopey, Sleepy, Happy, Doc, Grumpy und die anderen beiden habe ich vergessen”). Wenn die Ungenauigkeit nicht wichtig für die Geschichte ist, wird der Nicht-Geek es nicht weiter beachten und den Sprecher fortfahren lassen. Wie gesagt, Geeks habe die Tendenz den Sprecher zu unterbrechen um den Fehler zu korrigieren. Auf Kosten des Flusses des Gesprächs.
Nicht-Geeks mögen dieses Verhalten als ungehobelt oder arrogant betrachten, da sie denken, dass Geek nur zeigen möchte wie klug er ist und, dass er alles weiß. Wahrscheinlich ist aber das Gegenteil der Fall. Geeks haben das altruistische Bedürfniss ihren Zuhörern wissen zu vermitteln und wollen nicht ihre eigene Intelligenz zur Schau stellen. Sie möchten wirklich, dass der Gesprächspartner weiß, dass der Jupiter näher an der Sonne ist, als der Saturn; Auch wenn es den Sprecher nicht interessiert und er nur einen sachlichen Fehler beim erzählen der Geschichte gemacht hat.

Vorliebe für exakte nummerische Angabe:
Geeks haben eine Vorliebe für Genauigkeit und Richtigkeit, auch wenn es dadurch für ihre Zuhörer schwerer wird ihnen zu folgen. Wenn man einem Geek eine Frage stellt, die eine nummerische Antwort erwartet und der Geek die genau Zahl weiß, wird er diese wortwörtlich wiederholen. Er wird die Antwort nicht runden, um es dem Zuhörer zu vereinfachen es sich zu merken (z.B.: “Die Kamera hat 4,2 Megapixel” statt “Die Kamera hat c.a. 4 Megapixel”).
Auch wenn dieses Verhalten eher harmlos ist, ist es doch eine Unannehmlichkeit für ihre Zuhörer: Der Zuhörer (statt des Sprechers) muss die Antwort runden. Wenn mir Jemand erzählt, dass der DVD-Player, den ich haben möchte, bei einem Händler 297,89€ kostet, ich aber einen Rabatt von 49,95€ bekommen kann, brauche ich einen Moment um auf den gerundeten Preis von 250€ zu kommen.

Selbstverständliche Benutzung von technischen Begriffen:
Wenn Geeks versuchen Nicht-Geeks eine technische Gegebenheit zu erklären, machen sie starken Gebrauch von technischen Begriffen, weil sie so ihre Gedanken kurz und präzise dar bringen können. Unglücklicherweise verstehen die meisten Nicht-Geeks dieses Jargon nicht. Das führt zu Unsicherheit und Frustration.
Nicht-Geeks nehmen Geeks schnell als überheblich und elitär war, wenn diese mit ihnen ihrem kryptischen “Geek-Speak” sprechen. Meiner Meinung nach haben Geeks ein undschuldigere Intention: Geeks neigen dazu, zu vergessen wie es ist sich nicht mit technischen Konzepten und im besonderen mit ihrem Spezialgebiet (Computer oder technische Gadgets) aus zu kennen. Wenn Geeks mit Nicht-Geeks sprechen werfen sie oft mit einer Fülle von Fachbegriffen um sich ohne vorher taktvoll zu versichern, dass sie auch verstanden werden. Aus Sicht eines Geeks sind technisches Jargon (Router, Dongle, etc.) und auch Akronyme (DVI, TCP/IP, SQL, etc.) genauso normal, wie jedes andere Wort. “Wie kann jemand NICHT wissen, was diese Worte bedeuten?”

Konzentration auf das Wie statt auf das Was und Warum:
Geeks lieben es zu verstehen wie Dinge “unter der Haube” funktionieren und erklären anderen Personen gerne technische Details. Die meisten Nicht-Geeks haben gerne ein Bild vom Ganzen und weshalb es Innovativ oder Wichtig ist. Geeks wollen lieber wissen wie es gebaut wurde.
Wenn ein Geek aufgefordert wird über technische Dinge zu sprechen, wird er wahrscheinlich einen enthusiastischen und detaillierten Monolog halten. Er wird fast ausschließlich Fachbegriffe verwenden und keine Pausen ein legen um zu schauen, ob er vom Publikum verstanden wird. Diese Gewichtung auf Implementierungsdetails statt einer umfassenden Erklärung ist typisch wenn ein Geek ein Projekt, wie etwa eine Software oder eine mechanische Vorrichtung, beschreibt, dass er selbst durch geführt hat.

Bevorzugung von Komplexität und Details vor Einfachheit zur Beschreibung :
Wenn ein Geek sein aktuelles Lieblingsprojekt beschreibt, versucht er oft seine Beschreibung möglichst komplex und detailliert zu machen, um seine Perfektion und seine technischen Fähigkeit zu zeigen. Geeks sind stolz darauf, dass sie in der Lage sind Komplexität zu verstehen und es sich zu Nutze zu machen und daraus “coole” Dinge zu bauen. Daher ist es nur verständlich, dass sie möchten, dass ihre Zuhörer verstehen wie viel Genialität es gebraucht hat um es zu kreieren.
Wenn Geeks über Projekt-Details sprechen, können sie diese Details würdigen und bewundern (“Whoa, das ist ein echt cooler Hack. Den geparsten String in Phyton zu evaluieren ist echt genial.”). Nicht-Geeks werden eher die einfache Zusammenfassung hören, als die genialen Details.

Schnelles herunter leiern von Fakten:
Fragt man einen Geek eine Frage, die er mit einer Aufzählung von Fakten beantworten kann, wird er sehr wahrscheinlich eine Liste mit diesen Fakten herunter rattern. Wenn man ihn zum Beispiel fragt: “Welche Programmiersprachen kennst du?”, wird ein Programmierer antworten: “C, C++, Java, Basic, QBasic, Microsoft Visual Basic, Perl, Python, Ruby, x86 assembly, PowerPC assembly, Scheme, Common Lisp” und seine Liste möglichst schnell darbieten um die schiere Menge zu  betonen. (Eine etwas elegantere Antwort wäre gewesen: “Ich habe sowohl mit Low-Level Sprachen wie C, als auch mit High-Level Sprachen wie Phyton gearbeitet. Hast du noch mehr Fragen?”)
Ich vermute, dass dieses Verhalten in der Obsession des Geeks für Richtigkeit/Vollständigkeit und seiner Betonung von Komplexität, begründet ist. Die komplette Einkaufsliste aufzuzählen ist zwar technisch die richtigste Antwort, aber nicht die am leichtesten nach nachvollziehbare.

Kein Interesse am Aussehen:
Geeks empfinden Aussehen und Ästhetik als weniger wichtig, als die technische Substanz eines Objektes oder einer Umgebung. Daher ist es nicht überraschend, dass Webseiten, Broschüren und andere Produkte, die von Geeks designed werden, in den meisten Fällen äußerlich ziemlich hässlich sind. Jedoch ist der innere Aufbau oft mehr als respektabel. Natürlich wissen die besten technischen Designer, dass Erscheinungsbild und Benutzerschnittstelle wichtige Teile eines Produktes sind.
In Gesprächen über das Erscheinungsbild von Dingen (auch bei nicht technischen Angelegenheiten, wie Familientreffen und Hochzeiten), pflegen Geeks das Interesse zu verlieren und die Situation überkritisch zu betrachten. Sie werden zum Beispiel in Frage stellen ob, das ganze Getue und der Tand wirklich nötig sind und es nicht viel mehr um den “Kern den Sache” geht, Ob man die sogenannten Frivolitäten nicht besser weg lässt.

Verehrung ihrer favorisierten Technologie:
Geeks geben gerne technische Empfehlungen, auch wenn sie gar nicht gefragt wurden (z.B.: “Du solltest Firefox statt Internet Explorer benutzen”). Sie realisieren oft nicht, dass die meisten Nicht-Geeks kein Intresse haben, Gewohnheiten auf zu geben und neue Dinge zu probieren, insbesondere wenn es um Computer oder andere technische Dinge geht. Nicht-Geeks benutzen Technologie meistens als Werkzeug, während Geeks es als Teil ihrer Lebenseinstellung betrachten.
Die Intention eines Geeks ist fast immer selbstlos und ernsthaft: Sie möchten, dass ihre Freunde die beste Technologie benutzen und sich nicht mit dem Mittelmäßigem abgeben müssen. Nicht-Geeks fühlen sich schnell belästigt und nicht ernst genommen, wenn ihre Geek-Freunde Technologien verehren und forcieren von denen sie noch nie gehört haben und im selben Atemzug erzählen, dass das was sie momentan benutzen ineffektiv und Unzureichend ist.

Erwähnung ihrer Freundin oder Frau zu jeder Gelegenheit:

The most brutal way I've ever seen someone handle this was 'Oh, you have a girlfriend. Are you going to get married?'  'I, uh, don't know--' 'Well, do you love her?' '...' 'Anyway, what were you saying about the movie?'

Wie dieser xkcd-Comic poetisch zeigt, JA WIR HABEN VERSTANDEN, du hast eine Freundin.
Geeks haben die Tendenz zu jeder Gelegenheit zu erwähnen, dass sie eine Freundin oder Frau haben. Sie werden versuchen einen Verweis auf ihre Freundin oder Frau in jeder Unterhaltung unter zu bringen, auch wenn es nicht relevant ist (z.B.: “Du bist also ein Photograph? … meine Freundin hat in der Schule mal einen Photographie-Kurs besucht”).
Vielleicht kommt dieses Verhalten daher, dass Geeks es als Jugendliche schwerer hatten Dates zu bekommen, so dass es besonders ist eine Freundin oder Frau zu haben. (Ich konnte dieses Verhalten bisher nur bei männlichen Geeks beobachten; Ich weiß nicht ob weibliche Geeks die Gelegenheit nutzen, um über ihren Freund/Mann zu lästern.)

Music Player Daemon [mpd] einrichten

Juli 26th, 2011

Ich suche schon seit mehreren Jahren nach einem Musikplayer mit integrierter Bibliothek und Suche, der unter meiner Musik-Menge nicht in die Knie geht. Ich habe sowohl unter Windows, als auch unter Linux diverse Player ausprobiert, aber keiner konnte mich überzeugen. Sie waren alle zu langsam und das Problem verschärfte sich immer mehr. foobar2000 schließlich wurde zu meiner ersten Wahl unter Windows, da es alle geforderten Kriterien erfüllt hat und zudem noch performant genug war. Leider ist es eine reine Windows-Software und meine Suche begann unter Linux erneut.

Nach langem Suchen fand ich schließlich Clementine. Der Player war optisch ansprechend, schnell und hatte eine gute Bibliothek integriert. Bis ich ein Update von Version 0.5 auf 0.7  gemacht habe. Dann war es vorbei mit der Performanz.

Gestern wies mich TRex auf mpd und ario hin. mpd ist eine Server-Applikation die als Service im Hintergrund ausgeführt wird. mpd verwaltet in einer internen Bibliothek sämtliche Titel und gibt diese direkt über die Soundkarte des Servers aus. Es bietet selber keine grafische Oberfläche und kann auch nur über Schnittstellen angesprochen werden. Als CLI-Anwendung eignet sich mpc sehr gut, da es die Referenz-Implementierung vom mpd-Projekt ist. Des weiteren habe ich bisher sehr gute Erfahrungen mit ario gemacht. Eine schlanke Anwendung, die mir einen komfortablen Zugriff auf mpd ermöglicht.

Soviel dazu, was mpd ist. Im folgenden erkläre ich, wie man mpd installiert und konfiguriert.

Installation:

Die Installation gestaltet sich, wie man es von Debian gewöhnt ist, ausgesprochen einfach:

# apt-get install mpd mpc mpc-plugins ario

Damit sind alle Pakete installiert, die im weiteren benötigt werden.

Konfiguration:

Die Konfigurationsdatei liegt in /etc/mpd.conf und kann schon fast so übernommen werden. Die Datei ist sehr gut dokumentiert und entsprechend umfangreich, daher werde ich nur die jeweils relevanten Zeilen hier rein kopieren.

Hier sollten die Pfade zum Musik- und Playlist-Ordner angepasst werden:

music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"

Falls man übers Netzwerk auf mpd zugreifen möchte sollte auch die folgende Zeile auskommentiert werden bzw. an die entsprechende IPs angepasst werden:

bind_to_address "localhost"

Weiter unten muss den User auf den eigenen Benutzernamen setzen. Man kann die Zeile auch auskommentieren, was dazu führt, dass mpd als der aufrufende User gestartet wird:

user "mpd"

Falls man mpd als Service startet ist dies also root. Dies ist nicht zu empfehlen, da – grade bei erlaubtem Netzwerkzugriff – ein Fehler in mpd zu root-Rechten für den Angreifer führt.

Wenn man mpd mit einem Passwort schützen möchte, kommentiert man diese Zeile aus und ersetzt “password” vor dem “@” mit dem entsprechenden Passwort:

#password "password@read,add,control,admin"

Hinter dem “@” sind die entsprechenden Rechte zu dem Passwort. Man kann beliebig viele Passwörter definieren, indem man diese Zeile mehrfach einfügt.

Desweiteren ist es sinnvoll die folgenden Standard-Pfade zu ändern:

db_file "/var/lib/mpd/tag_cache"
log_file "/var/log/mpd/mpd.log"
pid_file "/var/run/mpd/pid"
state_file "/var/lib/mpd/state"

Ich habe die Pfade alle in einen versteckten Ordner in meinem /home-Verzeichnis umgeleitet. So kann ich mpd mit User-Rechten ausführen und habe keine Komplikationen mit den Zugriffsrechten:

db_file "/home/felix/.mpd/tag_cache"
log_file "/home/felix/.mpd/mpd.log"
pid_file "/home/felix/.mpd/pid"
state_file "/home/felix/.mpd/state"

Nun startet man mpd  und liest die Bibliothek initial ein:

# service mpd restart
$ mpc update

Falls man ein Passwort gesetzt hat startet man mpc immer mit dem Paramert “-P”.

Beim ersten Start von ario, wird man nach dem Host, dem Port und dem Passwort gefragt. Bei Host und Port können die Standard-Einstellungen(Host: localhost; Port: 6600) bei behalten werden, dass Passwort wird entsprechend der gemachten Konfiguration gefüllt.

Damit ist mpd und ario einsatzbereit. Ein Blick in Bearbeiten -> Erweiterungen lohnt. Dort kann man unter anderem die Multimedia-Tasten der Tastatur aktivieren.

Tipp: Man kann ario beenden und die Musik-Wiedergabe bricht nicht ab. Solange mpd im Hintergrund als Dienst läuft, bleibt die Musikwiedergabe aktiv.

Problemlösung:

Falls es zu Problemen mit der Soundausgabe kommt (mpd blockiert andere Anwendungen bzw. mpd wird von anderen Anwendungen an der Soundausgabe gehindert) liegt das sehr wahrscheinlich daran, dass eure Soundkarte kein Hardwaremixing unterstützt. ALSA hat jedoch einen eingebauten Softwaremixer. Um diesen richtig anzusprechen muss man in der /etc/mpd.conf die ALSA-Schnittstelle entsprechend konfigurieren.
Hier ein kleines Beispiel:

audio_output {
type "alsa"
name "My ALSA Device"
mixer_type "software" # optional
mixer_device "default" # optional
mixer_control "PCM" # optional
}

Microsoft VS Google

Juli 6th, 2011

In letzter Zeit fiel mir Vermehrt auf, dass Microsoft gezielt versucht Google Produkte zu kontern und eine Konkurrenz auf zubauen.
Hier möchte ich darauf eingehen. Apple lasse ich bewusst außen vor, da Apple mit seinen Lifestyle-Produkten versucht ganz andere Kundenspektren zu erreichen.

Google hat letzte Woche Google+ vorgestellt. Es wurde und wird in den Medien als “Facebookkiller” beworben. In meinen Augen habe diese Beiden Produkte jedoch nur den Community-Charakter gemeinsam. Facebook habe ich selbst eine Zeit lang genutzt, mochte das Konzept jedoch nicht. Man wird mit Informationen zu geschüttet. Jeder, den man irgendwann mal getroffen hat und an dessen Namen man sich noch erinnert ist ein Freund. Und ich erfahre von allen meinen “Freunden” an einer Stelle das Neueste. Selbst Musiker und Bands, deren Fan ich bin, tauchen dort auf. Alles in einem Pulk. Jeder möchte beachtet und “geliked” werden. Man wird auf Bildern, verlinkt die von Freunden hochgeladen wurden und alles “lebt“, um auf Robert Basic zu verweisen. Mir persönlich war das zu unspezifisch. Wenn ich wissen möchte, was meine ehemaligen Klassenkameraden machen, schaue ich gezielt danach. Lediglich die Aktivitäten meiner wirklichen Freunde ist für mich von Interesse  - wobei diese Zahl gering genug ist um anzurufen, eine Mail zu schreiben oder den Instant Messenger anzuwerfen. Dies ist jedoch der Ansatz von Google+. Alles ist in Circles organisiert, die ich frei definieren kann. Nicht jeder ist automatisch ein Freund. Dies sorgt zum einen für gezieltere Informationen, aber gleichzeitig wird die Reichweite eingeschränkt und das “Wachstum” des Netzwerkes verlangsamt. Es hängt nicht mehr alles in einem Großen zusammen sondern besteht aus einzelnen Zellen, die alle gepflegt werden wollen. Etwas das Arbeit macht, mir persönlich aber wichtig wäre. Ich möchte kontrollieren, wem ich welche Informationen zukommen lasse. Lieber Qualität statt Quantität.
Da ich persönlich keine Verwendung für Soziale Netzwerke habe, wird mich wohl auch Google+ nicht überzeugen können. Ich setzt da lieber auf direkten Kontakt. Mit jeder Person so, wie sie am besten zu erreichen ist.

Passend zum Release von Google+ hat sich Facebook mit Microsoft verbündet. Nachdem Microsoft Skype übernommen hat, gibt es nun die ersten Änderungen. Dieses Bündnis wirkt auf mich etwas kraftlos. Wer bisher Videochat genutzt hat, hat dies sehr wahrscheinlich bereits über Skype gemacht. Ich habe meine Zweifel, dass der Einzelne durch diese Neuerung mit mehr Personen als vorher videotelefonieren wird.

Vor kurzem hat sich Microsoft ebenfalls mit Nokia verbündet, um WP7 eine bessere Marktstellung zu verschaffen. Einige Monate nach Einführung eben jenes, ist die Verbreitung immer noch gering. Auch Nokia ging es in den letzte Jahren nicht wirklich gut. Das Unternehmen, das ehemals den Handymarkt beherrschte, ist mittlerweile eher unbedeutend geworden. Viele Fehlentscheidungen haben zu dieser Situation geführt. Man hat es nicht geschafft, Linux-basierte Handys zu etablieren. Microsoft war der letzte Grashalm. So haben sich zwei Riesen zusammengeschlossen um den Erfolg zu erhalten bzw. wieder auf das alte Niveau zu heben. Bislang ist davon noch nicht viel zu sehen.
Währenddessen ist der Erfolg von Android nicht zu stoppen. Unternehmen wie HTC, Samsung, LG und auch Sony Ericsson setzten Android auf ihren Geräten ein.

Auf Tablets und Netbooks steht Microsoft ebenfalls hinten an. Windows 7 ist zu mächtig, um es auf einem Gerät mit schwacher Hardware zu betreiben. Momentan setzt Microsoft dort auf Windows XP. Dieses ist jedoch schon aus dem Jahr 2001 und kann sowohl optisch als auch technisch nicht mit aktuellen Versionen von Android, IOS und WebOS mithalten. Verschärfend kommt hinzu, dass Google mit dem Chromebook das erste eigene Netbook auf den Markt wirft. Aktuell hat Microsoft kein Produkt, das mit diesem konkurieren kann. Noch ist der Erfolg des Chromebooks ungeklärt, doch allein die Abwesenheit von Alternativen sollte zumindest einen Nischenmarkt abdecken können.

Auch auf dem Suchmaschinenmarkt versucht Microsoft Marktanteile zu gewinnen. In der zweiten Jahreshälfte von 2009 hat Microsoft seine Suchmaschine mit Yahoo fusioniert. Yahoo entspricht nun 1:1 der Bing-Suche und hat sich vollkommen auf  Webservices beschränkt. Der wichtigste ist wahrscheinlich Flickr. Doch auch Flickr ist bereits mit einem Google-Account nutzbar und Google ist dabei, seine bestehenden Angebote Picasa und Blogger zu erneuern. Noch hat Picasa keine nennenswerte Verbreitung im Vergleich zu Flickr, aber die Integration in Google+ kann das Zünglein auf der Waage sein.
In China jedoch ist Microsoft Google einen Schritt voraus. Zum Jahresende liefert Bing die englischsprachigen Suchergebnisse von Baidu. Baidu beherrscht in China einen Milliardenmarkt, in den Google nie vorstoßen konnte. Seitdem Google sich mit der chinesischen Regierung überworfen hat macht Google auch keine Anstalten mehr, daran etwas zu ändern. China ist die Chance für Microsoft in den Suchmaschinenmarkt vor zustoßen.

In Europa und Amerika kann Microsoft nicht wirklich Fuß fassen. Google-Streetview war in aller Munde, Google Maps wird von fast jedem genutzt. Das Wort “googeln” hat es sogar schon in den Duden geschafft. Dass auch Microsoft mit Streetside und Bing Maps ähnliche Services bietet hat im Alltag keine Relevanz.

Gedankenspiel: Die E-Akte

Juni 29th, 2011

Udo Vetter hat heute über die Planung der E-Akte für Gerichte in Deutschland geschrieben.
Es reizte mich mal theoretische Überlegungen betreffend der Umsetzung zu machen. Ich muss anmerken, dass dies rein private Überlegungen und sicherlich noch verbesserungsfähig sind. Hier mein Ergebnis:

Die Dokumente werden nach Eingang im Gericht/der Staatsanwaltschaft gescannt und im PDF-Format abgelegt. Sie werden einer digitalen Akte zugeordnet und auf Servern der Justiz gespeichert. Diese Server sind von der Justiz betrieben (was Dateisicherungen und auch kompetente Adminstratoren und professionelle Absicherung einschließt). Dies kann pro Gericht gelöst werden. Es würde aber mehr Sinn machen, wenn diese Rechenzentren Landes- oder sogar Bundesweit betrieben werden. Jeder zugelassene Anwalt kann sich an dieser Zentralen Stelle als Anwalt identifizieren und seinen öffentlichen Schlüssel bekannt geben. Als Verfahren wird GPG oder vergleichbare Technologien (asymetrische Kryptographie) verwendet.
Ebenso ist jedes Gericht im Besitzt eines Schlüsselpaares. Der öffentliche Schlüssel wird auch an der Zentralen Stelle bekannt gegeben.
Hierbei handelt es sich bei Gerichten, als auch Anwälten um einen einmaligen Vorgang.

Sobald ein Anwalt mit einem Verfahren betraut wird, wendet er sich mit entsprechenden Unterlagen (Fax oder Mail) an das Gericht. Diese prüfen manuell, ob ein Zugriff rechtmäßig ist. Ist dies der Fall wird dem Anwalt auf den Servern ein Downloadpaket bereit gestellt, dass alle Dokumente enthält, auf die er Zugriff hat. Dieses Paket ist mit dem öffentlichen Schlüssel des Gerichtes signiert und ebenso mit dem öffentlichen Schlüssel des Anwaltes verschlüsselt. Dieser Vorgang kann (abhängig vom Umfang der Akte) eine gewisse Zeit dauern, ist in Summe trotzdem schneller als eine postalische Zusendung (von wenigen Ausnahmen abgesehen). Dieses Paket kann der Anwalt nun herunterladen. Da es mit seinem öffentlichen Schlüssel verschlüsselt ist, kann nur er es entschlüsseln. Durch die Signatur wird sichergestellt, dass kein Man-in-the-middle-Angriff vorliegt.

Auf dem umgekehrten Weg können Anwälte der Akte auch Dokumente hinzufügen. Diese werden über ein Web-Interface eingespielt. Vorher hat der Anwalt sie zu signieren und mit dem öffentlichen Schlüssel des Gerichtes zu verschlüsseln.

Falls zu einer Akte Dokumente hinzugefügt oder aktualisiert werden, werden alle zugriffsberechtigten Personen per Mail (natürlich verschlüsselt und signiert) benachrichtigt. Es ist möglich jedes Dokument einzeln oder auch alle gesammelt als Archivdatei zu beziehen, um Traffic zu vermeiden.

Zum einen sollte die komplette Bedienung über ein Web-Interface möglich sein, um Betriebsystemunabhängigkeit zu erreichen und zum anderen sollte eine öffentliche API zur Verfügung gestellt werden. Um den allgemeinen Prozess der Ver-/Entschlüsselung sowie Signierung auch technisch unerfahrenen Anwälten zu ermöglichen, sollten bestehende freie Softwareprojekte unterstützt bzw. gegründet werden.  Diese sollte in der Lage sein die API anzusprechen und eine einfache Oberfläche bieten, die Dokumente ver- und entschlüssel und signieren kann. Gewünscht ist, dass die Software die besagte API spricht und so Dokumente herunter-  sowie rauf laden kann.

Das Paket besteht aus standardisierten Dokumenttypen und kann mit freier Software gelesen, als auch geschrieben werden. Die Dokumente dürfen keinerlei DRM enthalten, um zu gewährleisten, dass die Justiz keinerlei Zugriff auf ausgelieferte Dokumente hat. Ebenso sollte die Implementierung der Serverinfrastruktur frei sein. So können unabhängige Spezialisten die Sicherheit prüfen. Hier möchte ich auf Security trough Obscurity verweisen.

Fazit:
Diese Lösung kann – in meinen Augen – zwar eine hohe Sicherheit erreichen, aber Nichts ist 100%ig sicher. Aber auch bei der Post können Sendungen an die falschen Personen geraten. Bei Anwälten in ländlichen Gebieten kann der Download bisweilen recht lange dauern, sollte in der Regel, aber nicht die Zeit einer postalischen Sendung überschreiten. Übergangsweise sollte die postalische Zusendung weiterhin möglich sein.

Diese Lösung wird initial recht große Summen verschlingen. Jedoch kann man sich bei der Entwicklung mit anderen Staaten der EU zusammen tun, was die Kosten verringert. Solch ein Projekt sollte für die meisten Staaten der EU von Interesse sein.

 

Ich hoffe, dass mein Ansatz klar geworden ist. Falls nicht kann ich gerne weiter ausholen. Ich freue mich über Feedback!

Spam nervt … [Update]

Juni 21st, 2011

Dieser Blog hier ist noch ziemlich jung und unbekannt und trotzdem kommt jeden Tag mehr Kommentar-Spam rein.

Da Akismet in Deutschland nicht wirklich risikofrei ist, schied und scheidet diese Möglichkeit für mich schon einmal aus.
Ich habe nicht die finanziellen Ressourcen mir juristische Scharmützel zu liefern.

Also habe ich ReCaptcha als Spamschutz eingerichtet. Ich persönlich kann gut damit leben.
Aber wie ist eure Meinung? Ist es den Aufwand wert? Und kennt jemand noch brauchbare Alternativen?

Hier noch kurz zur Funktionsweise von ReCaptcha:
Ein ReCaptcha besteht nicht aus generierten Codes. Es werden jeweils Worte angezeigt, die beim digitalisieren von Büchern nicht erkannt werden konnten. Dort wird OCR verwendet, die selbe Technik also, mit der auch Spammer Captchas lösen.
Der Code besteht jeweils aus einem bekannten Wort und einem unbekannten. Wenn man das bekannte Richtig eingibt, ist das Captcha gültig.
Die Eingabe zum unbekannten Code wird gespeichert. Wenn genügend User das Wort gleich erkannt haben, wird ein bekannter Code daraus.
Da man bei der Eingabe nicht weiß, welches der bekannte Code ist, ist man gezwungen beide korrekt einzugeben.
Falls ihr also auf komplett leserliche Codes stoßt, könnt ihr diese getrost mit einer zufälligen Eingabe beantworten

Update:
Da sich ReCaptcha als vollkommen wirkungslos erwiesen  hat bin ich auf Antispam Bee umgestiegen.
Ich benutze dieses Plugin nun schon seit einigen Tagen und es filter zuverlässig sämtlichen Spam raus, lässt echte Kommentare aber zu. Momentan lasse ich mich noch per Mail über jede Entscheidung informieren, um FalsePositives zu vermeiden. Es scheint aber, als gebe es die nicht. Also werde ich diese Benachrichtigung in Zukunft wohl deaktivieren.
Falls jemand fälschlicherweise als Spam erkannt wird, bitte eine kurze Mail an mich. Dann wird manuell nach sortiert ;)

Mein erstes C++-Projekt: ein TabuBot

Juni 15th, 2011

Ich benutze in der Berufsschule Java und auf der Arbeit programmiere ich in C# mit einem Framework das auf SQL-Windows beruht.
Beides läuft in Laufzeitumgebungen (JVM und .NET). Ich möchte gerne davon weg. Also fange ich nun hier und jetzt mein erstes C++-Projekt an.
Nun zu meinem Projekt.

Idee:
Einen Bot für Jabber-MUC, der als Spielleiter einer Tabu-Runde fungiert.

Spielablauf:
Der Initiator der Runde kann die Anzahl der Runden einstellen und hat allen anderen Spielern gegenüber priveligierte Rechte.
Dabei werden die Teams zufällig ausgelost und bekannt gegeben. Der Bot lost auch aus, wer im jeweiligen Team beginnt das Wort zu beschreiben. Anschließend geht es reihum. Beiden Teams werden zeitgleich Begriffe zugeteilt. Das Zuteilen sieht folgendermaßen aus. Einem Spieler je Team wird das Wort, dass er beschreiben soll, per PN zugeschickt. Ebenso die Worte die er nicht verwenden darf. Dem gegnerischen Team werden die verbotenen Worte ebenfalls per PN zugestellt. Falls ein verbotener Begriff verwendet wird, kann das gegnerische Team per Keyword buzzern. Damit ist die Runde beendet.
Der Initiator der Runde entscheidet, ob es gerechtfertigt war oder nicht. Falls ein verbotenes Wort benutzt wurde bekommt das gegnerische Team einen Punkt. Wurde grundlos gebuzzert bekommt wiederum das andere Team den Punkt.
Das Team, das den Begriff (in richtiger Schreibweise) als erstes erraten hat bekommt den Punkt und neue Begriffe werden “verteilt”.

Bekannte Probleme:
Ein Problem ist, dass die Spieler untereinander die Begriffe per PN tauschen können.
Auch können verbotene Worte nicht erkannt werden. Alle Variationen und Möglichkeiten automatisiert zu erkennen übersteigt den Umfang eines so simplen Bots.
Im Großen und Ganzen ist man darauf angewiesen, dass alle fair spielen. Der Initiator hat die Schiedsrichterrolle im Spiel inne.

Technische Ansätze:
Die Begriffe werden in einem XML-File gespeichert. Dadurch können Begriffe beliebig hinzugefügt und entfernt werden. Man kann sie per Hand pflegen.
Sämtliche Events werden in einer lokalen Log-Datei mitgeschrieben, um den Spielverlauf optimieren zu können und auch Fehler leichter entdecken zu können. Dabei werden keine Nicknames erfasst, sondern nur zufällig verteilte Codes als Platzhalter verwendet.
Administriert wird der Bot über Propertie-Files. Eine Online-Administration ist nicht angedacht.

Lizenz:
Den kompletten Code werde ich unter die ISC-Lizenz stellen. Dies wird geschehen, so bald ich einen ersten lauffähigen Entwurf habe. Dazu dann mehr auf diesem Blog.

Ich würde mich über Feedback und Verbesserungsvorschläge freuen. Außerdem suche ich noch einen Namen für mein Projekt, der keine Markenrechte verletzt. Ideen gerne als Kommentar oder an gimbar@breax.org :) Schreibt mir doch einfach!

AlphaRev hat seine Tücken

Juni 13th, 2011

Gestern Abend hat der Akku meines Desires die Grätsche gemacht. Also habe ich es heute morgen an die Steckdose gehängt und eingeschaltet.
Munter wurde ich von der Meldung begrüßt, dass meine SD-Karte defekt sei. Also habe ich diese ausgebaut und versucht an meinem Rechner zu retten. Aber da war nichts mehr zu machen. Das komplette Dateisystem war zerlegt und mir blieb nur noch die Zwangsformatierung.

Ich habe die Speicherkarte wieder eingesetzt und mein Desire gebootet. Dummerweise hat sich meine CyanogenMod-Installation (7.0.3), dabei selbst zerlegt die auf die SD verschobenen Apps zu entfernen. Es ist abgestürzt und auch nach mehreren Reboots war nichts mehr zu machen. Also habe ich in den Sauren Apfel gebissen, einen Full-Wipe gemacht und anschließend CyanogenMod neu geflashed. Meine wichtigste App K9-Mail, hatte es eh schon zerlegt, da sämtliche Mailkonten auf der SD lagen.

Hiermit fingen die Probleme, aber erst richtig an. Ich konnte die Settings nicht mehr aufrufen. Die Settings-App hat sich augenblicklich abgeschossen, wenn man sie versuchte aufzurufen. Ich habe so ziemlich alles gemacht was mir einfiel. Ich habe mehrmals neu geflashed, die Permissions mit RomManager korrigiert. Den Dalvik-Cache geleert und und und. Es führte aber immer zu dem selben Ergebnis. Ich konnte die Einstellungen nicht mehr öffnen.

Ich wannte mich schließlich an den Channel #Cyanogenmod auf irc.freenode.org, wo mir der User deepspring, über mehrere Stunden geholfen hat.
Wir haben zusammen so ziemlich alles ausprobiert. Nochmal doppelt probiert, die SD getauscht, mit und ohne Google-Apps. Es machte keinen Unterschied. Er (ich nehme mal an, dass er ein Er war) hat auch das Desire und wir verglichen die  Clockworkmod Recovery Version. Dabei kam heraus, dass meine älter war als seine. Dabei informierte mich RomManager und auch das CM-Wiki, dass meine Version auf dem aktuellen Stand ist. Schließlich meinte er, dass ich ein Fix Permission im CWM ausführen soll. Diese Funktion war bei mir nicht vorhanden. Auch war meine Schriftfarbe grün und seine blau. Ich hatte eine ältere Version des AlphaRev-HBOOT und damit auch eine ältere CWM Version.

Also habe ich die aktuelle Version herunter geladen und auf eine CD gebrannt. Von dieser habe ich meinen Rechner gebootet und damit meinem Desire die Aktuelle AlphaRev Version verpasst. Das erst was mich dann aufmunterte, war das neue Bootlogo. Nicht mehr der htc-Schriftzug, sondern der AlphaRev-Joker. Danach habe ich ein weiteres Mal einen Full-Wipe gemacht und CM neu geflashed.
Anschließend habe ich auch die Google-Apps installiert. Und es lief wieder alles. Alles funktionierte.
Es lag also nur an einer veralteten AlphaRev Version.

Einen weiteren Tipp, den mit deepspring gab, war die App Call Delay Patch. Diese sorgt dafür, dass der Gegenüber am Anfang des Gesprächs auch Ton bekommt. Dies scheint ein Fehler in CM 7.0.3 zu sein.

Eine weitere Anmerkung:
AlphaRev ist ein Tool, das den Bootloader des Desire modifiziert. Damit verliert ihr euren Garantieanspruch. Wenn beim flashen des Bootloaders etwas schief läuft, ist euer Desire so gut wie Elektroschrott!

QR Code Business Card