Tools für Mac / Peepcode / Prototype
Ich bin in meiner Freizeit noch schwer mit der Einrichtung meines MacBooks beschäftigt. Ich werde mal einiges der letzten Tage hier zusammenfassen.
Tools für Mac
Also Parallels habe ich erstmal wieder gelöscht. XP Installation abgeschmiert und Vista ging zwar, aber war dann auch wieder so lahm das es unlustig geworden ist. Vielleicht mal BootCamp ausprobieren..
Ich bin grosser Fan von Feeddemon und habe da rund 200 Abos und brauchte was gleichwertiges. NetNewsWire von der gleichen Firma war die Antwort. Werde mir wohl gleich ne Lizenz kaufen. Warum das unter Mac anders heissen muss, weiss ich nicht.
Beim aktualisieren der Feeds fand ich Twitterrific. Ein kleines Freeware Tool mit dem man mal eben was Twittern kann. War bisher noch nicht süchtig, aber das kann sich vielleicht nun ändern.
Growl is logo .. aber der Google Notifier ist auch Klasse. Zumindest mit dem Plugin dafür, um die Notifier Meldung in Growl anzeigen zu lassen.
Peepcode und Ruby on Rails
Habe mich wegen Programmieren jetzt mal mehr mit TextMate beschäftigt und im Zuge dessen ein 2 Stunden Crashkurs mit Ruby on Rails absolviert.
Peepcode hat hier zwei neue Videos zu je 9 Euro (zahlbar mit paypal) im Angebot. Mal wieder super erklärt und mit allen Sources und wertvollen Links. Der Screencast zu HTML-Tags mit TextMate ist auch empfehlenswert.
Übrigens: Schon bald gibt es von Peepcode die Fortsetzung zu Javascript with Prototype.js!
Appropos Prototype
Diese Woche war eine heisse Diskussion entbrannt, als die ersten Vorschläge zur Erweiterung des Klassenmodells innerhalb Protoype vorgestellt wurden. Ich habe mich auch in die Runde eingebracht und freue mich schon jetzt auf das Ergebnis. Die erste Implementierung war schon super, aber ich denke nach der öffentlichen Diskussion wird da noch einiges mehr hinzukommen. War wirklich kreativer Input. Links: UnitTest und Google Group Thread
MacBook und so
Hab mich so langsam hier schön eingelebt. Ich erwische mich dennoch immer häufiger dabei wie ich CTRL+C und CTRL+V machen möchte. Naja.. hoffe das legt sich.
PS: Dieser Artikel entstand mit MarsEdit :)
Mac OS X – Wie kann ich die Tasten ändern?
Ich hab mir ja letztens ein MacBook gekauft und bin überaus zufrieden mit allem. Konnte sogar die POS1 und ENDE Tasten mit dem bekannten DefaultKeyBindings.dict Trick ummodeln und auch in 10.4 die CTRL und ALT Tasten dem von Windows anpassen. (also Apfel Taste ist nun ALT bei mir, und control ist wirklich control .. also CTRL+C für copy. etc..)
Ich weiss, dass ist vielleicht nicht die feine Art in ein neues Betriebssystem einzusteigen, aber ich bin Programmierer und schreibe mehrere 100 zeilen am Tag und kann daher einfach nicht anders.
Man möge mir verzeihen…
Mir fehlt jetzt nur noch eines:
Die geschweiten Klammern ( Braces ) und die eckigen Klammern ( Brackets ) sind bei Mac völlig woanders. Für die Brackets brauch man sogar zwei Hände, gegenüber dem PC.
Windows:
- { = ALT-7,
- } = ALT-0,
- [ = ALT-8,
- ] = ALT-9
Mac
- { = ALT-8,
- } = ALT-9,
- [ = ALT-5,
- ] = ALT-6
Nun .. Braces um einen verschoben und Brackets ganz woanders. Hilfeee!
Weiss einer eine Lösung? Ich kann mich einfach nicht umgewöhnen, zumal ich gleichzeitig an Windows und Mac arbeite. Ich vertue mich schon oft genug mit der Maus, aber dann noch ein Fingerkrampf obendrauf ist zuviel für mein zartes Gemüt :)
Ich habe nur eine Lösung mit “xmodmap” finden können, leider hat das was mit Apple X11 zu tun und dazu gibts irgendwie kein Download mehr.
Hier mal das listing:
xmodmap -e ‘keycode 34 = 7 slash braceleft backslash’
xmodmap -e ‘keycode 37 = 0 equal braceright dead_macron’
xmodmap -e ‘keycode 36 = 8 parenleft bracketleft dead_tilde’
xmodmap -e ‘keycode 33 = 9 parenright bracketright periodcentered’
Sieht gut aus, Terminal sagt aber: “xmodmap: command not found”..
Hab Darwin Kernel 8.10.1 i386
Wenn einer weiss wie man das via “DefaultKeyBinding.dict” oder ähnlichem “alternativ zu xmodmap” regeln kann: bitte her damit! auch tools oder so sind willkommen. Alles was es mir möglich macht 7,8,9,0 für die sonderzeichen zu nutzen.
Apple MacBook gekauft, suche PHP IDE
Heute musste ich mal wieder feststellen das man in der Webentwickler-Branche nicht ohne Mac auskommt. Ich war ja zeitweise der Meinung das Apple Macs nur was für Pixelschubser sind, aber um Kompatibilität zu garantieren brauch man auch einen als Coder. Grund: Safari.
Mir sind zwar die beiden WebKit-Browser unter Windows bekannt, aber diese sind zum schreien buggy (bzw. alpha). Ich hätte zwar nie gedacht das ich für nen Browser soviel Geld bezahle, aber so ein MacBook kann ja noch einiges mehr als das (und is schön obendrein).
Während ich so die übliche Software aus dem Netz fischte (Firefox, Opera, VLC), fiel mir auf dass ich da beinahe alles habe was ich täglich brauche.
Mir fehlt jetzt nur noch eine gute PHP IDE und ein Internet Explorer (6 oder 7).. Dann könnte ich mir glatt überlegen komplett umzusteigen, bzw. einen “grossen Mac” zu kaufen. 10 Jahre Windows muss reichen und Vista ist nicht wirklich “Wow”, sondern “i-bäh”. Also grundsätzlich ein guter Zeitpunkt zum wechseln.
Wenn einer PHP auf Mac entwickelt wäre ich für Software-Tips dankbar.
PHP5 Klassen und __toString
Ich habe hier mal eine allgemeine Frage bzw. bin auf der Suche nach einer Erklärung. Hier das Beispiel:
class Base {
public function __toString()
{
return 'Class: '.__CLASS__;
}
}
class SubClass extends Base
{
// something
}
Unter Verwendung der Pseudo-Konstante “__CLASS__” möchte ich via “__toString()” eine dynamische Debugausgabe für alle Unterklassen von “Base” erzielen. Die definierte toString Methode wird auch vererbt, aber seht selbst:
$obj = new SubClass();
echo $obj;
// ergibt: "Class: Base"
Das diese Ausgabe falsch ist, ist offensichtlich, aber vielleicht auch nicht?
Eigentlich wird __CLASS__ mit dem Aufruf __toString() ausgeführt und sollte sich daher nicht durch die Position im Code verwirren lassen. Das Problem oben ist schon etwas älter, aber heute bin ich wieder drauf gestossen und dachte mir, das es sich eigentlich korrekt verhält.
Erklärungsversuch:
Da __CLASS__ eine magische Konstante ist und nur in Base verwendet wird, gilt dies als “der letzte Stand” und wird vererbt.
Bug oder Normal?
Safari 3 für Windows (endlich)

