How to Encode an SVG for the `src`-Attribute using PHP

As SVGs should preferably not be base64 encoded when setting them on an -tag src-attribute, the suggested alternative is to URL-encode them. The standard PHP urlencode function unfortunately is not suitable for this task, as the resulting value is not interpreted by any browser as a valid SVG image. Instead, the function rawurlencode has to be used. Took me some time to realize. As soon as you get this, you can also take over some other optimizations; maybe get inspired by Taylor Hunts mini-svg-uri to decode some characters manually to improve the overall size. A final function could possibly look like this:

function svgUrlEncode($svgPath)
{
$data = \file_get_contents($svgPath);
$data = \preg_replace('/\v(?:[\v\h]+)/', ' ', $data);
$data = \str_replace('"', "'", $data);
$data = \rawurlencode($data);
// re-decode a few characters understood by browsers to improve compression
$data = \str_replace('%20', ' ', $data);
$data = \str_replace('%3D', '=', $data);
$data = \str_replace('%3A', ':', $data);
$data = \str_replace('%2F', '/', $data);
return $data;
}

Loading Likes...

Cortana vs. Siri #4: Verfügbarkeit

Lange hat es gedauert, doch nun scheint dieser Punkt auch an Cortana zu gehen: Seit nicht allzu langer Zeit ist einerseits Cortana auf Windows 10 Geräten auch in der Schweiz standardmässig verfügbar, ohne dass man gross tricksen muss, und andererseits Siri verfügbar auf Desktop-Geräten und Laptops, die mit dem neusten MacOS ausgerüstet sind. Aber den wharen Punkt gibt es, da insbesondere Cortana bald auch auf iOs- und Adroid-Geräten verfügbar, was von Siri umgekehrt wohl nie behauptet werden kann.

Loading Likes...

Apple Superdrive mit Windows verwenden

Das Apple Superdrive Laufwerk lässt sich problemlos unter Windows verwenden. Allerdings muss dafür der entsprechende Treiber installiert werden.

Das geht folgendermassen: Laden Sie sich die Apple Boot Camp-Support-Software herunter. Die Datei ist eine Zip-Datei, also um einen «Zip-komprimierten Ordner», wie Windows das nennt. Entpacken Sie die Datei und öffnen anschliessend den entpackten Ordner. Gehen Sie darin zum Unterordner /BootCamp/Drivers/Apple. Dort finden Sie eine Datei namens «AppleODDInstaller64.exe» (eventuell ist die Endung «.exe» nicht zu sehen). Installieren Sie mithilfe dieser Datei den Treiber, indem Sie auf sie doppelklicken und dem Installationsassistenten folgen. Das war es schon! Beim nächsten Anhängen des Apple-SuperDrive Laufwerks sollte Ihr Windows dieses nun erkennen und damit arbeiten können.

Loading Likes...

Dynamic MediaQueries for an image raster with Sass

Ich konnte MediaQueries dynamisch aus Zurb Foundations-Breakpoints für ein Raster mit folgendem Sass-Code genierieren:

