Websockets mit Ruby, Sinatra und Puma
Friday, 24. October 2014
Anlass war natürlich mein momentanes Projekt, ich brauchte einen Weg, vom Server aus den Browser über Updates der Feeds zu benachrichtigen. Dafür soll der Browser nicht alle paar Sekunden beim Server anfragen, der Server soll von sich aus den Browser benachrichtigen. Und genau das geht mit Websockets.
Auf Javascriptseite wird ein neuer Websocket erstellt, dann kann über seine Funktionen auf die Nachrichten vom Server reagiert werden:
var socket = new WebSocket('ws://' + location.host + '/updated' ); socket.onopen = function() { socket.send('erste nachricht an den server'); } socket.onmessage = function(msg){ console.log(msg); }
Ein reales Beispiel findet sich hier.
Auf der Serverseite läuft bei mir Ruby mit Sinatra, und der Rack-Server ist puma. Ich habe nach einer Kollision damit in einem anderen Projekt gerne etwas Distanz zu EventMachine. Und es gibt auch ein passendes Gem, mit dem selbst bei diesem etwas seltenem Setup Websockets schnell funktionieren: sinatra-hijacker. Mein Beispielcode:
require 'sinatra' require 'sinatra/hijacker' register Sinatra::Hijacker websockets = [] websocket '/updated' do websockets << ws ws.onmessage do |msg| puts msg end ws.onclose do websockets.delete(ws) end "Done" end
Ein reales Beispiel findet sich hier.
Funktionierte am Ende erstaunlich gut. Ich muss mich allerdings noch an dieses neue Werkzeug gewöhnen. So übertrage ich bis jetzt damit nur Benachrichtigungen und hole die neuen Elemente dann per Ajax, das ist eigentlich nicht nötig, es ginge sicher auch direkt. Und ich brauchte ein bisschen um zu realisieren, dass es nicht mehr als ein Websocket pro Verbindung braucht, wenn man verschiedene Events per JSON unterscheidbar macht.
feedtragón
Monday, 13. October 2014
Ich habe heute meinen Feedreader auf github gepusht. Frische Alpha-Software, das momentane Ziel ist, ihn zu einem vollwertigen Digg-Reader Ersatz zu machen, meinen jetzigen Feedreader. Also bin ich absolut noch nicht fertig.
Aber er kann schon ein bisschen was. Feeds können abonniert werden, Einträge werden angezeigt und beim Scrollen als gelesen markiert, Blog-Updates kommen an.
Je nachdem wo man anfängt hat dieser Feedreader eine lange Geschichte oder ist zwei Tage alt. Vor einigen Jahren stolperte ich über pubsubhubbub und wollte das für Serendipity. Ich war und bin kein Gläubiger des damaligen realtime-Hypes, glaubte aber doch und immer noch, dass einige nette Dinge mit solchen Mechanismen umgesetzt werden können. Und es war einfach völlig einleuchtend für mich, wieviel effektiver es sein muss, wenn Blogs bei Updates den Reader anpingen und nicht der Reader alle 5 Minuten den Feed herunterladen muss.
Wie auch immer, ich scheiterte damals daran das ordentlich umzusetzen, aber es blieb in meinem Hinterkopf.
Ein ganzes Stück später versuchte ich mich nochmal daran, zweimal sogar, und diesmal funktionierte es. Zum einen implementierte ich es in dsnblog auf Blogseite. Und - wichtiger noch - daraufhin in rsspusher als Hubclient. Was fehlte war das User-Frontend, eben der Feedreader den ich nun gebaut habe.
Entsprechend der Hintergrundgeschichte hat feedtragón eine Besonderheit: Im Gegensatz zu tt-rss und anderen selbstgehosteten Readern betreibt er kein Polling. Updates der abonnierten Blogs werden zum Reader gepusht, dieser soll sie nur anzeigen und den externen Dienst notdürftig verwalten.
Das erspart, mit einem poll-daemon den Server unnötig zu belasten, für den kleinen Preis der Erreichbarkeit von außen. Derzeit übernimmt superfeedr diese Aufgabe, 10000 kostenlose Benachrichtigungen sollten völlig ausreichen und die Rack-Middleware funktioniert hervorragend. Sollte das doch mal ein Problem werden, steht mit rsspusher eine (solange viel zu arbeitsintensive) Alternative bereit.
Ich werde den Reader auf jeden Fall für mich vervollständigen. Wer helfen will sei eingeladen.
DNS lokal cachen
Wednesday, 8. October 2014
Das Herumhantieren mit dem DNS-Server für cloudflare und der Hinweis zu DANE hat mich daran erinnert, dass ich vor einiger Zeit mal einen lokalen Cache für DNS-Anfragen haben wollte. Nach dieser Anleitung ist das mit dnsmasq auch nicht zu schwierig.
Zuerst installieren:
sudo apt-get install dnsmasq
Dann muss die /etc/dnsmasq.conf bearbeitet werden, um Anfragen nur vom eigenen PC zu erlauben:
listen-address=127.0.0.1
Außerdem soll dnsmasq nur DNS anbieten, also:
no-dhcp-interface=eth2
eth2 entsprechend anpassen.
In der /etc/dhcp3/dhclient.conf dann noch diese Zeile einkommentieren:
prepend domain-name-servers 127.0.0.1;
Ich war mir nicht sicher, ob wicd die /etc/resolv.conf in Ruhe lässt. Daher habe ich in dessen Konfiguration für die Kabelverbindung ebenfalls die DNS-Server eingetragen, mit 127.0.0.1 als ersten Server.
Schließlich noch dnsmasq neustarten und es sollte laufen:
sudo service dnsmasq restart
Ob es wirklich funktioniert, kann man mit dig testen:
onli@Fallout:~$ dig www.google.de
; <<>> DiG 9.9.5-3-Ubuntu <<>> www.google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11671
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.de. IN A
;; ANSWER SECTION:
www.google.de. 288 IN A 74.125.230.248
www.google.de. 288 IN A 74.125.230.247
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Oct 08 17:14:49 CEST 2014
;; MSG SIZE rcvd: 63
Ich hatte das vorher mit dem Paket dnscache-run versucht, was aber leider kaputt ist - zumindest bekam ich es nicht zum Laufen.
Die Umstellung auf Cloudflare
Tuesday, 7. October 2014
Jetzt ist es durch, hier läuft Cloudflare. Die Umstellung lief leider nicht reibungslos. Das ist aber nur teilweise Cloudflares Schuld.
DNS-Server wechseln schwierig
Cloudflare funktioniert durch Auswechseln des DNS-Servers. Den bei hosteurope im fürchterlichen KIS zu ändern ist nicht einfach. Es muss an den Support eine Mail geschrieben werden, um die Domain auf "Als Reseller verwalten" zu stellen und schließlich den DNS-Server wechseln zu dürfen. Die Info fand ich nur per Google.
SSL aktiviert, aber Zertifikat nicht da
Bei der Einrichtung von Cloudflare konnte man zwar SSL aktivieren. Aber als die Umstellung erfolgt war, war das Zertifikat für die Domain noch nicht da, nur Cloudflares generisches wurde ausgeliefert. Browser zeigten also eine Fehlermeldung.
Ich habe dann die Weiterleitung auf https deaktiviert und in den Optionen der Domain Full SSL (Strict) aktiviert, und Cloudflare Zeit gegeben. Eben schaue ich in die Optionen und sehe, dass die Option auf Flexible SSL umgestellt wurde (das war die unsichere Variante). Da stimmt etwas immer noch nicht, ausgerechnet bei der ausschlaggebenden Funktion.
Edit: Auf strict Full SSL gewechselt und sofort eine Bestätigung bekommen, und die Seite steht auch noch. Vielleicht war es das jetzt.
htaccess musste angepasst werden
Per .htaccess hatte ich hier https festgeschrieben, aber für die Feeds deaktiviert. Diese Regel funktionierte nicht mehr, da
RewriteCond %{HTTPS} off
nicht erkannt wurde - was natürlich am umgewollten Flexible SSL liegen kann. Trotzdem, für Cloudflare funktionierte
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
und die ganze .htaccess sieht nun so aus:
#RewriteCond %{HTTPS} off RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' RewriteCond %{QUERY_STRING} !^.*/feeds/.* RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} #RewriteCond %{HTTPS} on RewriteCond %{HTTP:CF-Visitor} '"scheme":"https"' RewriteCond %{QUERY_STRING} ^.*/feeds/.* RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Edit: Ja, mit Full SSL funktioniert wie erwartet auch die alte RewriteCond wieder.
Performance besser? Schwer zu sagen
Hat sich der Aufwand gelohnt? Ich bin noch nicht sicher. Pingdoms Ping zufolge ist die Antwortzeit besser geworden:
Das kann aber auch an der ausgesetzten Weiterleitung zur https-Version liegen.
Cloudflare mit kostenlosem SSL für alle
Monday, 29. September 2014
Cloudflare wird für alle Nutzer SSL aktivieren, auch für die, die selbst noch kein SSL haben. Nutzer meint dabei wirklich Nutzer und nicht Kunden, das gilt nämlich auch für Nutzer des kostenlosen Angebotes. Ich finde, das ist eine großartige Sache.
Cloudflare ist ein Content-Delivery-Network (CDN). Der Nutzer trägt den DNS-Server von Cloudflare ein, dieser löst über das Cloudflare-Netzwerk zur Seite des Nutzers auf und cached dabei. Nutzer aus Australien beispielsweise müssen dann nicht mit meinem Server in Deutschland reden, sondern sie bekommen normalerweise direkt eine schnellere Antwort von einem nahem Server. Das ist aber nicht alles, gleichzeitig optimiert Cloudflare HTML/JS/CSS und filtert Attacken aus, insbesondere DDOSs. Es kann also massiv den Server entlasten.
Wenn ich also Cloudflare so offensichtlich gut finde, warum ist es hier dann nicht aktiviert? Einfach: Mir war https wichtiger. Das unterstützte Cloudflare bisher aber nur im kostenpflichtigem Pro-Plan, $20 pro Monat für meinen kleinen Blog hier waren mir aber viel zu teuer. Das ändert sich nun. Da SSL nun auch kostenlos unterstützt wird, ist der Account schon angelegt (dauert aber noch ein bisschen, bis SSL-Support da ist).
Es gibt jetzt drei verschiedene Modi:
- Wenn die Seite bisher kein SSL kann, wird die Verbindung bis zu Cloudflare verschlüsselt, Cloudflare <--> Seite bleibt unverschlüsselt. Die nennen das Flexible SSL.
- Kann die Seite zwar SSL, aber ist nicht von einer CA zertifiziert, heißt das Full SSL. Also Seiten mit selbstsigniertem Zertifikat oder wohl einer nicht anerkannter CA.
- Ist die Seite regulär signiert (so wie diese hier, was bei StartSSL nichts kostet), nennen sie es Strict SSL.
Die zweite Option, Full SSL, ist derzeit absolut unsicher, weil ein Man-in-the-middle-Angriff von einem selbstsigniertem Zertifikat nicht verhindert wird, was Geheimdiensten auch fleißig nutzen. Gleichzeitig ist es die Option mit dem meisten Potential. Führt Cloudflare in naher Zukunft eine Möglichkeit ein, das selbsterstellte Zertifikat zu pinnen, werden diese mit einem Schlag sicher. Nutzer verbinden sich mit Cloudflare und bekommen daher ein regulär signiertes Zertifikat zu sehen, das der Browser akzeptiert, Cloudflare kann das selbstsignierte Zertifikat auf Echtheit prüfen. Mit einem Schlag würden alle CAs für reguläre Webseitenbetreiber relativ unnötig.
Das ist großartig. Leider hat es den Nachteil, dass die Zentralisierung dieser Sicherheits-Infrastruktur in Cloudflare einen direkten Link zur NSA schafft. Andererseits sind CAs sowieso nie sicher gewesen und https auf Staatsebene kein Schutz, wir verlieren also nichts. Gegen normale Hacker jedoch wird das Betreiben von SSL-geschützten Verbindungen dann nochmal einfacher - und endlich wirklich kostenlos. Denn das ist StartSSL ja nicht, weil die Revokation eines Zertifikats kostet.
Ich kann also nur empfehlen, Cloudflare samt SSL zu aktivieren.
Witcher 1
Sunday, 28. September 2014
Nach Witcher 2 war der erste Teil auch ein gutes Spiel. Auch diesmal waren einige Stellen wieder schwierig, doch mit der Erfahrung aus dem zweiten Teil war alles lösbar. Wahrscheinlich sind inzwischen auch einige der Bugs gefixt, die es beim ersten Versuch noch gab.
Das Bild ist von GamersGlobal, ich bin daran gescheitert, eigene Screenshots zu machen
Die Geschichte gefiel mir gut, kein Wunder, ist sie doch stark an den Büchern angelehnt und füllt dort eine Leerstelle. Gerade am Ende wurde es mir zu kampflastig, was ein bisschen erklärt, warum der zweite Teil so ein seltsames kurzes Ende hatte: Es ging wohl nicht nur mir so.
Interessant am ersten Teil ist, dass es kaum einen relevanten Unterschied zum zweiten gibt. Da wurde wohl fleißig zurückgepatcht. Es bleiben die fundamentalen Unterschiede bedingt durch die Story, besonders weniger Schauplätze. Die Inszenierung der Gespräche ist schlechter, viel öfter passen die Sätze einfach nicht zusammen, zum Beispiel wenn Kalkstein jedes Mal nach Abschluss eines Themas "Sorry, I lost my train of thought" sagt. Es laufen viel zu viele Klone herum, teils sehen wichtige Personen identisch aus - generell ist die Grafik eine Stufe schlechter. Und das ewige Respawnen der Monster nervt.
All das macht der zweite Teil besser. Doch wieder fesselt mich die Welt, die Konsequenzen meiner Entscheidungen und Geralts Hintergrundgeschichte. Es bleibt ein tolles Spiel.
Liebster Blog Award
Tuesday, 23. September 2014
Vor etwa einem Monat hat mich Ute für einen Kettenbrief-Award nominiert. Danke Ute! Ich möchte gerne die Fragen beantworten, habe aber ansonsten ein paar Probleme: ich weiß nicht, wie viele Leser andere Blogs haben (ich habe nichtmal Statistiken für meinen), finde 11 Blogs zu viele und habe auch keine Ideen für 11 bessere Fragen.
Aber erstmal zitiere ich Ute, dies sind die von mir gebrochenen Regeln:- Schreibe einen Post mit diesem Award, füge das Award-Bild ein und verlinke die Person die dir diesen Award verliehen hat.
- Beantworte die elf Fragen.
- Denke dir elf (neue) Fragen aus.
- Nominiere elf neue Blogs, die unter zweihundert Leser haben.
- Sage den Bloggern die du nominiert hast, dass sie einen Award bekommen haben und somit getaggt wurden.
Utes Fragen und meine Antworten
Warum bloggst du? Und gegebenenfalls, warum auch phasenweise eben nicht?
Schreiben macht mir Spaß. Als ich den Blog anfing, war ich vorher im Internet über Blogs gestolpert und fand die Idee ziemlich cool, las einige regelmäßig. Ich bin mir aber nicht sicher, ob ich damals schon Google Reader benutzte. Außerdem wollte ich mir gerne eine Möglichkeit bewahren, trotz des gewähltem Informatik-Studiums irgendwie zu schreiben, mir fehlte mein Deutschkurs - und das gilt noch heute.
Wenn ich mal für eine Zeit hier nicht schreibe, dann haben andere Dinge den Blog aus meinem Kopf verdrängt. Das kann ein gutes Spiel sein, welches mich an Windows bindet, aber auch Stress oder eine meiner vielen Phasen ohne Internetzugang. Irgendwann ging zudem der Drang verloren, jeden Tag etwas zu schreiben.
Hast du beruflich mit der IT zu tun oder wie kamst du dazu zu technischen Themen zu bloggen?
Ja. Als ich anfing, war ich frischgebackener Informatikstudent, später begann Human Computer Interaction, aber darüber habe ich noch weniger gebloggt. In Teilen technisch ist dieses Blog mehr durch meine Zeit als Supporter bei UbuntuUsers und durch die verschiedenen kleinen FOSS-Projekte, die ich inzwischen pflege, plus Serendipity.Nutzt du Open-Source-Software, wenn ja: warum? Wenn nein: warum nicht?
Klar, das ist bei mir selbstverständlich. Auch wenn ich mit Windows angefangen habe, hat Ubuntu und die Ubuntu-Gemeinde mich doch stark geprägt. Proprietäre Software nutze ich nur, wenn es einen guten Grund gibt - und ein gutes Spiel spielen zu wollen zähle ich als einen solchen.Welche Netzwerke nutzt du und was magst du genau an denen? (twitter, Facebook...)
Ich blieb Facebook lange fern. Inzwischen finde ich toll, wie einfach damit Freunde und Bekannte aus verschiedenen Phasen meines Lebens und verschiedenen Teilen der Welt erreicht werden können. Das können die verschiedenen Ansätze für verteilte Soziale Netzwerke eben nicht, so schön Distanz zur USA auch wäre.
Für Twitter habe ich zwar einen Account, aber nutzen tue ich es nicht - hier mag ich die Idee eben gerade nicht.
Das wären auch alle.
Hast du eher eine online- und eine offline-Welt oder besuchst du auch Treffen, wie Barcamps, Tweetups oder ähnliches?
Ich trenne das eher. Ich war allerdings einmal bei der Froscon und würde zum s9y-Treffen fahren.Wahrscheinlich liest du ja auch andere Blogs, was magst du an anderen Blogs?
Entweder finde ich das Thema toll (wie beim CRPG Addict) oder es ist der Autor, den ich gerne lese oder gar kenne - oder man ist sich eben im Internet über den Weg gelaufen. Wer hier kommentiert und einen Link hinterlässt landet auch schnell mal im Feedreader.Nutzt du noch täglich einen Feedreader oder wie informierst du dich über neue Blogbeiträge?
Ich nutze einen Feedreader, Digg Reader. Das war lange täglich, aber im letzten Jahr schaute ich manchmal etwas länger dort nicht herein. Überraschte mich zwar, aber bei kaputtem Internet machte das wohl keinen Spaß. Grundsätzlich ist der Feedreader jedoch immer noch der Weg.
Aber ist ja auch nicht so, als ob es für ihn eine vernünftige Alternative gäbe.
Bist du auch mobil online oder nutzt du alles rundums Web eher am Rechner?
Manchmal nutze ich schon die Internetfunktion meines Telefons, seit Opera Mini dort läuft sogar wieder etwas mehr. Aber da bleibts meist bei Hacker News. Eher Rechner triffts.Hast du am Arbeitsplatz die Umgebung bezüglich Hard- und Software, die du dir ausgesucht hättest, oder musst du anderes nutzen?
Ich hatte die Wahl zwischen einem Macbook und verschiedenen HP Laptops und habe mich für ein Elitebook 8470p entschieden. War eine gute Wahl. Dort war dann ein Windows vorinstalliert, ich habe dann einfach Ubuntu (mit Unity) parallel installiert. Solange ich meine Arbeit machen kann bin ich da wohl ziemlich frei und nutze daher natürlich was ich will. Spezielle proprietäre Software brauchte ich bisher nicht.
Ich hätte mir sonst wahrscheinlich einen Thinkpad oder einen dediziert Linux-tauglichen Laptop geholt (System76 vll), aber das war nah genug dran.
Gibt es das für dich ideale soziale Netzwerk, wenn ja welches ist es, wenn nein, wie müsste es sein?
Mein ideales soziales Netzwerk hätte die Verbreitung von mindestens Facebook, mit dezentrale Architektur aber ohne Fragmentierung.
Andererseits weiß ich gar nicht, ob ich solche Arten von Netzwerken ideal fände, egal wer es kontrolliert. Ich finde eigentlich die Idee schöner, ein eigenes Netzwerk zum Chatten zu haben (wie ICQ früher), dazu themengebundene Foren wie das s9y-Forum oder das alte ubuntuusers - in solchen Orten fühle ich mich meist am wohlsten - und dann noch natürliche soziale Netzwerke wie Youtube. Und Blogs für Autoren, dazu visitenartige Homepages für Nicht-Autoren. Kurz: Das Internet, nicht das Facebook-Modell.
Bitte beantworte eine Frage, die ich nicht gestellt habe, die für dich zum Thema passt.
Blogartikel brauchen unterschiedlich lange, aber ich bin immer wieder überrascht, wieviel Zeit für sie draufgeht. Das ist fast für jeden Artikel mit typischer Länge mindestens eine Stunde.
Nominierungen
Ich nominiere:
Unabhängig von Leserzahl, spontan aus meinem Feedreader rausgepickt. Dies sind für mich ausreichend unterschiedliche Beispiele genuiner Blogs. Fühlt euch bitte aufgefordert, Utes Fragen zu beantworten - und wer den Originalregeln folgen will wird auch nicht wieder denominiert.
Edit: Mich würden Garvins Antworten interessieren, deswegen nominiere ich ihn hiermit nach.Battlestar Galactica (2004)
Saturday, 20. September 2014
Battlestar Galactica gehört wie Doctor Who zu den Serien, über die ich vor ein paar Jahren beim durchzappen mal gestolpert bin, mit der ich aber ohne Kontext nichts anfangen konnte. Im Nachhinein spricht das für die Serie: Alle Serien, die ich richtig gut fand, bauen ihre Folgen stark aufeinander auf und haben eine ausreichend komplexe Hintergrundgeschichte. Entsprechend ist Battlestar Galactica eine der besten klassischen SciFi-Serien, nur Stargate Universe konnte an Dichte und Produktionsqualität mehr als mithalten.
Und wie es anfängt! Die Zerstörung der Menschheit ist so düster und grausam, dass mir nach den ersten Folgen richtig mulmig zumute war. Dieses Gefühl, allein und verlassen ohne Zukunft im Weltall zu sein, wird sehr gut inszeniert. Dann wird die Handlung weiter ausgebaut, wird verworrener, bleibt aber treibend und fordernd. Die Zylons jagen die Menschenflotte, die Galactica beschützt die anderen Überlebenden und sucht eine neue Heimat. Dabei spielen die einzelnen Akteure nach ihrer eigenen Agenda, mit- und gegeneinander, gibt es politische Intrigen, Terroristen und versteckte Zylons, alles aufgebaut zu einem spannenden Handlungsbogen.
Zwischendurch wird dann geschlampt. Den Schreibern ging wohl der Stoff aus, für manche Folgen werden den schon eingeführten Hauptpersonen plötzlich neue Hintergrundinfos zugedichtet, die nur für die gerade stattfindende Handlung wichtig sind und nachher auch wieder vergessen werden. Einer der Charakter (Helo) steht einfach immer auf der moralisch richtigen Seite - die es ansonsten in der Serie gar nicht immer gibt - und darf dafür dann eine Folge lang in einer unwichtigen Füllstory gegen unglaubwürdig verzerrte Abbilder der anderen anrennen, die alle das offensichtlich richtige nicht so sehen wie er. Das machte keinen Spaß.
Aber insgesamt bleibt das dann doch die Ausnahme. Das beste ist: Die Serie findet ein richtiges Ende, und die letzte Staffel lang wird nochmal die Handlung vorangepeitscht und fast alles miteinander verwoben. Mir fällt keine SciFi-Serie ein, die das ähnlich gut gemacht hat - könnte natürlich daran liegen, dass ich kaum SciFi-Serien mit echtem Ende kenne. Alle Star-Trek-Serien bespielsweise hatten bescheuerte und plötzliche Enden, ausgenommen DS9, dessen Ende ich aber nicht mochte.
Ich mochte auch hier die religiösen Aspekte nicht, die im Laufe der Serie stärker werden und sich als Kern der Geschichte entpuppen, und entsprechend war mir dieser Kern der Geschichte dann zu simpel. Aber insgesamt mochte ich die Story mit ihren Nebengeschichten, und mir gefielen die Figuren. Edward Hames Olmos als Admiral Adama verkörpert seine Rolle perfekt, ich kaufe ihm den unantastbaren Admiral und später den mit sich hadernden Anführer/Vater ab, und auch die Geschichte mit der Präsidentin. Die wiederum, Mary McDonnell als Laura Roslin, einen tollen Aspekt der Geschichte spielt: Die Rolle der Politikerin, die gleichzeitig sympathisch wirken und kaltherzige psychopathische Entscheidungen treffen muss. Das ist ähnlich fesselnd wie die Geschichte von Dr. Gaius Baltar (James Callis), der anfangs der Ankerpunkt der Hauptstory ist und durch die Vision eines Zylons im Kopf vom Wissenschaftler zur Jesusfigur mutiert; wobei wirklich lange nicht klar ist, auf welcher Seite er steht und wie verrückt er wirklich ist. Die absurdeste aller Figuren, aber wahrscheinlich auch die wichtigste. Tricia Helfer in dem roten Kleid ist atemberaubend und ideal für den Kontrast zur Maschinenrolle. Das alles sind Figuren, die - so glaube ich - über die Serie hinaus ikonenhaft ihren Platz in meiner Gedankenwelt einnehmen werden.
Und so kann ich weitermachen, Grace Park erwähnen - deren Boomer-Part ich toll fand - und die anderen Träger der Serie, Apollo, Starbuck, Colonel Saul, den Chief… Aber das ist es eben, man muss alle Rollen aufzählen, keine ist fehlbesetzt, jede ist für die Handlung wichtig. Und genau deswegen ist Battlestar Galactica fast durchweg eine sehr gute Serie.
Gunpoint
Wednesday, 17. September 2014
Gunpoint fand ich gut.
Ein bisschen schwieriger zu beschreiben als viele andere Spiele. Es ist eigentlich ein Jump'n Run mit Puzzeln und Rollenspielelementen. In kleinen Levels muss jeweils ein bestimmtes Ziel erreicht und dafür Wachen ausgeschaltet oder umgangen werden. Die Spielerfigur kann sehr weit springen und nimmt durchs Fallen keinen Schaden, das ist auch die Hauptwaffe, durchs Springen auf Gegner können diese ausgeschaltet werden. Dazu kommt die Fähigkeit, interaktive Elemente in den Leveln neu zu verknüpfen - sodass z.B. der Lichtschalter die Tür öffnet, oder er die Steckdose einen betäubenden Stromstoß senden lässt.
Das Ganze ist verpackt in eine bewusst wirre Story um Mord und Industriespionage, deren Stil schwankt zwischen absurdem Humor und Film Noir, und die vom Spieler beeinflusst wird. Sie wird in Textchats zwischen dem Spieler und den NPCs erzählt, wobei aus verschiedenen Antworten gewählt werden kann. Entsprechend ändert sich die Geschichte wohl, es können verschiedene Seiten gewählt werden. Mein Ende klingt also wahrscheinlich etwas anders als viele andere.
Leider ist das Spiel zu kurz, laut Steam habe ich es innerhalb von zwei Stunden durchgespielt. Dafür ist es Teil des aktuellen Humble Indie Bundles und läuft unter Linux. Dort passt es gut rein, denn es ist wirklich etwas besonders und macht Spaß.
Galactic Civilizations II
Friday, 5. September 2014
Ich habe nicht damit gerechnet, nach meinem Umzug innerhalb Frankreichs direkt Internet zu haben, und tatsächlich funktioniert bisher nur das spieleuntaugliche Wlan des Nachbarn über den Provider-Gastzugang. Für diesen Fall habe ich ein paar Offline-Spiele heruntergeladen, Galactic Civilizations II aus dem letzten Humble Bundle ist eines davon. Es entpuppt sich als gute Wahl.
GalCiv2 ist ein klassisches rundenbasiertes 4x-Weltraumspiel mit moderner Benutzerführung, zumindest im Vergleich zu dem was ich früher in dem Genre gespielt habe, Ascendancy, Master of Orion und Birth of a Federation. Davon ähnelt es wohl am meisten Birth of a Federation, ist aber sicher das beste der vier.
Am Anfang steht Weltraumgenerierung, Rassen- und Bonusauswahl. Mein erster Versuch startete auf einer Karte mittlerer Größe, die ich als eher klein für das Genre empfand, daher dauerte dieses Spiel aber auch nicht zu lange. Man startet mit einem Planet und ein paar Schiffen, dann beginnt das übliche Spiel: Neue Schiffe bauen, Forschen, die Planeten bebauen, das Weltraum erkunden, schließlich Diplomatie mit den anderen Rassen, bis dann irgendwann ein schlagkräftiges Militär aufgebaut werden muss und man dafür geeignete Schiffe per Hand designen kann. Es dauert lange, bis andere Planeten eingenommen werden können, aber dann ändert sich der Charakter des Spiels, es wird agressiver.
Planeten gibt es in unterschiedlichen Größen und Typen, es gibt verschiedene Arten lebensfeindliche Planeten, für deren Kolonisierung jeweils erst eine durchaus teure Technologie erforscht werden muss. Das scheint sich zu lohnen, die so erreichbaren Planeten sind generell eher groß, bieten also viel Platz für Gebäude.
Events und Mega-Events fordern den Spieler oder helfen. Während einem Krieg mit einer militärisch überlegenen Zivilisation, den ich dank der nicht zu intelligenten KI (auf einem der leichteren Schwierigkeitsgrade) in eine Patt-Situation mit leichtem Gewinn für meine Seite geführt hatte, erschien plötzlich ein Fenster und schrieb, dass meine Scouts ein Alien-Schiff gefunden hätten. Dieses war mächtig genug, den Krieg im Alleingang zu gewinnen.
In meinem zweiten Spiel sind dagegen Dread-Lords aufgetaucht, feindliche Aliens mit unfassbar mächtigen Schiffen, die inzwischen versuchen meine Planeten einzunehmen. Also musste ich die Forschung umstellen und habe schließlich einen Dread-Lord-Hunter konstruiert, ein großes teures und gut bewaffnetes Schiff, das mit etwas Glück ihre Schiffe zerstören kann und gerade auf mehreren meiner Planeten produziert wird. Ich kann nur hoffen, dass dieser Plan funktioniert, ich fürchte die Bedrohung zu lange ignoriert zu haben.
Diese Events sind ein zweischneidiges Schwert, denn zwar machen sie das Spiel unvorhersehbarer und damit interessanter, aber sie können auch ziemlich frustrierend sein, wenn durch sie alle Flotten verloren gehen oder vermeintlich loyale Planeten plötzlich zu einer sich per Mega-Event neu gründenden Zivilisation überlaufen.
Natürlich sind sie zu Beginn eines neuen Spieles deaktivierbar.
Alles in allem ist es ein sehr gutes Spiel, wenn man dem Genre etwas abgewinnen kann. Bald soll der dritte Teil der Reihe veröffentlicht werden - wenn der das alte Spiel in neuem Gewand und mit weiteren Verbesserungen ist, wird er mir sicher gefallen. Leider scheint selbst dafür keine Linux-Version geplant zu sein.
Gesammelte Unterschiede zwischen Frankreich und Deutschland
Friday, 29. August 2014
Natürlich ist da das Baguette. Gibt es zwar auch in Deutschland, aber hier ist es allgegenwärtig, kostet 0,85€ oder 0,45€ für die Hälfte, steht in der Bäckerei dort wo in Deutschland die Brote liegen. Diese dagegen fehlen, ein normales Brot existiert fast nicht, selbst die angeblich dunklen Brote sind hell. Brötchen fehlen ganz.
Die Bäckereien führen ganz andere Teilchen, bis hin zur pâtisserie, die selbst in der gewöhnlichsten Form in der Kleinstadt deutsche Konditoreien sehr grob aussehen lässt. Dafür fehlt die breite Kuchenauswahl.
Ein Teilchen, ein éclair zum Beispiel, kostet etwa 2,10€.
Kaffee in Deutschland ist eine große Tasse und meist mit Milch. Hier ist es eine kleine Espresso(?)tasse, und wenn mit etwas, dann mit Zucker. Gefällt mir wesentlich besser.
Wasser im Restaurant ist kostenlos, muss erfragt werden, gibt es aber immer (Leitungswasser). Wird dann in einer Karaffe dazugestellt. Gleiches gilt für die Mensa, dort gibt es Wasserspender und große Behälter, um das Wasser damit zum Tisch zu tragen. In manchen Mensen in Deutschland gibt es auch Wasser umsonst, dann aber meist nur im kleinen Glas.
Es gibt hier eine ganz andere Restaurantkultur. Es gibt mehr von ihnen und sie werden häufiger zur normalen Ernährung genutzt. Die plat du jour ist meist in erheblichem Umfang günstiger als die normalen Gerichte, auch gibt es dedizierte Mittagsgerichte. Es ist normaler, sich ein kleines Menü zu bestellen, mindestens Hauptspeise und Vor- oder Nachspeise.
Für Nachspeisen gibt es eine andere Grundauswahl. Ja, man findet auch hier Tiramisu (seltener) und mousse au chocolat, aber dazu kommen tarte au citron, îles flottantes, crème brûlée, und einiges mehr.
Frankreich ist tausendmal bürokratischer, und es erreicht inzwischen absurde Ausmaße. Beispiel: Um sich an der Uni zurückzumelden, muss man alle Unterlagen von der Einschreibung nochmal ausfüllen. Inklusive Kopie des Persos, eines Lichtbildes, also inklusive aller Daten, die sie längst haben. Ich empfinde das als höchst unhöflich, als Beleidigung. So eine ineffiziente Zeitverschwendung Menschen aufzuerlegen, das kenne ich aus Deutschland nur aus Horrorgeschichten des Arbeitsamtes, die damit ihre Opfer zermürben wollen. Hier ist es Alltag.
In Deutschland? Fälligen Betrag an das Konto überweisen.
Versicherungen werden generell ernster genommen. Passend zur Bürokratie gibt es Versicherungen für alles. Manche Vermieter fordern Nachweis einer existierenden Haftpflichtversicherung vor Einzug. Diese Versicherung ist fast immer an die Wohnung gekoppelt, kombiniert mit einer Hausratversicherung.
Krankenversichert ist man scheinbar automatisch, aber sie deckt nicht alles ab, die Zuzahlungen sind höher als in Deutschland (glaube ich). Daher gibt es die mutuelle, eine Zusatzkrankenversicherung, die dann die Zuzahlungen übernimmt.
Hier waren bis vor kurzem Schecks üblich. Es gab wohl eine geeinte Anstrengung, sie aus dem Alltag zu verbannen, es findet sich in jedem Supermarkt Schilder an den Kassen, dass sie nicht mehr angenommen werden. Was natürlich von einigen Alten ignoriert und dies von den Angestellten akzeptiert wird.
Dementsprechend hängen - anders als in Deutschland - öffentliche Institutionen und einige Menschen hinterher (Vermieter und Uni wollten beide einen Scheck von mir, den meine Bank mich aber gar nicht mehr ausstellen lassen würde, da neuer Kontotyp). Und die Infrastruktur für Online-Überweisungen ist lächerlich, nichtmal TAN-Listen, unsichere Pins mit Pseudosicherheit durch sich ändernde Eingabefelder obendrein, das Hinzufügen eines neuen Empfängerkontos zur Liste möglicher Überweisungsziele dauert 24h.
Die Schaffner tragen lila Hemden, die SNCF kommt mir generell freundlicher als die Deutsche Bahn vor. Züge haben als letzten Waggon (manchmal?) einen alten mit Abteilen, daran meine ich höchstens Kindheitserinnerungen zu haben, in Deutschland sind sie längst ausrangiert.
Die Busse sind günstiger, in ihnen wird weniger geredet und telefoniert, auch wenn es nicht ganz so streng zugeht wie das vorher geschildert wurde.
Es gibt ein Äquivalent zu girlfriend, petite-amie, die Doppeldeutigkeit des Wortes Freundin entfällt dadurch etwas. Wobei mon amie immer noch mehr als eine normale Freundin sein kann.
Die Sprache wird generell etwas anders benutzt. Deutsch 1:1 zu übersetzen, selbst wenn korrekt umgestellt, würde schnell als unhöflich empfunden werden. Stattdessen wird manchmal das s'il vous plaît gebraucht, aber mehr noch kompliziertere Strukturen wie je vous remercie de bien vouloir als Einleitung zu einer Aufforderung.
Andererseits werden Emails oft hingeschludert, ohne Anrede und Grußformel. Dürfte natürlich davon abhängen, wer wem schreibt. Könnte aber auch mit einer gewissen generellen Technikferne zu tun haben, die ich mir einbilde wahrzunehmen, aber vielleicht wäre das nicht wirklich ein Unterschied zu Deutschland.
Weiterer Unterschied in der Sprache: Das Englisch ist durchschnittlich schlechter als in Deutschland und viel öfter schlicht nicht vorhanden. Es würde in der Schule sehr schlecht gelehrt, sagen die Franzosen. Und es wird aktiv vermieden, so weigert sich der Französisch-Sprachkurs per Beschluss von oben, vorhandene Englischkenntnisse der Studenten für das Lehren der neuen Sprache zu nutzen, was in Deutschland Standardpraxis ist.
Es gibt natürlich noch andere Unterschiede, aber vieles ist subjektiv oder schwierig zu beschreiben. Häuser sehen anders aus, es finden sich andere Autos auf der Straße, dem Aussehen nach wird auf sie weniger Wert gelegt. Frauen tragen andere Kleidung, Männer geben sich anders, beide Geschlechter folgen anderen Klischees. Es wird mehr geraucht.
Ein paar weitere Unterschiede (und ein paar Doppelungen) finden sich in meinem ersten Artikel zu Frankreich.
Man of Steel
Monday, 25. August 2014
Besser kann eine Supermanverfilmung kaum sein.
Man of Steel schafft es, Superman nicht völlig unverwundbar sein zu lassen. Im Kampf gegen seinesgleichen ist er zwar - natürlich - stärker, aber nicht unbesiegbar. Auch ist er nicht unfehlbar und allmächtig, wie tausende Tote und das fast zerstörte Metropolis zeigen. Und doch ist er auch hier noch ein übergroßer Superheld.
Natürlich ist er keine tiefe Figur, kein Rorschach, nichtmal Batman. Aber das kann Superman konzeptbedingt auch gar nicht sein. Dafür hat er hier endlich eine Hintergrundgeschichte samt Selbstfindung, die einen beachtlichen Teil des Films füllt, ist nicht mit einer vage angedeuteten Alienherkunft einfach nur da, was die Figur schon ein ganzes Stück runder macht. Gleichzeitig wird die altbekannte Clark-Kent-Coverstory ausgeblendet, nur am Ende angeschnitten, was dem Film nur gut tut. Und auch sonst gibt es Modernisierungen, beispielsweise ist die Schwachstelle kein seltsamer Kristall, sondern etwas plausibler.
Ich mochte auch die vielen kleinen Witze und Anspielungen in dem ansonsten absolut kolossalen Actionfilm. Als Lois erklärt, dass das Supermansymbol kein L ist, sondern ein S, und ansetzt Superman zu sagen, nur um bei Su… übertönt zu werden. Die Baustelle und der Lastwagen der Luthercorporation. Das Smallville-Schild im Hintergrund, oder das Schild mit "106 days without accident" mitten in all der Zerstörung, das von Superman umgerissen wird. Russell Crowe mit der Gladiatorinszenierung. Dass die erste Supertat in einem stählernen Konstrukt stattfindet. Und allein Supermans Frisur.
Natürlich sind auch Macken drin. Wenn Lois Lane bei angeblich -40° im Eis herumrennt und sich nichtmal die Mütze überzieht ist es nur ein bisschen ein wtf. Das Nokia-Produktplacement ist nur unwürdig. Aber wenn die Kryptonier plötzlich fast so stark und unverwundbar sind wie Superman, obwohl doch nur er lange auf der Erde gelebt hat, was ein paar Minuten vorher noch als Quelle überdurchschnittlicher Kraft bezeichnet wurde, dann ist das doch wirklich störend. Dass das Militär trotz Angriffsbemühungen nie auch nur in Erwägung zieht, Atomraketen auf das Raumschiff zu schießen, ist auch eher inkonsistent.
Und noch ein bisschen subjektiver als sonst: Amy Adams ist sicher keine schlechte Schauspielerin, in American Hustle mochte ich sie auch. Aber sie passt so gar nicht in mein von Margot Kidder geprägtes Bild der Lois Lane.
Trotzdem, nach der pubertären Peinlichkeit von Smallville ist Man of Steel eine echte Erholung. Angelehnt an die Vorgänger, würdig modernisiert, und vor allem sehr unterhaltsam. Eben auch ein Film, der die durch seine Unbeschränktheit einzigartige Kapazität Supermans für ein Actionspektakel so richtig ausnutzt, ohne bei dem Versuch in Langeweile à la Transformers 2 zu enden.
Velvet Assassin
Sunday, 24. August 2014
Velvet Assassin ist eines dieser Spiele, die es heute kaum noch gibt. Es ist nicht Indie und es ist kein AAA-Game, es ist ein nicht perfektes, nicht allzu langes (10h Spielzeit), professionell gemachtes Mid-Budget Schleichspiel mit fehlendem Ende.
Als Schleichspiel ist es ziemlich einzigartig, es ähnelt in der Hinsicht Metal Gear Solid, Alpha Protocol, Thief oder Deus Ex, ohne so gut zu sein wie eines dieser Spiele. Trotzdem ist es ein gutes Spiel, das genug motiviert um es durchzuspielen, und mir persönlich besser gefällt als (das in Teilen ja sogar ganz ein bisschen ähnliche) Batman: Arkham Asylum, das ich stattdessen hätte spielen können.
Man hat bestimmte Aufgaben zu erfüllen, meist bestimmte Nazis zu töten, unterteilt in Untermissionen um in ihre Nähe zu gelangen. Das alles ist eine Retrospektive, die Heldin liegt verwundet in einem Bett und träumt davon, wie sie hierher kam. In Zwischensequenzen wird erzählt, wie sie dabei mitbekommt, dass ihre französischen Pfleger über die Zukunft der Wehrlosen uneinig sind. Denn die Nazis suchen sie und fordern ihre Auslieferung.
Im Spiel selbst folgt man linearen Levels, in denen Wachen festen Patrouillenwegen folgen. Mit ein bisschen Geschick und etwas Kombinationsgabe können sie alle lautlos getötet werden indem man sich von hinten anschleicht und sie dann per Knopfdruck erledigt. Wobei sie manchmal mit Pfiffen weggelockt werden müssen und es nicht immer ganz einfach ist. Alternativ gibt es auch fast immer Munition, um zu knackige Stellen mit Gewalt zu lösen, und es gibt ein paar Situationen, in denen Schleichen keine Option ist. Dazu kommt das relativ seltene Morphium, mit dem für eine kurze Weile die Zeit angehalten und ein einzelner Gegner ausgeschaltet werden kann.
Third-Person, Grafik der letzten Konsolengeneration, RPG-Elemente, Checkpoint-Speichersystem. Das nervigste am Spiel ist genau das, der fehlende Quicksave - es ist wohl eine Konsolenadaption - und die Standard-Tastaturbelegung, bei der Pfeifen auf der Leertaste liegt, wodurch jeder Spieler seinen eigenen Tod herbeiführen wird wenn er das erste mal springen will. Was übrigens nicht geht.
Das Spiel hat seine Besonderheiten. Es ist eine Protagonistin, kein Held, unüblich genug und stellenweise gut genutzt. Die Grafik ist technisch nicht beeindruckend, aber öfter mal hübsch gemacht und mit künstlerischem Einschlag, mit herbstlichen Farben und guten Licht- und Schatteneffekten. Es gibt hübsche Zwischensequenzen, mit farbigen Videos samt Weichzeichner für die Handlung, in Polaroidfoto-Rahmen und ausgebleicht für die Missionsbesprechung. Dazu nicht unhübschen Ladegrafiken, welche Violette zeigen. Das Beste aber ist die Sprache: Nazis sprechen deutsch, Franzosen französisch, Violette als britische Agentin englisch, alles untertitelt in englisch. Und es ist echtes deutsch und französisch, kein amerikanisches Möchtegern. Allerdings hätten mehr Sprecher dem Spiel gut getan.
Überraschenderweise ist es dem Thema angemessen düster. Die Nazis sind so fürchterlich, wie sie eben waren, reden in dieser Endphase des Krieges von Folter und Holocaust, töten Zivilisten und zeigen ab und an einen zynischen Humor. Das gepaart mit Violettes hörbaren Hass auf die Nazis und der Unsicherheit über ihre Zukunft ergibt eine sehr düstere Stimmung, was für ein kleines Spiel mit eher simpler Mechanik schon ungewöhnlich ist. Dazu kommen Szenen in Warschaus Ghetto während des Aufstandes, wo es mir fast zu viel wurde…
Es ist kein perfektes Spiel, es hat Macken. Aber es ist erinnerungswürdig und interessant, daher es in jedem Fall wert, beim nächsten Sonderangebot (bei Steam kostete es letztes Wochenende 0,70€) mitgenommen zu werden.
udiskie unter Ubuntu 14.04
Tuesday, 19. August 2014
Die größte aller Herausforderungen für einen modernen Desktop: USB-Sticks automatisch ein- und aushängen.
Die Desktopumgebungen machen das automatisch, doch ohne Unity, KDE & Co ist das tatsächlich nicht einfach, so bescheuert das auch klingt. Viele Jahre hatte es die Linux-Entwicklergemeinde nicht hinbekommen, einen verlässlichen Daemon zu schreiben, der neu erkannte Partitionen automatisch einhängt und vom Nutzer ein Signal bekommen kann, um sie wieder auszuhängen. Man sollte meinen, das sei einfach.
Wie auch immer, inzwischen gibt es sowas, sogar mehrfach. udiskie ist die von mir bevorzugte Variante, aber auch sie muss erst richtig eingerichtet werden. GNU/Linux - oder Ubuntu - macht das inzwischen mehr zu Voodoo als simpel, aber es ist hinbekommbar.
Zuerst muss udiskie installiert werden. Da es nicht in den Paketquellen ist, empfiehlt sich die Installation über pip:
sudo pip install udiskie
Falls das an fehlenden Abhängigkeiten scheitert, diese vorher installieren (bei mir war schon alles da):
python-setuptools libudisks2-dev python-gi-dev python-distutils-extra notify-osd
Nun kann udiskie ausgeführt werden, aber es kann noch nichts mounten, da die Rechte fehlen.
Zuerst muss der Fenstermanager durch ck-session gewrappt werden. Ich starte meinen in der ~/.xinitrc, und die sieht nun so aus:
export `gnome-keyring-daemon -s --components=pkcs11,secrets,ssh` exec ck-launch-session dbus-launch /usr/local/bin/icewm-session
Bei den meisten dürfte das local wegfallen.
Außerdem muss die /etc/polkit-1/localauthority/50-local.d/10-udiskie.pkla erstellt werden und so aussehen:
[Local Users] Identity=unix-group:storage Action=org.freedesktop.udisks.*;org.freedesktop.udisks2.* ResultAny=yes ResultInactive=no ResultActive=yes
Danach den Fenstermanager neu starten, udiskie ausführen und einen USB-Stick einstecken. Er sollte automatisch eingehängt werden.
Photo 1.0 veröffentlicht und in Spartacus
Tuesday, 12. August 2014
Vorhin habe ich photo im Forum vorgestellt und auf Spartacus hochgeladen.
So sieht es jetzt aus (in der hellen Variante):
Es hat sich ein bisschen was seit dem ersten Blogpost darüber getan. Zuerst bin ich durch Yellowleds Anmerkungen gegangen. Dementsprechend:
- …ist das Kommentaformular nun etwas grauer
- …werden günstigere Webfonts als default genutzt (droid sans). Ich bin daran gescheitert, generell nur kleine und gute auszuwählen, und sah das als zweitbeste Lösung
- …stammen diese Webfonts jetzt von Google, nur Aleo nicht, da es dort fehlt
- …werden die Webfonts für das Banner (Aleo oder Philosopher) nun auch für normale Überschriften genutzt, wodurch sie zu laden weniger verschwenderisch wirkt
- …wurden einige Standardeinstellungen geändert
- …gibt es nun ein lazyload für alle Bilder, mit no-js fallback
Dazu kommen noch einige andere Änderungen:
Die helle Variante ist nun vollständig - aber mir gefällt die dunkle immer noch besser, in ihr steckt auch insgesamt mehr Sorgfalt, sie war einfach zuerst da und ich hatte sie länger vor Augen.
Es gibt ein Fallback für die Slider-Box (das mir fast besser gefällt als die Box selbst) für Nutzer mit deaktiviertem JS oder falls die Box deaktiviert wird, das Beachten der Option fehlte nämlich noch.
An den margins und paddings wurde ein bisschen gedreht und es wurden ein paar kleinere Bugs gefixt, wie das Anzeigen des Kommentarformulars bei deaktivierten Kommentaren oder die falsche Farben für die s9y-Benachrichtigungen.
Außerdem habe ich eine Readme im Demoblog angelegt, in der (bisher nur) die initiale Einrichtung der Bilderverknüpfung beschrieben wird.
Sobald die Mirrors aktualisiert sind, sollte es im Adminbereich eines jeden Serendipity-Blogs angeboten werden. Allerdings wird es erst ab Version 2.0 funktionieren und ist entsprechend markiert, ich hoffe also, dass es in 1.x-Versionen nicht in der Liste auftaucht oder zumindest nicht installierbar ist.
Ich bin gespannt auf die ersten Bugreports oder Erfahrungsberichte und hoffe, dass es seine Funktion gut erfüllt.
Eine Sache noch: Ich hatte ja darüber nachgedacht, das Theme nicht freizugeben und stattdessen zu verkaufen. Schlussendlich hab ich mich offensichtlich dagegen entschieden. Für mich war das interessant, denn ich bin mir nicht sicher, warum das nicht-freigeben auf einmal eine Option was. Kam der Gedanke daher, dass ich inzwischen sowas wie arbeite? Das wäre widersprüchlich, denn es bedeutet, dass ich mehr Geld habe als früher - aber gleichzeitig ist es zur Zeit auch mehr wert, falls das irgendwie zusammenpasst. Lag es eher wirklich daran, dass es eines der ersten Projekte war, dass ich nicht für mich gebaut habe? Könnte durchaus sein, denn tatsächlich plane ich nicht, das Theme für mich selbst zu nutzen. Das ist bei nahezu allen s9y-Plugins, an denen ich werkelte, anders gewesen, und gilt ja genauso auch bei s9y 2.0. Und ich zögerte deswegen, soviel Zeit ohne tieferen Nutzen aufzuwenden (aber sobald ich anfing war es dann das übliche, Reiz der Herausforderung samt Wunsch, es genau so umsetzen zu können wie geplant).
Wo ich mir sicher bin: Teilweise hat es mich schlicht interessiert, ob es geht. Ob ich das Theme verkaufen könnte, ob meine Arbeit gut genug ist und ob es Käufer gibt (was alles andere als sicher ist, s9y ist schlicht zu wenig verbreitet oder in einer dafür passenden Nische). Das wäre schon cool gewesen, auch um später zu wissen, ob sowas eine Option ist.
Es läuft darauf hinaus, dass ich mich durchgerungen habe, eine Spendenseite für photo auf pledgie einzurichten und im Demoblog zu verlinken. Das erste mal für mich, und ich muss mich an den Gedanken noch gewöhnen. Aber ich weiß: Ich würde mich riesig drüber freuen, wenn bei Gefallen und entsprechendem Nutzwert des Themes dies ein bisschen vergütet werden könnte.