Schmutzumschlag

„Ich weiß nicht mal, ob der Tag trübe ist“, schreibt er ihr und blinzelt in das immergleiche Leuchtstoffröhrenlicht. „Aber die Sonnenblenden sind runter gefahren, ich vermute mal, es ist draußen schön.“

Ein Tag wie im Schutzumschlag, wie im Schmutzumschlag, grau und trübe.

Ein sonniger Tag, eingeläutet von dicken Schneeflocken, die langsam fielen. Aber der schöne Tag ist draußen, hinter Sicherheitsglas in Fenstern, die man nicht kippen oder öffnen kann, hinter automatischem Sonnenschutz, die Arbeitsschutzrichtlinien, Sie verstehen.

Er schaut sich auf Google Maps den Fußweg zur Ostsee an. Knapp Hundert Kilometer, zwanzig Stunden wären es, sagt der Algorithmus, wenn man ohne Pause marschiert.

Er geht zum Fenster und teilt die Lamellen des Sonnenschutzes mit den Fingern, blinzelt in die Sonne. Die Eisdiele hat wieder geöffnet, Eis ab Februar, egal was das Wetter sagt, er mag das.

Dann geht er zu seinem Arbeitsplatz, klappt den Laptop zu, packt die wichtigsten Dinge in den Rucksack, nimmt sich noch ein Stück dunkle Schokolade, die Treppe nach unten, quer über den Parkplatz, ein Schokoladeneis zum Mitnehmen, in der Waffel, weiter die Straße runter, links in die Kleingartensiedlung, und dann weiter.

Immer geradeaus.

He said, ‘Young man pay heed, you listen well to what I say,
Now there comes a time for a man to walk away.’

(Bad Religion – Walk Away)

Arsch Arsch Arsch

Am Sonntag mochte die Spracherkennung bei Drive Now nicht so recht kooperieren. In drei verschiedenen Fahrzeugen in Berlin wurde statt des gesprochenen Straßennamens nur “Arsch Arsch Pimmel” und Variationen davon erkannt. Beim ersten Mal tat ich es noch als Zufall ab, als Störung eines einzelnen Autos. Falls zum Beispiel das Mikrofon beschädigt wäre, könnte ich mir noch irgendwie erklären, wie man aus viel weißem Rauschen “Arsch” erkennt, auch wenn z.B. Google diese Interpretationen sehr niedrig scoren.

Beim dritten Mal nahm ich dann folgendes Video auf:

Die Spracherkennung von Google Maps auf Android war zur gleichen Zeit übrigens nicht gestört und erkannte anstandslos alles, was ich ihr vorwarf. Aber Drive Now nutzen, soweit ich weiß, sowieso eine eigene Spracherkennungsengine.

Auf die Erklärung bin ich gespannt.

Update: Offenbar ist das Problem nicht ganz neu.

Im Speziellen

Im Allgemeinen liebe ich lieber, als irgendetwas anderes zu tun oder zu fühlen. Ich glaube an keine Götter und keine höheren Mächte, aber die Liebe, die halte ich für universell und für den einzig möglichen Ausweg aus der behaupteten Realität der Welt. Wer sich liebt, wird überhaupt erst befähigt, irgendetwas in der Welt zu bewegen. Wer andere liebt, hemmungslos und hingebungsvoll, erschafft und erfährt das größte Glück.

Im Speziellen liebe ich sie, sie mit den großen blauen Augen, in denen man sich so leicht verlieren kann, sie mit den blauen Augen, die so schön weint, sie mit den blauen Augen, die so ängstlich sein kann und so selbstsicher, sie mit den grünen Augen, die sich so hingibt, sie mit der haselnussfarbenen Iris, ruhig und lodernd zugleich. Ich liebe sie mit den festen Locken, sie mit den dünnen Haaren, mit den blauen und den roten, den braunen und den blonden, die Große, die Zierliche, die Ingenieurin, die Künstlerinnen.

Im Allgemeinen liebe ich die Hure, liebe ich die Heilige.
Im Speziellen liebe ich das Lieben und die Liebe.

Und das Leben.

Im Allgemeinen

