madcats[welt]

Status Februar 2009

Filme: Resident Evil Degeneration, Star Wars – The Clone Wars (uff)

Serien: Battlestar Galactica Season 4

Bücher: Stefan Aust – Der Baader-Meinhof-Komplex (ja, immer noch), Drew Karpyshyn – Darth Bane: Rule of Two

Zeitschriften: PHP-Magazin, MaxPlanckForschung

iTunes/iPod: Queen – Breakthru

Spiele: GTA IV (PC), iShoot (iPod)

Javascript-Bibliothek des Jahres 2008: jQuery

Ein kurzes Wort zur MaxPlanckForschung: sie wird vierteljährlich herausgegeben und kann kostenlos als PDF oder im Abonnement bezogen werden. Ich kann sie jedem, der sich für wissenschaftliche Magazine interessiert nur ans Herz legen. Die Texte erfordern aber teilweise viel Hintergrundwissen des Lesers, daher lest bitte erst ein Artikel online und abonniert nicht einfach blind, nur weil es kostenlos ist.

HTML 5

Ein sehr guter, informatiker Artikel von Peter Kröner zum Thema HTML 5 und dessen aktuelle Situation bzw. Browser-Unterstützung.

Und mal wieder macht uns Microsoft künstlich das Leben schwer …

Via: praegnanz.de

Keyword-Wahnsinn

  1. »macbook air nachfolger«
    Nö.
    1. »netbeans c#«
      Wie wär’s mit Visual Studio?
    2. »›frak you‹ übersetzung«
      Mal ehrlich, wer dafür eine Übersetzung braucht, sollte sich Battlestar Galactica nicht auf Englisch anschauen.
    3. ».json mit apple öffnen«
      Äh, ja …
    4. »auf die schnelle mehr sperma herstellen«
      Hmm, weniger onanieren?
    5. »bastelvorlage s-bahn münchen«
      Das war sicher einer von denen, die immer abends am Hauptbahnhof Regionalzüge fotografieren – und sei es auch der größte Schrott, den die Bahn noch einsetzt.
    6. »e8400 kern freilegen«
      Perversling, lass die arme CPU in Ruhe!
    7. »erfahrungsbericht monika gruber«
      Ist zwar klar, was gemeint ist, aber die Formulierung klingt doch sehr zweideutig.
    8. »formular mit jquery abschicken«
      $(‚form‘).submit();
    9. »illegale pornoseiten kostenlos«
    10. »kann man am mac book programmieren«
      Nein, MacOS und die Apps sind alle in der CPU fest verdrahtet.
    11. »sacred gold torrent installiert final fantasy«
      Wtf?
    12. »verwenden smarty unter ubuntu«
      Junge, lass es. Wenn man zu doof bist, einen Apache mit PHP unter Ubuntu zu installieren, was will man dann mit Smarty?
    13. »wie erstellt man eine datingseite«
      Voodoo!

Alle bekloppt …

Sidebar Update

Net-Build hat nun endlich PHP Verbindungen zu twitter.com erlaubt, so dass ich nun mein neues Modul einsetzen kann. Damit das ganze nicht so hineingeklatscht aussieht, habe ich Twitter eine zweite Spalte in der Sidebar spendiert.

Es entfällt außerdem die Klapp-Funktion für die einzelnen Unterpunkte. War ohnehin nur eine Spielerei, die sicher niemand ernsthaft benutzt hat. Sinnvoll wäre das nur gewesen, wenn die Einstellungen erhalten geblieben werden, was ich aber nie richtig hinbekommen habe und dann auch keine Lust mehr hatte.

Gezwitschert wird nun hauptsächlich über Web-Entwicklung und Design, MacOS X, diverse Programme sowie Kleinkram bzw. Gedanken für die sich kein Blog-Eintrag lohnt. Da ich überwiegend Mitleser aus den USA habe werden nur die wenigsten Tweeds auf Deutsch sein.

Ein Monat MacBook Pro

