Änderungen an CSS/JS in den Chrome Developer Tools live zum Server übertragen

Mein Workflow bei der Entwicklung einer Webseite sieht folgendermaßen aus:
Mit Transmit dem FTP-Client meiner Wahl verbinde ich mich auf den Server, öffne mit Textmate die CSS Datei, schreibe meine styling Anweisungen, speichere (Transmit nimmt anschließenden einen automatischen upload vor), wechsle in den guten Chrome, bestaune mein Werk, ändere wieder etwas am CSS, usw.

Wenn das Layout dann im groben ansehnlich ist, steht der Feinschliff an. Zum probieren was gut aussieht, seien es Abstände, Farbnuancen oder sonst irgendwas, hat der beschriebene Workflow so seine Schwierigkeiten, was Geschwindigkeit und Flexibilität angeht.

Deswegen behilft der pfiffige Webentwickler sich mit dem Style Editor der Chrome Developer Tools:

Modifikationen an dieser Stelle haben leider einen Nachteil: Nach dem Reload sind die Änderungen weg.
Mit der neusten Chrome Beta ist es allerdings möglich sich das modifizierte CSS zu speichern. (Chrome kümmert sich sogar um die Versionierung.)

Das ist toll, leider aber ziemlich umständlich.

Wäre es nicht schön, wenn Änderungen in den Chrome Developer Tools direkt an den Server gesendet würden?
Wie, sagen wir, in diesem Video:

Die Extension “Chrome Devtools Autosave” ermöglicht es bei lokalen Seiten (z.B. file://localhost/project/test.html) Änderungen am CSS oder JavaScript automatisch zu übernehmen. Das modifizierte CSS (oder JS) schickt die Extension an einen lokal laufenden Node.js Server, der sich um das überschreiben der Ursprungsdatei kümmert.

Installation der Extension (Experimental Extension APIs aktivieren nicht vergessen) und starten des Node.js Servers sollte mit Hilfe der Anleitung auf github kein Problem darstellen.

Sollen die Änderungen aber direkt an den Server übertragen werden, bedarf es noch einiger weniger Kniffe:

1. Mounten des FTP-Servers als Laufwerk.
Das geht beispielsweise mit Transmit (siehe Video).

2. Eintragen der Domain in die Extension
Hierzu geht man in die Extension Optionen und fügt eine neue Resource hinzu:

3. Modifizieren des Node.js Servers.
Die Zeilen 3 bis 8 der gerade aktuellen Version des Node.js Servers lauten:
var routes = [
{
from: /^file:\/\/(?:localhost)?\//,
to: '/'
}
];

Die Zeile mit ‘from’ ändert ihr in: from: /http:\/\/stereonom.de\//,
Die Zeile mit ‘to’ in: to: '/Volumes\/stereonom.de/' (das sollte dem Pfad zu dem gemounteten FTP-Server entsprechen).
Der Entwickler hat diesen Umstand erkannt und verspricht Besserung.

Startet man nun den Node.js Server kann man munter drauf los editieren.

Nicht vergessen: Vorher ein Backup machen!

geänderte anforderungen

anforderungen ändern sich. und so kommt es, dass der schwerpunkt dieses protokolls geändert werden muss.
die neue aufgabe wird eine allgemeinere sein. trotzdem wird das applefanboytum immer eine wichtige rolle spielen.

google kalender und das iphone | ipad

wer mehr als einen kalender bei google hat kennt das problem.
man bekommt nur seinen hauptkalender auf dem iphone oder ipad angezeigt.
[vorraussetzung hierfür ist google per exchange account eingetragen zu haben. (server: m.google.com)]

dies lässt sich aber mit einem einfachen trick ganz leicht ändern:

[1] iPhone/ iPod touch:
man surft mit dem iPhone / iPod auf die seite: m.google.com/sync ändert dort die sprache auf english (US) und bekommt nun sein iPhone angezeigt.
wenn man dies nun auswählt, werden einem alle seine kalender präsentiert (manche abonnierten gehen wohl nicht) und kann diese nun aktivieren.

[2] iPad:

{UPDATE}:
geht genau wie beim iPhone (danke @jonasthiel)

den gleichen trick kann man so auf dem iPad leider nicht anwenden.
hier gibt es 2 möglichkeiten:

[2.1]
man surft die seite
m.google.com/sync einfach mit seinem iPhone / iPod touch an, ändert die sprache auf english (US), wählt das iPad und aktiviert alle gewünschten kalender.

[2.2]
man öffnet den safari auf seinem mac.
in den settings befindet sich unter ‘advanced’ der punkt: ‘show develop menu in menu bar’.

diese aktiviert man, öffnet sich einen neuen tab und ändert nun den ‘user agent’ auf ‘Mobile Safari 3.1.3 iPhone’

anschließend surft man auf die seite m.google.com/sync, ändert die sprache auf english (US), wählt das iPad und aktiviert alle gewünschten kalender.

fertig.
kalender app starten, kurz warten und schon ist alles da.

launchitems

seit ich die schlafzeiten meines macs überwache fiel mir des öfteren auf, dass dieser nachts aufwacht, ein chrome.diskimage mountet, dieses wieder unmountet und sich wieder schlafen legt.

das ganze machte dann doch etwas stutzig. kann google also wirklich meinen mac aufwecken, wenn sie gerade lust haben ihren browser upzudaten (oder ihre updateserver gerade zeit dafür haben)…?

das ganze, so viel service das auch sein mag, wollte ich dann doch eher verhindern.

via Terminal navigiert man mit dem befehl ‘cd‘ an die brisanten stellen:
Macintosh HD -> Library -> LaunchAgents
Macintosh HD -> Library -> LaunchDeamons
Macintosh HD -> Library -> StartupItems
Macintosh HD -> User -> “lokaler benutzer” -> Library -> LaunchAgents

[am schnellsten gelangt man zu den entsprechenden ordnern, durch die automatische namensvervollständigung durch TAB. (). mit dem befehl 'ls' lässt sich der ordnerinhalt anzeigen]

dort löscht man die ungewollten plist-dateien mit folgendem befehl:
sudo rm -rf namederdatei.plist
(ACHTUNG kein undo möglich)

zusätzlich finden sich in den System Preferences unter Account -> Login Items noch einige weitere programme, die beim anmelden des benutzers gestartet werden und hier verwaltet werden können.

schlafzeiten überwachen

den mac schlafen zu legen heißt nicht gleichzeitig, dass dieser auch durchschläft oder andere mysteriöse dinge treibt.

zum überwachen, was der mac so tut, während man denkt er schläft, gibt es aber eine wirklich tolle kombination aus programmen:

Observation Post ist ein programm für den mac, welches es ermöglicht, eine Growl notification zu erzeugen, wenn dieser aufgewacht ist, jetzt einschläft, ein volume gemountet wurde, …

[wen es nervt, das icon von Observation Post die ganze zeit im dock haben zu müssen, sei an dieser stelle Configure Application Dock Tile empfohlen]

soweit so gut.
sich eine notification auf dem bildschirm des macs, der beispielsweise gerade aufgewacht ist, anzeigen zu lassen, ist eher weniger sinnvoll.
um über das erwachen (oder jede andere aktivität) nun auch wirklich immer und überall informiert zu werden, braucht es noch Prowl, eine app für das iPhone und gleichzeitig ein Growl plugin.

es gilt nun noch in Growl den “Display Style” von Observation Post für die gewünschten notifications auf Prowl um zu stellen (vorher account erstellen, usw) und schon erhält man informative push notifications auf sein iPhone.

die sache an sich

einen grund für das hier zu finden ist leicht.
es gibt dinge in meinem alltag als mac user, für die ich eine lösung suche.

seien es verschlüsselte sparsebundles, iTunes schmerzen oder sonstiges.
man googlet und googlet und nach 2h frickelei hat man eine lösung. vielleicht.

diese ”lösungen” möchte ich nun aufschreiben.