Im Allgemeinen mag ich es ungemein, wie Licht mit Materie spielt, sich die Lichtfarbe im Schaum eines Silver Gin Fizz widerspiegelt und mehrfach gebrochen nach oben heraus schillert. Im Speziellen hat dieser eine Halogenspot, der letzte in der Reihe, eine subtil andere Farbtemperatur als alle anderen. Hat man es erst einmal bemerkt, sind die Sinne ungleich schärfer, die Wahrnehmung ist geschärft, und auch die minimal verschiedene Lichtwärme der Fluter an den Wänden wird bewusst. Mit der texturierten Tapete interagieren die Lichtflächen in einem delikaten Grenzbereich mit der Stimmung im Raum, den Molekülen in der Luft, den Gedanken in meinem Kopf, dem Funkeln in ihren Augen. Magie lässt sich nicht durch ein paar Kelvin Farbabweichung bändigen.

Im Allgemeinen mag ich es ungemein, wenn Menschen sich bemühen, ihre Aufgaben – egal ob von außen auferlegt oder selbst bestimmt – möglichst gut zu erfüllen. Ich liebe es, guten, professionellen Service zu erleben, erfreue mich an guten Produkten, an guten Lösungen für die kleinen Nervigkeiten des Lebens, bin anerkennend, wenn ich bemerke, dass sich Menschen Gedanken gemacht haben, einer Vision gefolgt sind, diese – wo nötig – an die Realität angepasst haben, oder – wo möglich – die Realität an ihre Vision. Im Speziellen bin ich mehr als angetan vom Le Lion in Hamburg, wo sich wirklich von vorne bis hinten Gedanken gemacht wurden. Angefangen in der Planungsphase, über die physische Ausformung der Bar, über das Interieur, die Auswahl, bis zum Personal. Meine „Money Quote“ aus dem Brainstorming dreht sich um das Thema Musik: „Cafe del mar und ähnlich seelenloses Gedudel adieu! Musik absichern = abspielen „mitgebrachter CDs” (z.B. durch Personal) muss unmöglich sein!“ Ziele und der Wille, sie umzusetzen. Ein prävalentes θέμα im Leben, dem Universum und dem ganzen Rest.

Vergessen Sie nicht, Sie sind der Gralsritter der Nachtaktiven.

(Jörg Meyer vom Le Lion – Bar de Paris, im Barbaublog)

Ich mag die Nacht.

adb: device offline

If you’re doing Android development and use a device running Android 4.2.2, your adb might have stopped working, saying your device was “offline”. To fix this, update your Android SDK and SDK Tools including adb. Android 4.2.2 has introduced an ADB USB debugging whitelist amongst other security improvements, and older versions of the Platform Tools do not support this handshake.

Run adb version to find out which version of ADB you are running. If it is less than 1.0.31, you should upgrade.

You can update your tools from the SDK Manager or by downloading the newest ADT bundle or SDK tools.

Happy hacking!

Glitched

Ein Gespenst geht um auf Twitter. Es ist das Gespenst des Unicode, und es bringt reihenweise Programme auf Apple-Betriebssystemen zum Absturz. (Tweet von @glitchr_ – Achtung! Bringt diverse Browser zum Absturz!)

Technisch betrachtet handelt es sich um folgende Zeichen:


U+0647 ARABIC LETTER HEH character (ه)  
25x U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+036x COMBINING LATIN SMALL LETTER M, R, D, V, C, H, X, I, I, M, H, U, A, X, H, C, A, I, R, H  
25x U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+036x COMBINING LATIN SMALL LETTER H, I, C, H, M, R, T, V, X, I, E, A, I, C, H, U, A, X, R, H  
29x U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+036x COMBINING LATIN SMALL LETTER H, C, H, M, R, D, V, X, I, C, A, I, M, H, U, A, X, I, R, H

Chrome für Mac in Version 25.x (Beta) hängt oder stürzt ab (alle Tabs des gleichen Rendering-Prozesses; das UI ist ein separater Prozess), die Entwickler-Version 26.x offenbar nicht (was aber auch am Debug Build liegen kann), von 24.x gibt es unterschiedliche Berichte. Safari crasht bei mir nicht, obwohl ich es erwarten würde. Firefox hat eh eine eigene Engine für Unicode und hat kein Problem mit dem Tweet, stellt ihn aber auch nicht richtig dar. Ebenso geht es bei Android, wo die Zeichen eiskalt dekomponiert werden.