Seit dem Kauf ist nun mehr als ein Monat vergangen und es wird Zeit für ein Fazit.

Kurz gesagt: das MacBook Pro war meine beste Investition seit Jahren. Es macht einfach Spaß. Dank OS X und den vielen tollen Apps muss man sich nicht mehr groß darum scheren, wie man etwas macht, um keine Scherereien mit den Programmen zu haben, sondern kann sich auf das Wesentliche konzentrieren. Apple bietet tolle Entwicklerwerkzeuge und hat Richtlinien für GUIs veröffentlicht, die es einem erleichtern gut bedienbare Software zu schreiben.

Microsoft könnte mit einer ähnlichen Strategie sicher auch viel erreichen. Fairerweise muss man aber sagen, dass Visual Studio und .NET einem das Entwickeln sehr erleichtern. Gerade Applikationen mit Datenbank-Anbindungen und deren Standard-Aufgaben lassen sich extrem flott und komfortabel realisieren. Okay, ich schweife ab – zurück zum Mac.

Die Begeisterung setzt erst jetzt richtig ein. Im Nachhinein betrachtet war mein altes PowerBook für Leopard einfach zu langsam und das Display zu klein. Richtig Spaß macht OS X erst, wenn ich meinen 24″-TFT anschließe – dank KVM-Switch, schalten sich dann auch noch gleich Maus und Tastatur um, so dass man fast einen stationären Mac hat.

Wie schon im ersten Erfahrungsbericht angesprochen, habe ich die Festplatte durch eine WD Scorpio mit 250 GB und 7.200 RPM ersetzt. Demnächst steht noch ein Upgrade auf 4 GB RAM an. 2 GB reichen zwar noch aus, aber es wird gelegentlich schon knapp, zumal Firefox unter OS X kein RAM-Sparwunder ist.

Als passendes Zubehör habe ich mir noch ein Apple Keyboard zugelegt, das auch unter Windows hervorragend funktioniert. Zwar muss man Tools wie SharpKeys, einige Tasten neu belegen (Druck z.B.), ansonsten klappt alles wunderbar. Selbst das BIOS lässt sich problemlos aufrufen. Das Tippgefühl und die Haptik sind nahezu perfekt. Vielschreibern kann ich diese Tastatur nur ans Herz legen.

Weiteres Zubehör: das unter erwähnte Incase 15″ Neoprene Sleeve und die Original-Festplatte in einem USB-Gehäuse für Time Machine.

Incase 15 Inch Neoprene Sleeve

Incase 15 Inch Neoprene Sleeve

Mein Rucksack hat zwar ein gepolstertes Notebook-Fach, aber als Schutz für ein MacBook Pro, erscheint mir das inzwischen unzureichend. Daher bin ich am Donnerstag mal wieder in den Apple Store marschiert und habe ich mich für die og. Neopren-Hülle von Incase entschieden.

35 Euro sind zwar viel Geld, aber um Gerät zu schützen, das weit mehr kostet, ist es doch angemessen. Die Außenseite besteht aus schwarzem (gibt noch sieben weitere Farben) Neopren mit einem abgedichteten Reißverschluss bzw. einer entsprechenden Naht. Innen wurde weißes Kunstfell verwendet, um vor Kratzern zu schützen.

Wie von Incase gewohnt, wirkt die Hülle hochwertig sowie sehr gut verarbeitet – und sie passt auch optisch perfekt zu den neuen MacBooks. Ich kann sie nur empfehlen, auch wenn einige vielleicht vom Preis abgeschreckt werden.

15 nützliche Apps für Web-Designer/Entwickler

http://www.noupe.com/tools/15-incredible-mac-apps-for-freelance-web-designers.html

Konnte zwar bisher nicht alle ausprobieren, aber was ich bisher von Pixelmator, Espresso und Coda gesehen habe, begeisiert mich einfach. Außerdem nutze ich schon Cyberduck schon länger und bin ebenfalls sehr zufrieden.