$i: 2;
@each $s,
$breakpoint in $breakpoints {
    @media (min-width: $breakpoint) {
        div.grid {
            .element {
                width: calc(100%/#{$i});
            }
        }
    }
    $i: $i+1;
}

In meinem Fall generiert es die Medienabfragen für alle Breakpoints, die für das Zurb Foundation Framework in den Sass-Array $breakpoints definiert sind. Für jeden Haltepunkt erhöht er die Anzahl der in einer Reihe des Gitters angezeigten Elemente, indem er seine Breite einstellt, beginnend mit zwei Elementen für die kleinste Bildschirmbreite. Natürlich muss für das .element die display -Eigenschaft auf inline-block gesetzt sein.

Loading Likes...

Erkenntnisse fürs Leben

Bei meinem Abenteuer in Moskau und Sankt Petersburg habe ich einiges gelernt. Vieles davon hatte ich eigentlich schon gewusst, doch nicht zu Herzen genommen. Dazu gehört:

  • Bezahlen in einem anderen Land ist trotz Bearbeitungsgebühr günstiger mit einer Kreditkarte als mit der Maestro, während das Abheben von Geld besser mit der Maestro ausgeführt werden sollte
  • Wäschewaschen geht im Notfall problemlos mit Shampoo oder Duschgel, sofern das Produkt nicht zu viel Schaum produziert
  • Eine kleine Geschirrspülmaschine mit Handspülmittel zu füttern kann jedoch zu einer Schaumparty in der Küche führen
  • Dieser Punkt würde die Moral etlicher Disney-Filme wiederholen, weshalb ich ihn durch diesen Text ersetzt habe

Passend noch einige Fun Facts, die mich mehr oder weniger überrascht haben:

  • Laut Gerüchten als Trotzreaktion auf Sanktionen hat Russland die Adoption russischer Kinder für Amerikaner verboten. Das ist jedoch leicht problematisch für die russischen Kinder, da die Amerikaner insbesondere für Kinder mit Erbkrankheiten oder Trisomie-21 die Hauptabnehmer waren.
  • Moskau liegt genau in der Mitte des weissen und des schwarzen Meeres.
  • Trotz Verbot homosexueller Propaganda gibt es in St. Petersburg zwei LGBT-Clubs.
  • Das Überqueren einer Strasse zu Fuss bei rot oder ohne Fussgängerstreifen kann mit einer Busse bestraft werden.
  • Vorne in die Metro wagen es – zumindest in Moskau – weniger Leute einzusteigen, aus Angst vor einem terroristischen Anschlag.
  • Unter der Hermitage gibt es das so genannte ‘Territorium der Katzen’. Dort leben, wahrlich im Keller der Hermitage, eine grosse Anzahl Katzen, deren Aufgabe die Rattenjagd ist. Sponsoren spenden Geld und Katzenfutter für die Haltung dieser Katzen.
  • In gewissen Metrostationen unterscheiden sich die Geschwindigkeit des Handlaufs und der Rolltreppe. Das ist ziemlich beirrend, wenn man alle paar Meter neu greifen muss!
  • Die Menge des All-In-One Dusch-Shampoo-Gels, die Akkulaufzeit meines Rasierers sowie die Menge der Zahnpaste hat die 9-Wochen Probe erfolgreich, wenn auch knapp, bestanden und gehalten.
Loading Likes...

Cortana in der Schweiz!

Mit dem Anniversary Update von Windows 10 ist es endlich soweit – der Sprachassistent von Microsoft ist endlich auch in der Schweiz verfügbar. Zwar versteht Cortana nur Hochdeutsch, doch das ist verständlich. Um Cortana zu aktivieren, benötigt man als erstes das neuste Update von Windows. Dies ist unterdessen auch für Mobilgeräte verfügbar, und kann in den Einstellungen unter Update und Sicherheit und Windows Update installiert werden.

Anschliessend ist für die Aktivierung noch eine kleine Einstellung notwendig. Durch klicken auf das Lupensymbol öffnet sich ein Fenster, in dem man unten links über dem Feedback-Symbol auf das Zahnrad klicken muss, um die Einstellungen für diese Suche zu öffnen. Dort findet man die Einstellung für die Sprache von Cortana. Man wird darauf hingewiesen, dass Region und Sprache nicht mit einer verfügbaren Cortana Sprache übereinstimmen. Dennoch kann man aus einer Liste die Sprache Deutsch (Deutschland) auswählen. Eine erneute Warnung, dass Region und Sprache nicht mit Cortanas Sprache übereinstimmen, und dass einige Features möglicherweise nicht verfügbar sind, kann man getrost wegklicken. Und yay – das wars! Cortana ist ab sofort auf deinem Gerät aktiviert.

Mich hat es vor allem gefreut, dass nun endlich auch der nervtötende {searchTerms} Bug auf meinem Lumia 930 gelöst und verschwunden ist. Bei diesem Fehler öffnete sich mir immer ein Edge-Tab mit einer Google-Suche nach {searchTerms} wenn ich das Lupensymbol berührte.

Loading Likes...

Über Essen

Die russische Küche hat einen ganz eigenen Charme. Ganz generell wage ich zu urteilen, dass milde bis leicht säuerliche Geschmäcke überwiegen. Im Vergleich zu Schweizer Küche gibt es definitiv mehr Suppe und weniger Käse. Insbesondere hartem Käse bin ich nicht begegnet. Betreffend Suppe ist insbesondere Borsch zu erwähnen, die als typisch gilt, obschon es sich dabei um eine Ukrainische Suppe handelt. Die Variationen von Suppen sind sehr gross, selten jedoch sind sie cremig wie man es sich aus der Schweiz gewohnt ist. Stattdessen erinnern sie ab und zu eher an einen gemischten Salat, der unter Wasser gesetzt wurde. Die Suppe geniessen die Russen gerne mit Smetana, also Sauerrahm. Dieser findet jedoch nicht nur in der Suppe Verwendung, sondern dient auch als Salatsosse, Milchersatz oder kommt zusammen mit Konfitüre auf ein Stück Brot. Die Beliebtheit von Sauerrahm erkennt man auch beim Besuch eines Ladens; in jedem, den ich bisher war, gab es eine grössere Auswahl als an Joghurt. Gewürze, wie bei uns getrocknete Kräuter, finden praktisch keine Verwendung. Dafür ist frisches Grünzeug wie Dill, Schnittlauch oder Lauchzwiebeln sehr beliebt.

Aufgrund der Sanktionen sind die meisten Produkte in Russland oder einem Land des nahen Ostens. Ausserdem empfinden Russen ihr Essen, das sie in Supermärkten kaufen, als künstlich. Bei einer Stichprobe habe ich tatsächlich keinen Saft gefunden, der weniger als ein halbes Jahr haltbar war. Und die Aufschnitts-Würste, die in Russland scheinbar ebenfalls eine leicht grössere Beliebtheit haben als in der Schweiz, enthalten einen sehr bescheidenen Anteil an echtem Fleisch.

Als sozialer Anlass gilt vor allem die Tee-Pause, die ich zeitlich noch nicht an einen bestimmten Punkt einordnen kann. Tee und Kaffee scheint neben der Suppe die Haupt-Flüssigkeitszufuhr zu sein. Auch hier gilt die Präferenz von saurem; Gerüchten zufolge gibt es auch eine Zahl Leute, die ihren Kaffee mit Zitrone trinken.
Was mir hier im Unterschied zur Schweiz nie begegnete, sind Menschen, die unterwegs essen. Sowohl auf der Strasse, wie auch in Metro und Bus ist mir nicht ein einziges mal jemand begegnet, der etwas gegessen oder getrunken hat. Bis auf der Konsum von Alkohol wäre dies gesetzlich nicht verboten, doch offensichtlich in dieser Gesellschaft nicht üblich.

Loading Likes...

Der erste Arbeitstag

Nach einigen organisatorischen Schwierigkeiten, habe ich nun doch eine Praktikumsstelle antreten können. Noch dazu an einem sehr tollen Arbeitsplatz: am staatlichen Hermitage-Museum. Dieses ist riesig und beherbergt unzählige wertvolle und berühmte Kunstschätze, darunter Bilder von Picasso, Matisse, Monet und vielen mehr. Dabei beschränkt sich die Sammlung des Museums nicht bloss auf Bilder: von Waffensammlungen über ägyptische Mumien bis altgriechische Vasen ist alles vertreten. Ich habe in diesem Museum zuvor bereits als regulär zahlender Besucher verirrt. Nun kann ich während der Arbeitszeit einen Badge nutzen, der mir den Zugang zum Museum, aber auch zu den Bereichen, die mit “Staff only” beschriftet sind, öffnet. Damit bieten sich für mich viel mehr Möglichkeiten, mich zu verirren!

Obschon das Personal des Volunteer Service des Hermitage Museum nicht wusste, wer ich bin und was ich dort mache, haben sie mich einfach erneut das eine Formular ausfüllen lassen, und schon hatte ich den Job. Mein erster Auftrag bestand darin, während etwas mehr als eineinhalb Stunden Menschen, die das Museum mit einem Rucksack betreten wollten, lächelnd darauf hinzuweisen, dass sie diesen doch bitte in der Garderobe lassen sollten. Etwas später wurden ich mit einigen anderen Praktikanten beauftragt, einige Kisten vom Generalstabsgebäude in unser Büro zu transportieren. Dabei war insbesondere die Genauigkeit bemerkenswert, mit dem der Raustransport überwacht wurde. Zuerst dauerte es eine halbe Stunde, bis alle zuständigen Personen ihren Schlüssel am richtigen Ort zusammengesucht, und etliche Formulare korrekt ausgefüllt waren. Als wir dann die Pakete raustransportieren wollten, blieben wir wieder an der Bürokratie hängen, da eine der zuständigen Personen nachlässigerweise zu faul war, die Kisten zu zählen, und eine 100 notiert hat. In der Tat waren es 104, so dass wir 4 Kisten hätten müssen stehen lassen. Mit ein wenig Geschick konnten wir den Inhalt von 4 Kisten auf die übrigen 100 verteilen, so dass 4 leere Kisten zurückblieben.

Nach einem Mittagessen in der Angestellten-Cafeteria die maximal halb so teuer is wie jene für reguläre Besucher, wurde ich mit dem Auftrag bekannt gemacht, der mich während meinem Aufenthalt hier beschäftigen wird. Eine ältere Website des Volunteer Service muss einer neuen weichen. Neben der Tatsache, dass es sich um eine mehrsprachige Website handelt, ist das übliche Problem zu beobachten, dass zu viele Kundenwünsche den Brei verderben. Während die ursprüngliche Idee der neuen Website war, ein wenig mit der alten Website aufzuräumen, wünscht einer nach dem anderen ein Element der alten Website nach dem anderen zurück auf die neue Seite, bis sie wieder den alten, zugemüllten Stand erreicht. Mal sehen, wie sich meine Überzeugungskraft in den nächsten Tagen entwickelt.

Loading Likes...

Moskau vs. Petersburg

Ein fortlaufend aktualisierter Beitrag mit den Unterschieden, die mir in diesen beiden Grossstädten aufgefallen sind.

Die Metro
Nach meiner Zugreise von Moskau nach St. Petersburg war eine Fahrt in der Metro samt Gepäck nötig. Dabei hat mich vieles überrascht, weil es das in Moskau schlichtweg nicht gab. Zum Beispiel Werbung: Moskaus Metro wirkt durch und durch sauber und rein. Es liegt kein Abfall rum, die eleganten Bögen und Stützen wirken geputzt, und Werbung ist nirgends zu sehen. Das ist in St. Petersburg ziemlich anders: Die Gänge sind praktisch nur durch Leuchtreklame erhellt. Ein Eindruck von edlen Stationen, wie ich ihn in Moskau hatte, gibt es hier nicht. Des weiteren sind bei einigen Stationen hier in St. Petersburg die Geleise durch Türen vom Perron getrennt, die sich automatisch bei haltendem Zug öffnen. Eine derartige Präzision seitens der Lockführer war in Moskau nicht notwendig.

Die Sprache
Ein riesiges Land, eine Sprache: Russisch. Doch wie in so vielen anderen Ländern auch gibt es in Russland scheinbar Dialekte. Im Fall von Moskau und Sankt Petersburg ist es der Buchstabe ч der in gewissem Kontext in Moskau gebunden als “sch” ausgesprochen wird, während er in St. Petersburg die eigentliche Ausspache “tsch” beibehält. Vermutlich gibt es noch einige andere Unterschiede, doch wenigstens dieser ist auch mir aufgefallen.

Loading Likes...

Und das Wetter war wie?

Ich achte auf angemessene Alliterationen am Anfang eines etwas eingeschränkt-exzellenten Eintrages.

Aber sprechen wir doch übers Wetter.
Am Tag meiner Ankunft war ich nach dem Zurücklegen einer Distanz von knapp 200 Metern bis auf die Knochen durchnässt. Wegen des Regens. Am zweiten Tag war ich ebenso schnell durchnässt. Diesmal jedoch bei wolkenlosem Himmel und schönstem Sonnenschein. Seither war insbesondere die dritte Woche noch einmal regnerisch, die anderen Tage waren geprägt von einer eigentlich angenehm warmen Temperatur, aber hoher Luftfeuchtigkeit, die einem den Schweiss aus den Poren trieb. Grund für die hohe Luftfeuchtigkeit sind sicher die vielen Teiche, Seen, Bäche und Flüsse, die die Landschaft in und um Moskau prägen. Möglicherweise tragen auch die Traktoren, die periodisch die Strassen mit Wasser kühlen, dazu bei. Ein Tag, an dem nicht irgendwo Wolken am Himmel zu sehen sind, gab es nicht. Hingegen war auch bei grössten Sturzfluten irgendwo ein blauer Fleck am Himmel zu sehen.

Die regnerischen Zeiten sind jeweils mit Gewittern verbunden gewesen. Und wenn es mal loslegt, dann richtig. Meinen Informationen zufolge sind zum Beispiel am Sonntag, dem 3. Juli, 3 Menschen in Moskau aufgrund von Blitzeinschlägen gestorben, sowie weitere verletzt. Bei allen wurde die Nutzung eines elektronischen Gerätes zum Verhängnis. Aber was ich damit sagen möchte, ist ja eigentlich, dass das Wetter hier Formen angenommen hat, die ich mir so von der Schweiz nicht gewohnt bin. Dies hängt auch mit der geografischen Lage zusammen: weit und breit keine Berge, die den Wind oder die Wolken in irgendeiner Weise beeinflussen könnten. Kommt der Wind von Norden, wird es kalt, kommt er vom Süden warm.

Loading Likes...