Bei größeren Projekten kann das Hochladen einer neueren Version schonmal einige Zeit in Anspruch nehmen. Bisher habe ich einfach scp verwendet ( Terminal FTW ). Vor kurzem habe ich die Funktion rsync entdeckt. Damit werden nur Dateien, wahlweise auch inkrementell, die sich geändert haben transportiert. Für die nötige Sicherheit sorgt ein SSH-Tunnel: rsync -avzh -e ssh /Local/From user@host:/Remote/To
Das Portal wurde unter anderem in RTL Punkt 12 vorgestellt ( Virtueller Fitmacher / Persönlicher Trainer jederzeit verfügbar ). Schaut’s euch an ![]()
Gestern ist Figurtrainer.de gelaunched. Wir haben seit einiger Zeit an diesem Portal, zusammen mit Jörn Giersberg und Alexander Sholti, gearbeitet. Es war ein hartes Stück Arbeit aber es hat sich gelohnt. Du brauchst einen Personal-Trainer? Dann nichts wie ab auf Figurtrainer.de!
Normal bin ich der Meinung: “Leben und leben lassen“. Aber MS sollte man den IE entreißen und einstampfen, vernichten, umschreiben, vergraben und Richtung Sonne schießen. Korrigiert mich wenn ich falsch liege oder übertreibe.
Beim IE6 gibt es ein Problem mit der Rendering-Engine in Verbindung mit CSS und Background-Image. Der IE lädt die Bilder anscheinend immer nach und speichert sie nicht korrekt zwischen. Was braucht man dafür um es in den Griff zu bekommen? Einen Apache-Fix bzw. Workaround. Zum Glück habe ich auf dieser Seite ein paar Tipps dazu gefunden. Weitere Details dazu auch in dieser Mailing-Liste.
Okay, das Limit der Argumente bei rm sind wohl 1024 Dateien. Problematisch wenn man über 5k Logfiles löschen muss. Es lebe die Pipe.
cd /tmp/logs find . -name 'LogToDelete-1.*' | xargs rm
Damit wird jede Datei separat nach rm gepiped. Und Ruhe ist im Karton. Seid vorsichtig mit der Pfad- und Dateiangabe, damit kann das System ohne Probleme gekillt werden.
Frontbase ist eine sehr robuste Datenbank. Ein echter Geheim-Tipp. Dazu ist Frontbase noch kostenlos. Allerdings hat der Manager ab und an seine Macken. Wenn ein Host nicht mehr erreichbar ist, hängt sich der Manager gerne mal auf. Abhilfe schafft hier eine PLIST Datei (XML-Konfiguration auf Macs). Unter “~/Library/Preferences/com.frontbase.FrontBaseManager.plist” folgenden Key bearbeiten und die nicht erreichbaren Datenbanken einfach löschen:
<key>monitoredDatabases</key> <array> <dict> <key>databaseName</key> <string>My-DB</string> <key>hostName</key> <string>host.not-reachable.com</string> </dict> </array>
Und voila, es läuft wieder ohne Probleme.
Hier ein paar Facts bzw. eigene Erfahrungen zu Windows 7 Beta (32 Bit) unter VMWare Fusion auf meinem MacBook Pro:
- Installationsdauer ca. 20 Minuten, recht flott
- Basis-Installation braucht ca. 6 GByte, fast schon handlich
- Sieht aus wie KDE, oder ich bin einfach nur Windows XP und OS X verwöhnt
- Minesweeper lässt sich nicht starten, kompletter System-Freeze o_O
- Paint läuft ohne Probleme
- Keine lästige Widgetbar, heißt jetzt Mini-Anwendung und lassen sich sogar per Drag ‘n’ Drop platzieren
Okay, der Fairness wegen: Es läuft unter VMWare. Bin mal gespannt wie sich die Beta macht und ob es ein Update für VMWare in der nächsten Zeit gibt.
Geht nicht? Geht doch! Ist eigentlich ganz einfach. Dazu braucht man nur einen WebServer z.B. Apache, einen einigermaßen aktuellen Browser und etwas Phantasie.
Schritt 1 - Wir brauchen XHMLHttpRequest:
/* private */ function /* XMLHttpRequest */ getRequest() {
var request = null;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Current Browser has no XMLHttpRequest object!");
}
return request;
}
Es lebe der Standard. Da das Web eh so überaus standardisiert ist brauchen wir nur eine Browser-Weiche. Der IE 6 kennt das Objekt nicht, deswegen müssen wir Ihm sagen, das er es doch kann und zwar mit einem ActiveX-Objekt. Der IE 7 soll das XMLHttpRequest Objekt wohl kennen, wurde ja auch Zeit.
Schritt 2 - Wir holen uns die Daten auf dem WebServer:
/* public */ function /* void */ sendDataRequest() {
var request = getRequest();
if (null == request) {
alert("Cancel");
return;
}
request.open("GET", "data/base.csv", true);
request.onreadystatechange = function() {
switch (request.readyState) {
case 4:
if (request.status != 200) {
onError();
} else {
onSuccess(request.responseText);
}
break;
default:
return false;
break;
}
};
request.send(null);
}
Wir bekommen den komplett Inhalt der Datei als String in die Methode onSuccess(text) überliefert. Jetzt können wir allen möglichen Unfug damit anstellen ![]()
Ja, ich lebe noch. Habe momentan nur ziemlich viel zu tun und komme daher weniger zum Bloggen ;-). Es sollte sich in den nächsten Woche wieder etwas entspannen, hoffen wir es mal. Achja, und ein Projekt an dem ich mitgewirkt habe steht kurz vor dem Release… Wir sind alle sehr gespannt. Mehr dazu später.
So, ich habe es endlich geschafft einen kleinen Bereich für meine Hobby-Projekte einzurichten. Ihr findet die neue Seite auf games.code4life.de, allerdings auf englisch. Dort versuche ich Ordnung in mein Chaos zu bringen. Kennt ihr das auch, ihr fangt ein Projekt an und irgendwann ist die Puste raus bzw. die Motivation weg? Genau deswegen schreibe ich einen Blog über meine Projekte. Dort sehe ich die Fortschritte und man hat einen gewissen Zwang Dinge zu ende zu bringen, naja Zwang ist zuviel des Guten. Sagen wir eine gewisse Kontrolle. Mal sehen ob es was bringt.
Recent Comments