Besonders angetan bin ich von Pixelmator. Es orientiert sich an Photoshop, und steht ihm in der Funktionsvielfalt in vielen Bereichen nichts nach. Trotzdem wirkt die App nicht überladen und ist recht flott. Dank Core Image werden Bildberechnungen über die Grafikkarte erledigt, was ein zusätzliches Geschwindigkeitsplus einbringt. Für jemanden wie mich, der die Möglichkeiten von Photoshop gar nicht ausnutzen kann, aber dennoch ein gutes Bildbearbeitungsprogramm fürs Web braucht, sind die 59 Dollar sehr gut angelegt und vor allem verschmerzbarer, als Adobes Preis-, Produkt- und paranoide Kopierschutzpolitik.

Espresso und Coda wissen ebenfalls zu begeistern. Der Schwerpunkt von Espresso liegt bei XHTML und CSS, um schnell eleganten, modernen Quelltext zu schreiben. Coda geht mehr in die Entwicklerecke und bietet zahlreiche Features, z.B. einen integrierten FTP/SFTP/FTP SSL/WebDAV-Client mit diversen Veröffentlichtungsmöglichkeiten, SVN- und Terminal-Unterstützung sowie ein Plug-In-System.

Cyberduck ist ein FTP/SFTP/SCP/WebDAV/Amazon S3-Client, der es ermöglicht Dateien direkt auf dem Server zu bearbeiten. Leider kann es nicht mehrere Verbindungen gleichzeitig offenhalten, wie es WinSCP vormacht.

Die Fülle, aber vor allem die Funktionen und die Bedienbarkeit von Programmen im Webdesign-Sektor unter OS X, lässt Windows- und Linux-Konkurrenz dieses Marktes vor Neid erblassen. Was soll ich denn bitte mit dem GIMP, wenn ich Pixelmator habe?

Allmählich denke ich über einen Komplettumstieg nach. Allerdings eignet sich bisher kein Mac wirklich gut zum Spielen, daher bin ich vorerst auf beide Welten angewiesen. Bin aber gespannt, ob die neuen iMacs, endlich bessere GPUs spendiert bekommen – ein Mac Pro ist dann doch zuviel des Guten und dann noch der Preis …

Neue Benchmarks

Dromaeo hat vor kurzem ein neues Testverfahren eingeführt. Statt der benötigten Zeit für die Tests, wird nun gemessen, wie viele Durchläufe durchschnittlich pro Sekunde in einer fest definierten Zeit erreicht werden. Das macht die ganze Sache langwieriger, aber auch genauer und sagt wesentlich mehr über die Leistungsfähigkeit einer Javascript Engine aus.

Statt auf zwei unterschiedlichen Systemen zu messen, habe ich nun unterschiedliche Benchmarks gewählt: Dromaeo Javascript Test (Mozilla.org), SunSpider Javascript Test (Webkit-Team) und V8 Javascript Test (Google).

Testergebnisse

Testsystem: Intel Core 2 Duo E8400, 2 GB RAM, Windows XP SP 3

Ein Bild sagt mehr als 1.000 Worte. Chrome deklassiert alle anderen Browser, nur im hauseigenen V8-Test ist das aktuelle Webkit Nightly Build einen Tick schneller. Wie üblich sind die Entwickler-Versionen ihren aktuellen Final-Kollegen deutlich voraus, und die Javascript-Leistung des Internet Explorers, sofern er sich überhaupt testen lies, ist ein schlechter Scherz.

Ein blamables Ergebnis für Microsoft, das mit dem IE 8 auch nicht großartig besser werden wird. Wenn man sich in Redmond angesichts solcher vernichtenden Benchmarks nicht endlich im Zugzwang sieht, sind sie entweder blind und/oder blöd. Google treibt die Entwicklung mit großen Schritten voran, während nur Webkit bzw. Apple halbwegs mithalten kann. Mozilla.org und Opera müssen sich sehr anstrengen, um wieder Anschluss zu finden.

