Und noch ein Schüler der Amok-Läuft

written by Martin Häcker on

Dieses mal in Winnenden - was doch immerhin sehr nah an der Gegend ist, in der ich aufgewachsen bin.

Und das trifft natĂĽrlich. Jetzt sehe ich natĂĽrlich die schon wieder die Schlagzeilen dass die Computerspiele schuld sind und die Toastbrote die er gegessen hat und so weiter.

Na toll.

Da kriegt man doch die Krätze. Weil wenn man mal so richtig Zynisch auf das Problem schaut, dann ist der Amokläufer dort (wieso auch immer er das getan hat) wahrscheinlich der der mehr für die Schulen erreicht als die ganzen Politiker die ständig nur versuchen dort Kosten einzusparen.

via

Wie funktioniert ein Bailout

written by Martin Häcker on

Anschaulich in Bildern erklärt.

via

Cappucino != Cocoa

written by Martin Häcker on

Tja, also nach längerer Neugierde habe ich mich mal mit Cappucino auseinander gesetzt und ein wenig damit Programmiert.

Und das hat fĂĽr mich als Cocoa Programmierer eine Menge SpaĂź gemacht.

Erst mal ein paar Kleinigkeiten:

  • Der Java-Script Parser von Safari saugt. Er sagt einem nie wo der Fehler jetzt genau aufgetreten ist. :-( Unbedingt mit Firefox und Firebug entwickeln!
  • Wenn man sich den git tip of the tree auscheckt kriegt man weit mehr Klassen als in der offiziellen Dokumentation erwähnt sind. Insbesondere funktioniert das nib2cib tool auch ein wenig besser - und das spart unmengen von Zeit.
    • Allerdings funktioniert nib2cib auch nicht soo gut. Viele Klassen die es können könnte gehen damit nicht. NSScrollView zum Beispiel.
  • Wenn man sein eigenes Objective-J kompilieren will darf man keine spaces im Pfad haben. (arrrrghhh!!!!!)
  • Man kann (noch) nicht den Code so ohne weiteres in Unterverzeichnisse auslagern. Das macht die Projekte unĂĽbersichtlich - aber angeblich soll das bald gefixt sein.
  • nib2cib darf man nie mit mehr als einem Filenamen aufrufen. Sonst schreibt es nämlich einfach in das zweite Argument den output hinein.
    • Wo ich gerade darĂĽber nachdenke: das geht eigentlich mit kaum einem objective-j tool ojtest zum beispiel... Dabei ist der Startup von Rhino immer das langsamste daran. :-(
  • Und man muss einiges an Umgebungsvariablen setzen. Am besten macht man sich ein ein shell script was diese dinger setzt und dann wieder eine shell exec'd. Damit hat man dann gleich eine Arbeitsumgebung fĂĽr Cappucino ohne alles irgendwohin in standard-Betriebsystem-Locations installieren zu mĂĽssen.
#!/bin/sh

PROJECT_DIR="/path/to/the/cappucino/sources/but/without/spaces/cappuccino"

# you can move this elsewhere to keep things separate
export STEAM_BUILD="${PROJECT_DIR}/build"
TOOLS_DIR="${STEAM_BUILD}/Cappuccino/Tools/objj"
NIBTOOLS_DIR="${PROJECT_DIR}/Tools/objj"

export OBJJ_HOME="${TOOLS_DIR}"
export PATH="${PATH}:${TOOLS_DIR}/bin:${NIBTOOLS_DIR}/bin"
"${SHELL}"

Damit kann man immerhin die ganzen objj tools (ojtest, nib2cib, etc) direkt benutzen.

Cappucino selber benutzt sich tatsächlich ziemlich wie eine recht alte Version von Cocoa. Erstmal keine Bindings und entsprechende Controller und !CPBundle ist reichlich underpowered - Lokalisierter Resourcen-Lookup ist damit erst mal noch nicht drin.

Die Tools sind natĂĽrlich nicht so toll. Insebesondere fehlt ein vernĂĽnftiger Ersatz fĂĽr Interface Builder.

Aber ansonsten rockt Cappuccino schon gewaltig. Jedem Cocoa-Programmierer sei also eine Beschäftigung damit schwer ans Herz gelegt.

Gehackt

written by Martin Häcker on

Ich bin ja ganz erstaunt wie viel spaß es macht Web-Software zu hacken. Bisher habe ich das ja immer vor mir hergeschoben, dass ich es später machen werde...

Nun ja, jetzt ist später, ich habe mich das erste mal erfolgreich per SQL-Injection durch ein Login-Formular gehackt. Und es fühlt sich großartig an.

Muss ich definitiv öfters machen - ich denke dass sich das auch ganz ausgezeichnet als patch an Open Source Projekte schicken lässt.

(Ich will ja gar nicht wissen welche SicherheitslĂĽcken dieses uralte Trac hier noch alles aufweiĂźt. Hm, wird dringend Zeit fĂĽr ein Update.)

Naja, später... ;)

Guter Service von Apple

written by Martin Häcker on

Nach nicht einmal 48 Stunden war der neue Akku da.

Puh.

So Arbeitet es sich schon wesentlich entspannter.

:-)