Meine Gebete wurden erhört, oder?
Oder auch nicht.. installiert, gestartet, gecrashed. :(
Wahrscheinlich stehen die angepriesenen Milisekunden dafür, wie schnell sich der Browser sich verabschiedet. :D
Naja … ist wohl eher eine Alpha, aber immerhin!
Helper in CakePHP erweitern
Mal was einfaches, aber doch nicht so offensichtliches:
class UserHelper extends SessionHelper {
function authed() {
return $this->check('User');
}
}
Damit dies funktionieren kann, muss man allerdings zuvor die Reihenfolge der Helper beachten:
class AppController extends Controller {
var $helpers = array('Session', 'User');
}
Dann klappts auch mit dem extend ;)
L10n, CakePHP und Firefox
Wenn ihr schnell mal eure Übersetzung testen wollt, empfehle ich die Quick Locale Switcher Extension. Damit könnt aus der Statusleiste heraus auf jede Sprache wechseln die ihr wollt. Diese wird dann beim neuladen der Website als Hauptsprache gesendet und Cake versucht die passende Sprachdatei in eurem “locales” Ordner zu finden. Zum testen und Debuggen einfach unschlagbar.
__('Schön :)'); ?>
Script.aculo.us Doku als PDF und CHM verfügbar
Ich habe mir die Zeit genommen und eine Offlineversion der Wiki Doku zusammengestellt. Ich hoffe es gefällt und ist eine gute Ergänzung zu den bereits bekannten Prototype API Docs.
Es gibt sie in drei Geschmacksrichtungen: Als druckbares PDF ohne hyperlinks und bookmarks und als desktop version mit klickbaren Querverweisen. Obendrauf gibt es die CHM zum einbauen in eure IDE und als einfache Schnellreferenz unter Windows. Dateigrösse varriert von 72K bis 250K als PDF und ist circa 40 Seiten lang.