Und Microsoft? Tja, ich sehe nur zwei Möglichkeiten: den ganzen alten IE-Quellcode öffentlich verbrennen und komplett neu schreiben, oder man setzt in Zukunft auf Webkit/Squirrelfish bzw. Webkit/V8 oder Gecko/Tracemonkey.

Von Eichhörnchen-Fischen, Motoren und Spuraffen



Oder anders gesagt: Benchmarks von Squirrelfish, V8 und Tracemonkey mit Hilfe von dromaeo.com.

Testsystem: Intel Core 2 Duo P8600, 2 GB RAM), MacOS X 10.5.6 (MacBook Pro 15″ 2,4 GHz Late 2008)

Ergebnisse (Mac)



Testystem: Intel Core 2 Duo E8400, 2 GB RAM, Windows XP Service Pack 3

Ergebnisse (PC)

Das Squirrelfish schnell ist, war ja schon bekannt. Aber das es V8 und Tracemonkey dermaßen in den Hintern tritt, hätte ich nicht gedacht. Auf die Antwort von Mozilla und Google dürfen wir alle gespannt sein.

Anmerkung zum Internet Explorer: leider konnte ich weder den IE 6 noch 7 dazu bewegen, überhaupt einen Benchmark durchlaufen zu lassen. Entweder meldete er Javascript-Fehler oder stürzte ab. Aus Tests von anderen Leuten, ist aber bekannt, dass er im Vergleich extrem langsam ist – im Schnitt etwa 10 – 15 Sekunden.

Während bei Safari der Taktenraten- und Cache-Unterschied sich noch halbwegs realistisch in den Ergebissen von OS X und Windows widerspiegelt, zeigt sich bei Firefox, dass Mozilla die Mac-Version noch weiter optimieren sollte.

Update: Nun mit Diagrammen statt Text-Ergebnissen.

Sapphire

Wie schon angekündigt, habe ich mit dem Umstieg auf Netbeans begonnen, Sapphire komplett neu zu schreiben. Der eigentliche Kern ist nahezu fertig und die ersten Module in Arbeit – ging alles wesentlich schneller als erwartet. Daher werde ich Ruby nicht mehr weiter entwickeln und die bestehenden Module umschreiben.

Dinge, wie die Mandanten-Fähigkeit noch in Ruby zu integrieren, obwohl sie im Sapphire-Kern schon implementiert sind, ist sinnlos. Außerdem ermöglicht es die neue Struktur wesentlich schneller und besser, Änderungen am Hauptsystem vorzunehmen. Das Portieren der Ruby-Module sollte relativ schnell und unproblematisch laufen.

Die wichtigsten Unterschied zwischen Ruby und Sapphire:

  1. Sapphire ist durchgängig objektorientiert, soweit es PHP 5 ermöglicht.
  2. Es werden ausschließlich Prepared SQL Statements über MySQLi oder PDO unterstützt.
  3. Die Fehler-Verwaltung läuft komplett über Exceptions (SPL und eigene).
  4. Bessere und nun vollständige Implementierung des MVC-Patterns.
  5. Alle Singleton-Patterns wurden entfernt.
  6. Mandantenfähig von Anfang an.
  7. Abstraktionsebene aller Superglobals.
  8. Alle assoziativen Arrays wurden durch Instanzen der Klasse Data ersetzt.
  9. Kleinere Änderungen an der Datenbank, u.a. für die Mandantenfähigkeit. (Ein Import-Script wie von Version 1 auf 2, ist nicht nötig.)

Insgesamt bin ich mit bisherigen Stand sehr zufrieden. Vieles ist im Vergleich zu Ruby einfacher geworden, ganz besonders der Modul-Manager – bei gleichem Funktionsumfang braucht er nur knapp die Hälfte des Quelltexts. Es ist nun wesentlich einfacher, zu überprüfen, ob ein Modul schon geladen ist und an dessen Funktionen heran zu kommen. Zusammen mit einem zukünftig implementierten Observer-Pattern und der Factory des Kerns, ist das die neue Modul-Schnittstelle.