Apples Terminal-Anwendung crasht sofort. iTerm 2 überlebt den Glitch erst einmal, crasht dann aber, wenn die Zeichen aus dem sichtbaren Bereich scrollen und in den alternate buffer oder Scrollback wandern:


Exception Type:  EXC_CRASH (SIGABRT)  
Exception Codes: 0x0000000000000000, 0x0000000000000000  
  
Application Specific Information:  
Assertion failed: (freeRange_.length >= positions), function -[SharedCharacterRunData advance:], file /Users/georgen/globalsearch/trunk/CharacterRun.m, line 38.  
    
  
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread  
0   libsystem_kernel.dylib          0x00007fff91cac212 __pthread_kill + 10  
1   libsystem_c.dylib               0x00007fff87af5af4 pthread_kill + 90  
2   libsystem_c.dylib               0x00007fff87b39dce abort + 143  
3   libsystem_c.dylib               0x00007fff87b3ae2a __assert_rtn + 146  
4   com.googlecode.iterm2           0x0000000100125fbc -[SharedCharacterRunData advance:] + 76  
5   com.googlecode.iterm2           0x000000010012570b -[CharacterRun appendRunsWithGlyphsToArray:] + 59

Die meisten Anwendungen crashen allerdings in Apples CoreText – der API, die eigentlich für die Textdarstellung im gesamten Betriebssystem zuständig ist. (Chrome rendert den Webseiten-Inhalt komplett selbst und ohne Zuhilfename von CoreText und stürzt daher nur ab, wenn der Tab-Titel ausreichend groß ist, um den Tweet, der im <title> steht, anzuzeigen.)


1  com.apple.CoreText              TRun::TRun(TRun const&, CFRange, TRun::SubrangingStyle) + 850  
2  com.apple.CoreText              CTGlyphRun::CloneRange(CTRun const*, CFRange, TRun::SubrangingStyle) + 142  
3  com.apple.CoreText              TLine::SetLevelRange(CFRange, unsigned char, bool) + 162
…

Der minimale Testcase ist offenbar folgende Byte-Sequenz:


00000000  d9 88 d2 88 cd a5 cd a8  cd aa cd af 20 d2 88 d2  |............ ...|  
00000010  88 d2 88                                          |...|  
00000013

oder benannt:


U+0648 ARABIC LETTER WAW character (و)  
U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+0365 COMBINING LATIN SMALL LETTER I character (ͥ)  
U+0368 COMBINING LATIN SMALL LETTER C character (ͨ)  
U+036A COMBINING LATIN SMALL LETTER H character (ͪ)  
U+036F COMBINING LATIN SMALL LETTER X character (ͯ)  
U+0020 SPACE character  
U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)  
U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN character (҈)

Der Bug ist Apple bekannt und man arbeitet dort hoffentlich an einem baldigen Fix. Sicherheitsrelevant dürfte das ganze jedoch nicht sein, weil OS X endlich mit Stack Guards und ASLR arbeitet, aber schön ist natürlich auch ein solcher DoS nicht. Bis es einen Fix gibt, empfehle ich, lieber Firefox und iTerm zu nutzen.

Sorry für die Crashes.

Absurditäten

Too many men
Too many people
Making too many problems

(Genesis – Land of Confusion)

Es gibt absurd viele Orangen auf dieser Welt. Die (süße) Orange ist die am häufigsten angebaute Zitrusfrucht der Welt. Alleine Brasilien produziert knapp 20 Millionen Tonnen Orangen pro Jahr, was bei einem durchschnittlichen Gewicht von 200g einer Menge von rund einhundert Milliarden Früchten entspricht. Weltweit werden sogar fast 70 Millionen Tonnen geerntet. Das erklärt auf einer rationalen Ebene, wo all der Orangensaft – mit dem Saft aus 30 Orangen! – in unseren Supermarktregalen herkommt, wo sich Literkartons an Literkartons reihen, auf voller Regalbreite und in zig Variationen, Direktsaft und aus Konzentrat, Bio und billig, und im Lager des Marktes nochmal das gleiche in mehr Pappe. Man versuche sich nur einmal vorzustellen, wie viele Orangen an wie vielen Orangenbäumen und auf wie viel Land man für einen durchschnittlich sortierten Innenstadt-Supermarkt benötigt. Und es gibt viele Supermärkte, und viele Städte, und viele Länder.