Batterie Nasis

written by Martin Häcker on

Seit einem Monat habe ich mich gewundert dass meine Maustaste anfängt zu prellen.

Vor einer Woche habe ich mich gewundert, weil mein Notebook einfach ausgegangen ist, obwohl eigentlich noch eine Stunde Batterie-Laufzeit hätte sein soll.

Vorgestern habe ich mich gewundert weil meine Maustaste nur noch geprellt hat.

Und das meine Batterie inzwischen so dick geworden ist, dass sie die Bodenplatte abgedrĂĽckt hat und kurz davor stand zu explodieren.

:-(

Image

Pluspunkt: Apple wird per Garantie (das Gerät ist 2,9 Jahre alt, die Garantieverlängerung läuft bald aus...) eine Neue Batterie liefern. Angeblich bis Mittwoch oder Donnerstag.

Mal schaun. Bis dahin bin ich froh dass man mit Hibernate auch ohne Batterie einen Ruhezustand simulieren kann. Dauert halt nur 30 statt 3 Sekunden.

Da fällt mir ein: Bei den neuen 17" Modellen kann man den Akku ja nicht mehr herausnehmen. Was passiert dann dort eigentlich wenn der Akku schwillt? Merkt man das daran dass das Gehäuse auseinander bricht? Ein Kumpel von mir beim CCC hier meinte das die Batteriehersteller das Problem inzwischen gelöst hätten - immerhin wollen sie die Batterien ja auch für Autos einsetzen.

Well... Vielleicht doch noch etwas warten mit dem neuen 17" Modell?

Netzmusik

written by Martin Häcker on

Vor einiger Zeit bin ich in der c't auf einen Webseitenhinweis gestolpert - das Phlow Magazin. Ein c't Schreiberling der ĂĽber und mit Musik schreiben wollte.

Und es macht immer wieder spaß dort mal reinzuhören.

Xcode mit svn 1.5

written by Martin Häcker on

Eigentlich dachte ich ja ich hätte das schon gebloggt - aber ich habs nicht wiedergefunden. (Vielleicht sollte ich nochmal mit google suchen?)

Ah well.

Dieses Script bringt Xcode mit svn 1.5 via Fink installiert zum laufen.

#!/bin/sh

svn_libs=/sw/lib/svn15

cd /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS || exit 1
ditto XcodeSubversionPlugin XcodeSubversionPlugin.new

libs=`otool -L XcodeSubversionPlugin.new | grep libsvn | awk '{ print $1 }'`

for lib in $libs ; do
  new_lib=`echo $lib | sed "s,/usr/lib,$svn_libs,g"`
  echo "install_name_tool -change $lib $new_lib XcodeSubversionPlugin.new"
  install_name_tool -change $lib $new_lib XcodeSubversionPlugin.new
done

install_name_tool -change /usr/lib/libapr-1.0.dylib /sw/lib/libapr.0.dylib XcodeSubversionPlugin.new
install_name_tool -change /usr/lib/libaprutil-1.0.dylib /sw/lib/libaprutil.0.dylib XcodeSubversionPlugin.new

echo otool -L XcodeSubversionPlugin.new
otool -L XcodeSubversionPlugin.new

echo
otool -L XcodeSubversionPlugin.new | grep svn | awk '{ print $1 }' | xargs -n 1 ls -la

exit 0

Ach ja, am Schluss muss man noch von Hand in /Developer/Library/Xcode/Plug-ins/XcodeSubversionPlugin.xcplugin/Contents/MacOS das original zur Seite bewegen und bei dem neuen das ".new" streichen.

Was ist open source?

written by Martin Häcker on

Nat Torkington (der Organisator der Oscon meint dass man das am besten anhand einer Therapiesitzung erklären kann.

Einer Therapiesitzung, die von "Mon and Pop Business" besucht wird, die einfach nicht mehr verstehen was ihre Kinder (Open Source) tun und was sie bewegt.

GroĂźartig. :)

Hier gibts das Video

Cafébau zu Babel

written by Martin Häcker on

Gestern habe ich das erste mal als Podiant (wie sagt man das?) an einer Podiumsdiskussion teilgenommen.

Und es war gar nicht so schlecht! Das Publikum hat gut reagiert, es wurde auch mal gelacht und ich habe alle Punkte der Piratenpartei untergebracht die ich unterbringen wollte.

Soweit also ein Erfolg.

NatĂĽrich bin ich auch mit ein paar Dingen unzufrieden. Zu dem Telekom-Paket haben die beiden anderen Podiumsteilnehmer mehr gesagt als ich - die hatten dafĂĽr aber alle Punkte die ich sagen wollte schon.

Naja, insgesamt war wenig Gegenwehr auf Dem Podium da wir bis auf ganz wenige Punkte eigentlich alle einer Meinung waren.

War mir fĂĽr das erste mal aber auch ganz recht. :)

Ach ja, inhaltlich schreibe ich auf auf dem blog der Berliner Piraten dann noch mehr.