Sehr geil!
via engadget.com
Sehr geil!
via engadget.com
Webentwickler kennen Firebug – DAS Tool um Javascript und HTML/CSS zu debuggen. Natürlich zähle ich auch dazu und das Tool hat mir bereits viele Male geholfen. Neu war mir allerdings FirePHP, eine Erweiterung für Firebug. Wie der Name bereits sagt dient es dem Debugging von php, vor allem im Hinblick auf die Ajax Entwicklung.
Kann man sonst mit einfachen print_r, vardump und die() einfach durch eine Anwendung gehen – was sicher nicht die professionelste Lösung ist – so hat man diese Möglichkeit bei Ajax nicht, da es sich dabei ja um eine reine Kommunikation zwischen Javascript und dem php Backend handelt. Mittels FirePHP hat man aber nun die Möglichkeit, Nachrichten an Firebug zu senden und diese anzeigen zu lassen.
Neben der Möglichkeit des Ajax Debuggings ist das Tool auch sehr hilfreich, ohne störende print_r’s, vardump’s und die()’s Debug-Meldungen zu erhalten und somit z.B. nicht das Layout der Seite zu zerstören.
So, nun aber genug der Einführung, schauen wir uns das System doch einfach mal an…
Unter addons.mozilla.org bekommt ihr die Erweiterung FirePHP. Wichtig ist, das ihr vorher Firebug installiert habt.
FirePHP erkennt ihr nun an dem blauen Käfer neben dem Firebug Symbol:
Bevor die Zend-Applikation läuft, also am besten in der public/index.php oder der application/bootstrap.php, einfach folgende Zeilen implementieren:
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);
Zend_Registry::set('debug_logger', $logger);
Damit wird der FirePHP Logger initialisiert und ist ab sofort über die Zend_Registry überall in der Applikation verfügbar.
Nun könnt ihr an jeder beliebigen Stelle folgendes ausführen (das Array in der ersten Zeile dient natürlich nur dem Test, ihr braucht nur die 2. Zeile):
$var = array("Part_1"=>"Blabla", "Item2"=>array("Part_2"=>"Blabla"));
Zend_Registry::get('debug_logger')->log($var, Zend_Log::INFO);
Und schon bekommt ihr unter Firebug folgendes serviert:
Wenn ihr auf diese Log-Zeile klickt, so öffnet sich noch ein schöner Overlay in dem die Daten noch besser lesbar werden:
Ganz wichtig noch: Damit die Debug-Meldungen erscheinen, müsst ihr den Punkt “Netzwerk” aktiviert haben – sonst kommen die Meldungen bei Firebug nicht an:
Links:
firephp.org
Wow, ein echt cooles Projekt der Fotografin Irina Werning: Sie liebt es, alte Bilder von anderen Menschen anzuschauen. Und das brachte sie auf die Idee, die Menschen ihre früheren Bilder einfach nochmal nachstellen zu lassen. Herausgekommen sind diese wunderbaren Werke:
Das Projekt ist noch nicht abgeschlossen, also schaut immer mal wieder vorbei. Die bisher fertiggestellten Bilder findet ihr hier…
via surfgarden.de
Jerry arbeitet bei keelog.com – einem kommerziellen Anbieter für Hardware Keylogger. Doch Jerry ist auch ein Fan von Open Source und so hat er eine Anleitung ins Netz gestellt, nach der man so ein Teil selbst bauen kann. Darin enthalten sind eine detailierte Teileliste, die Baupläne, PCB Masken (Schaltkreise), die Firmware (also Steuersoftware) und natürlich die Bauanleitung selbst. Wenn man es etwas leichter haben will kann man aber auch ein DYI Kit (do it yourself) kaufen und spart sich somit die Zeit für die Suche der Einzelteile. Im Endeffekt hat man am Ende einen PS/2 Stecker, der am Ziel-PC angesteckt in Echtzeit alle Codes der gedrückten Tasten an ein bis zu 18m entferntes USB-Dongle sendet.
Natürlich bewegen wir uns hier in einer Grauzone, da es sowohl legale als auch illegale Einsatzzwecke dafür gibt. Da mich als Techniker in erster Linie auch nur die Technik interessiert, möchte ich dies erstmal außen vor lassen. Ich denke einfach, dass wenn jemand etwas böses tun will, er auch einen Weg findet dies zu tun. Und dann gibt es uns Nerds, die einfach nur Spass an Technik haben.
So, aber nun genug gequatscht, hier die Anleitung:
keelog.com
Via hack-a-day
Gestern kam endlich das 4GB Ram Upgrade-Kit für mein Macbook an.
Natürlich machte ich mich gleich an den Einbau – Abdeckplatte abschrauben, Festplatte raus, Ram getauscht, Platte wieder dran. Nun einmal zum testen gebootet – lief wunderbar. Nachdem der Test erfolgreich war, gleich wieder heruntergefahren und abschließend die Schrauben der Abdeckplatte festgeschraubt.
Und nun kam das böse Erwachen. Beim erneuten Start des Macbooks tat sich nämlich genau nichts – der Apfel erschien und darunter drehte sich der Warte-Kreis. Erstmal nichts besonderes, aber wenn das ganze auf unbestimmte Zeit so bleibt und sogar die interne Platte in den Standby-Modus geht, dann kann da irgendwas nicht stimmen.
Also schnell die OSX Installations-DVD rausgekramt und darüber gebootet. Da das funktionierte wunderbar und ich war erstmal beruhigt, dass es nicht direkt am neuen Ram lag. Neben der Möglichkeit, OSX zu installieren kann man in diesem “mini-OSX” auch die Konsole oder das Festplatten-Dienstprogramm verwenden. Letzteres zeigte mir auch schnell den Fehler im Dateisystem: “Schlüssel nicht sortiert”. Was genau der Fehler aussagt weiß ich nicht, nach einem kurzen Blick ins Netz war aber klar, dass man die Platte nur formatieren und neu installieren bzw. aus einem Backup wiederherstellen kann.
An dieser Stelle war ich mal wieder super dankbar, dass ich Timemachine verwende und somit ein sehr aktuelles Backup hatte. Ein paar Dateien hab ich trotzdem verloren, da ich bestimmte Ordner vom Backup ausgeschlossen hatte – wie z.B. den Downloadordner und auch meinen Foto-Transfer-Ordner. Die Downloads taten nicht so weh, da man die einfach wiederholen konnte, aber die Fotos waren echt ärgerlich, weil ich Depp schon lange nicht mehr die Fotos korrekt archiviert hatte. Und so hab ich ca. 200 RAW-Bilder verloren, die nun einfach weg sind. Aber egal, rückgängig machen kann ich es nun nicht mehr und muss damit leben. Und da man aus Fehlern bekanntlich lernt wird nun die komplette Platte gesichtert 😉
Heut muss ich mal zu einem Off-Topic Thema kommen, was mich derzeit (und wahrscheinlich sehr viele andere) ungemein beschäftigt: die Bahnstreiks.
Letzte Woche fiel der GDL ja mal wieder ein, dass man schon lange nicht mehr gestreikt hat. Also gab es am Freitag den ersten Warnstreik. Die Arbeitgeberseite ließ sich davon offensichtlich nicht beeindrucken und blieb standhaft mit ihrem Angebot. Aufgrund dieser Entscheidung wurde von der GDL am Wochenende durch eine interne Abstimmung festgelegt, dass bis auf weiteres unbefristet gestreikt wird.
Das kurz zur zeitlichen Abfolge. Ich muss sagen, dass ich beide Parteien verstehen kann. Die Arbeitgeber wollen maximalen Profit machen, die Lokfahrer wollen einen einheitlichen Tarifvertrag und somit auch mehr verdienen – die Referenz soll der Rahmenvertrag der deutschen Bahn + 5% Lohn sein. Das Problem an der Sache ist nur, dass bereits der Rahmenverrtag der Bahn ca. 30% über den Lohnniveau der “Billiganbieter” liegt.
Ab diesem Punkt setzt bei mir Unverständnis ein: die GDL geht also davon aus, dass diese kleineren Betriebe 35% mehr Lohn zahlen sollen und trotzdem wettbewerbsfähig bleiben – gegen ein zu großen Teilen noch subventioniertes Unternehmen wie der deutschen Bahn. Sorry, aber da sollte man einfach mal den gesunden Menschenverstand einschalten. Wenn die GDL das durchdrücken kann, dann werden zwar ihre Mitglieder einen T
tollen Branchen-Tarifvertrag haben, aber auch über kurz oder lang ganz ohne Arbeitsplatz da stehen.
Und da sind wir auch schon beim Stichwort durchdrücken: Was mich am meisten aufregt ist die Art und Weise des Streiks: denn die ist ganz einfach Erpressung. Ich kenne kaum eine Branche, die es sich erlauben kann, einfach mal nicht zu arbeiten und somit mehr Lohn erpressen zu wollen. Würde ich soetwas machen, dann würde ich ganz einfach die Kündigung erhalten. Und das meiner Meinung nach zurecht. Denn der Arbeitsmarkt funktioniert, wie auch jeder andere Markt, nach einem ganz einfachen Prinzip: Angebot und Nachfrage. Wenn ich in meinem Job zu wenig verdiene oder mit dem Rahmenbedingungen nicht einverstanden bin, dann habe ich irgendwas falsch gemacht. Die Zeiten, in denen man eine Lehre macht und dann sein ganzes Leben im gleichen Betrieb arbeitet, sind vorbei. Und wenn man nicht zufrieden ist, dann wechselt man entweder den Arbeitgeber oder macht etwas neues.
Ich weiß, dass diese Sätze sehr provokant sind und gerade in Zeiten großer Arbeitslosigkeit eher wie Hohn klingen. Aber ich stehe dazu. Wenn einem etwas nicht passt, dann muss man sich verändern.
Aber zurück zum Thema. Ich finde es einfach beschissen, wenn ein großer Teil der Berufspendler aufgrund von Streiks zu spät zur Arbeit kommt – denn diese Leute müssen die Fehlzeiten selbst ausgleichen. Jetzt könnte man ja meinen, dass die Arbeitgeber einfach den Forderungen zustimmen sollten und schon ist das Problem aus der Welt. Mag sein, aber was ist denn dann die Konsequenz? Richtig, diese zusätzlichen Zahlungen werden auf die Ticketpreise draufgeschlagen. Und somit ist in jedem Fall der normale Bahnfahrer der Dumme. Und das finde ich überhaupt nicht in Ordnung.
Übrigens haben ja 60% der Deutschen Verständnis für die Streiks – ich möchte allerdings mal den Berufspendler, der auf die Bahn angewiesen ist, sehen, der DAS gut findet…
Wie seht ihr das? Übertreibe ich? Oder bin ich ganz auf dem falschen Dampfer? Die Kommentare stehen euch offen…
Ein Thema, welches, zumindest meiner Meinung nach, auf dem Mac eher stiefmütterlich behandelt wird, sind Download-Beschleuniger. Es gibt zwar immer wieder die üblichen Verdächtigen aus der Welt der Shareware – ich bin aber der Meinung, dass ein derart simples Tool nicht 20€ kosten muss.
Noch kurz ein Abstecher für alle die, die nichts mit dem Begriff “Download-Beschleuniger” anfangen können: Bei einem normalen Download wird eine Datei vom Anfang bis zum Ende heruntergeladen. Viele Server haben eine Volumenbeschränkung pro Transfer aktiviert oder es liegt eine Datei auf mehreren verteilten Serven, dann macht es Sinn, die Datei in mehreren Prozessen gleichzeitig herunter zu laden. Dabei unterteilt man die Datei einfach in eine bestimmte Anzahl von Teilen und lädt jeden Teil mit einem eigenen Prozess herunter. So kann z.B. der erste Teil einer Datei von Server 1 und der zweite Teil der Datei von Server 2 heruntergeladen werden. Ihr könnt euch vorstellen, dass man somit möglicherweise eine wesentlich höhere Übertragungsrate erreichen kann als wenn man nur von einem Server lädt. Alternativ funktioniert das Ganze auch mit einem einzelnen Server, der aber pro Verbindung eben nur bestimmte Datenraten zulässt – man umgeht das Problem indem man mehrere Verbindungen zu diesem Server aufbaut.
Nach einiger Recherche im Netz fand ich das Consolen Tool “aget”. Das ist zwar eigentlich für Linux gedacht, dank der offenen Sourcen aber natürlich genausogut unter Mac OS verwendbar. Da ich anfangs nur Linux RPM Pakete fand, habe ich den Umweg über Mac-Ports genommen.
Nach erfolgreicher “Installation” kann man mittels
aget [url]
den Download starten. Standardmäßig werden 10 parallele Threads gestartet, man kann alternativ aber auch mit dem Parameter
aget -n N
angeben, dass N Threads verwendet werden sollen.
Die Ausgabe ist erstmal etwas irritierend, da die Statusanzeige scheinbar nur im Minutentakt erscheint. Das sieht dann in etwa so aus:
Und als Abschluss: ja, die Download laufen wirklich schneller. Probiert es einfach aus, wenn euch wget mal wieder zu langsam erscheint 😉
Links:
enderunix.org/aget
Keine Angst, es gibt bald auch wieder Artikel, die nicht nur aus Videos bestehen 😉
Aber zurück zum Thema: Arte hat eine sehr interessante Doku über Schwarmintelligenz gezeigt, die ich euch natürlich nicht vorenthalten möchte.
Schwarmintelligenz kennen wir vor allem aus dem Tierreich – man denke nur an Ameisen, Vögel- oder Fischschwärme. Und doch können wir einiges von ihnen lernen. Denn auch in der Welt der Technik bzw. des Internets kann man derartige Muster verwenden, um mit einfachen Mitteln trotzdem viel zu erreichen: z.B. verteilte Rechensysteme oder aber auch Projekte wie Wikipedia.
Das ist doch mal ein sehr geiles Projekt – mittels 80 Leds und einem Arduino Controller, der Wifi-Signale auf die Leds umsetzt und einer Langzeitbelichtung kann man sehr einfach Wifi-Signale auf Fotos visualisieren. Dabei heraus kommt dann eine Mischung aus Lightpainting und Informationsvisualisierung.
Immaterials: Light painting WiFi from Timo on Vimeo.
via hack-a-day
Internet from Jordan Clarke on Vimeo.