Es gibt absurd viele Menschen auf dieser Welt. Etwa 7,1 Milliarden, Tendenz stark steigend. Jeder von uns könnte sich über jeden Menschen auf der Welt Gedanken machen, und noch Hunderte fiktionale Menschen und andere Lebewesen obendrein, und all diese Menschen haben wiederum eigene Gedanken- und Erlebniswelten und können sich wiederum empathisch in andere hinein versetzen. (Ein wenig wie „Inception“, aber ohne die ganzen Theorien zur Erklärung.) De facto tun das natürlich die wenigsten, aber die schiere Möglichkeit der unzähligen Möglichkeiten sollte uns nachdenklich werden lassen. Vor allem darüber, wie absurd eigentlich das Leben ist, und diese Welt, in der wir leben, und um welche Dinge (und Menschen) wir uns sorgen und um welche nicht. Und in diesem gigantischen Meer an Möglichkeiten sollten wir immer unser Bestes geben, um alles für alle besser zu machen. Und wer jetzt glaubt, dass das schwierig sei, für den gibt es den Nachtrag: Ohne sich selbst aufzugeben.

(Wer noch nicht genug von Absurditäten hat, dem sei dieses kurze Traktat zu Mandarinenartigen empfohlen.)

So kommen die Wörter ins Wörterbuch

Nicht genug, dass man “kommen” und “Sex” nicht mit dem Standard-Android-Keyboard gestieren kann – die Worte sind im systemweiten Wörterbuch gespeichert, so dass man sie auch nicht einfach ins eigene Wörterbuch hinzufügen kann. Normalerweise würde man mit nicht erkannten Worten so umgehen, dass man sie einmal “von Hand” tippt, also in einzelnen Tastendrücken, und dann in der Vorschlagszeile bestätigt und im Benutzerwörterbuch speichert. Diese Option hat man aber nur bei neuen Wörtern. Wer gerne auf einen Latte Macchiato vorbei kommen möchte, muss sich mit einem Umweg behelfen.

Option 1: Neusprech

Wenn man einfach ein Wort eingibt, das nicht im Wörterbuch zu finden ist, z.B. “Neuwort”, und dann auf Speichern tippt, kann man das Wort vor dem Hinzufügen zum Wörterbuch nochmal verändern. Dabei kann man das Wort auch komplett gegen ein anderes eintauschen.

neuwort1.jpg neuwort2.jpg

Option 2: Einstellungen

Über die Einstellungen kann man das persönliche Wörterbuch direkt bearbeiten. Man findet die Option in den Einstellungen unter “Language & Input” > “Personal Dictionaries” > “German”. In der oberen rechten Ecke gibt es ein “+”-Symbol, mit dem man beliebige Einträge hinzufügen und sogar Shortcuts definieren kann.

Und so kann man sich dann doch vor Androids albernem Paternalismus retten, und so viel über Sex und Latte Macchiato schreiben, wie man möchte. Liebe Leute von Google, ich kann ja mit viel gutem Willen nachvollziehen, wieso ihr Autocomplete und Gesture Typing nicht alles vorschlagen lassen wollt, es soll ja so zart besaitete Mitmenschen geben. Aber dass es mir als mündigem Nutzer so schwer gemacht wird, bestimmte Worte auf ausdrücklichen Wunsch zu nutzen, nervt mich.

Beschattete Abreise, Android! (Bitte kommen.)

Neulich wollte ich auf meinen Android-Telefon mit Gesture Typing (“swipe”) folgendes schreiben:

Ich wollte zum Sex vorbei kommen, aber verdammt, du bist ausgezogen? Ein weißer Wagen wird schnell dreckig, schmutzig. Mein Sandwich ist reif und ich habe meinen Bart rasiert. Eine Latte aus meinem Lattenrost ist gebrochen. Böse Sache. Extrem: Ein getunter Dreier-BMW. Warum haben Männer Nippel? Werden sie so schneller besoffen, oder bisexuell? Meine Luftpolsterfolie hatte Blasen, dann habe ich sie an die Wand genagelt. Alles voller farbiger Lichter, sehr erotisch. Nun aber ein Schritt re Proxy. Und los.

Statt dessen kam heraus:

Ich wollte zum Sec vorbei können, aber verfemt, du bist ausgerufen? Ein wider Wagen wird schnell deckt, schmierig. Mein Dammbruch ist reiff und ich habe meinen Bart reagiert. Eine Katze aus meinem Lattenrost ist gebrochen. Bose Sache. Extern: ein getunter Dritter-BMW. Warum haben Männer Noel? Werden sie so schneller beiden, oder Buschwerk? Meine Luftpolsterfolie hatte blassem, dann habe ich sie an die Wand gemahnt. Alles voller fähiger Lichter, sehr dorische. Nun aber ein Schrott te Prix. Und los.

Das ist natürlich Unsinn, und das beginnt beim “Sec” und hört beim “können” nicht auf. Wer jetzt denkt, die Worte fehlen halt im Wörterbuch, dann fügt man sie halt hinzu: Denkste. Wenn man nämlich “Sex” einfach tippt, ist es sehr wohl im Dictionary und wird auch von der Rechtschreibprüfung nicht angekreidet. Nur in der Vorschlagsliste erscheint es nicht, und gleitschreiben kann man es auch nicht.

Und weil es mich nervte, dauernd “kommen” und “Sex” tippen zu müssen, statt es flüssig gesture-typen (hier fehlt wirklich ein gutes deutsches Wort) zu können, habe ich mir den Android-Quellcode heruntergeladen, um der Sache auf den Grund zu gehen, Verzeihung, auf die Spur zu können. Verzeihung, kommen.

In den Wörterbüchern für das Android-Keyboard, die man in packages/inputmethods/LatinIME/dictionaries/ findet, gibt es eine Liste mit “bösen Worten”. Zitat aus dem Beispiel:

The format of the word list is a flat list of word entries. Each entry has a frequency between 255 and 0. Highest frequency words get more weight in the prediction algorithm. As a special case, a weight of 0 is taken to mean profanity – words that should not be considered a typo, but that should never be suggested explicitly.

Die vollständige Liste der “Schimpfwörter” der deutschen Android-4.2-Tastatur habe ich in einem Gist online gestellt. Diese Liste ist durchaus interessant. Neben einigen Dingen, die man der Prüderie der US-Amerikaner zuschreiben kann, wie “Penis”, “Porno”, “Fetisch”, “geil” und “anal”, findet man auch harmlose, aber doppeldeutige Dinge wie “kommen”, “ausgezogen”, “blasen”, “extrem”, “latte”, “lecken”, und “lutschen”. Böse wird es dann, wenn man Worte wie “böse” auf der Liste findet. Oder aber “jüdisch”, “Farbiger”, “Weißer”, “Schwuler”, “bisexuell”, “homosexuelle”, alles Worte, die man nicht vorgeschlagen bekommen und auch nicht per Geste eingeben kann.

Während “Farbiger” und “genagelt” übrigens gesperrte Worte sind, finden sich “Neger” (Frequenz 62) und “Fick” (Frequenz 21) ganz normal in der Liste. “Ein Fick mit einem Neger” ist also kein Problem, “von einem Farbigen genagelt” hingegen schon.

Liebe Google, das ist bescheuerte Scheiße. Oder, um es mit euren Worten zu sagen: “Beschattete Abreise”.

Wine at midnight

Blogs are for angry people who are sitting at their computer with a glass of wine at midnight with nothing better to do. _

Und ich dachte, dafür gibt es Twitter, aber das befüllen Menschen ja auch tagsüber, so sagt man.

Ich lebe mehr als je zuvor. Besser, außerdem. Die letzten 6–8 Wochen waren unglaublich großartig. Mein Leben mochte ich sowieso schon vorher, und dann wird es alles noch besser, noch so viel besser. This one goes to eleven.

Eben sah ich Käsekuchen und meine Knie wurden weich. (Auch andere Dinge geschahen mit mir, die die_der geneigte Leser_in sich gerne selbst denken kann, so sie_er kann. Wenn nicht, tja.) Kerzen, Knutschen, Käsekuchen, das fasst einen guten Teil des guten Teils meines Lebens in den letzten vier Wochen gut zusammen. Bei weitem nicht vollständig, aber was ist das schon. (A world of tide pools.)

Ein anderer Teil kommt mir ins Gedächtnis, wenn ich über Farben nachdenke, über Psychedelika, und über Panthenol-Creme. Statt immer nur Wein zu trinken, kann mensch ja auch mal gepflegt weinen. Und statt Fleisch ein paar Fleischwunden, nachhaltig und umweltfreundlich. Nachsorge ist ohnehin die einzig legitime Sorge. (All certainties disappeared.)

Wieder ein anderer Teil schlägt Funken. Blaue Funken, weiße Funken. Dazu schnalzende Geräusche, spitze Geräusche, sehr niedliche Geräusche. Facetten und Ausdrücke, wie auf Knopfdruck, ohne Druck, beinahe. Eine einfache Gleichung, so logisch und naheliegend wie ökonomisch sinnvoll. Ein wenig Schmerz für die Einzelne, große Freude für die Vielen. Wie uns die Alten sungen, hier: Spock. Und so hipstergentrifizieren wir die Welt on the fly und sehen verdammt gut dabei aus. Auch ohne dicke Hornbrillen. (The momentum.)

Alles ist voller Liebe. Die Mitternacht, der Abend, auch unchristliche 7 Uhr morgens. Mit Locken oder roten Haaren, neben, unter, über, zu Füßen, im Geiste, auf der Decke. Wenn die anfängliche Verliebtheit einfach nicht aufhört, das ist Liebe. Wenn das Lächeln bleibt, das ist Liebe. Wenn es Liebe ist, das ist Liebe. (But loss is like an undertow.)

Der Kater hat sich schmollend abgewendet und zerstört aus Trotz Kartons. (Broke what seemed to be unbreakable.)

Pinkie Pie, you are so random.

In diesem Haushalt gibt es jetzt noch mehr Fettsäuren. Zuwachs gab es vor allem aus der Ecke der Öl- und Linolsäure, mit einem guten Anteil Palmitinsäure. Dieses Arganöl ist für die Ernährung nur bedingt zu empfehlen, aber es tut tolle Dinge mit Haaren. Allerdings empfiehlt sich eine Anwendung über Nacht mit anschließendem Auswaschen, sonst werden die Haare etwas schwer und pappig. Ansonsten ist Arganöl recht flexibel, so kann mensch es z.B. auch prima für Fußmassagen verwenden. (Still we are, still we are.)

Ein hohes Pfeifen zischt durch die Luft. Ein lauter Knall weckt durch die Wände. Das wird im Plenum erwähnt werden.

Sicherlich auch für Fußmassagen verwenden könnte man Rum, z.B. den 20-jährigen Malteco Ron de Guatemala. Ein wenig Schärfe, merkliches Eichenfass, Vanille-Schokoladen-Geschmack, ziemlich gute Sache. Dazu passt hervorragend dunkle Schokolade und Florence + the Machine, man kann aber auch Igorrr hören und das Essen weglassen. Ein ganz großartiger Zeitvertreib, wenn man Genuss mag. (Bring me something to keep the night away.)

No light, no light in your bright blue eyes
I never knew daylight could be so violent
A revelation in the light of day,
You can’t choose what stays and what fades away

And I’d do anything to make you stay
No light, no light
No light
Tell me what you want me to say

(Florence + the Machine – No Light, No Light)

Andere Zitate: Sieges Even – The Art of Navigating by the Stars, a.k.a. das beste Album der Neuzeit.

Herzen nach Hamburg, Berlin, Essen, Frankreich. (Completeness all around.)