Bananas Development Blog: share your thoughts

My grandfather is a chimney

A: Since Mac OS X, this operating system is linux based.

B: No, here you can find the refence to mac os x’s kernel: http://en.wikipedia.org/wiki/Mac_OS_X

A: “unix-based”, there you have it

B: unix != linux

A: come on man… dont be so ultra exactly, linux is part of unix family

B: exactly.

based on the assumptions:

- mac os x is based on unix
- linux is based on unix

the statement:

- mac os x is based on linux

is wrong, because is a wrong sillogism.

analogue:

- chimneys smoke
- my grandfather smokes

=> my grandfather is a chimney.

so, if you say that Mac OS X is unix-based, it’s correct, if you say that is linux-based, it’s wrong.


Damit wäre dies auch mal geklärt.

via

Macports ssh/scp vs. OSX ssh/scp

Sollte jemand mal das Problem haben, dass mit der Verwendung von Macports und ssh/scp, die Dialogbox zur Eingabe des Passwortes nicht mehr erscheint, dann habe ich hier die Lösung ( Nach langer Suche und Experimenten ) :

su
cd /opt/local/bin
mv ssh _ssh
mv scp _scp


Das Problem ist folgndendes. Das ssh von OSX verwendet die Dialogbox um automatisch ssh-agent anzusteuern. Nun legt aber Macports den /opt/local/bin Pfad an erste Stelle und somit wird das OSX ssh nicht mehr angesprochen. Das Macports ssh kann das aber mit der Dialogbox nicht. Daher muss das Macports ssh umbenannt werden.

( Ja ich kann su verwenden, denn ich habe aus dem pseudo root nen richtigen root gemacht. Denn sudo nervt. )

via: Leopard, SSH-agent, and a macports gotcha


OSX Tools: dtrace

DTrace is a performance analysis and troubleshooting tool that is included by default with various operating systems, including Solaris, Mac OS X and FreeBSD. A Linux port is in development.


Damit kann man eine Menge über das System erfahren und was denn gerade so alles aktiv ist.

Ein man -k dtrace gibt eine Liste aus, was es alles an Befehlen gibt:
bitesize.d(1m)           - analyse disk I/O size by process. Uses DTrace
cpuwalk.d(1m)            - Measure which CPUs a process runs on. Uses DTrace
creatbyproc.d(1m)        - snoop creat()s by process name. Uses DTrace
dappprof(1m)             - profile user and lib function usage. Uses DTrace
dapptrace(1m)            - trace user and library function usage. Uses DTrace
diskhits(1m)             - disk access by file offset. Uses DTrace
dispqlen.d(1m)           - dispatcher queue length by CPU. Uses DTrace
dtrace(1)                - generic front-end to the DTrace facility
dtruss(1m)               - process syscall details. Uses DTrace
errinfo(1m)              - print errno for syscall fails. Uses DTrace
execsnoop(1m)            - snoop new process execution. Uses DTrace
fddist(1m)               - file descriptor usage distributions. Uses DTrace
filebyproc.d(1m)         - snoop opens by process name. Uses DTrace
hotspot.d(1m)            - print disk event by location. Uses DTrace
httpdstat.d(1m)          - realtime httpd statistics. Uses DTrace
iofile.d(1m)             - I/O wait time by file and process. Uses DTrace
iofileb.d(1m)            - I/O bytes by file and process. Uses DTrace
iopattern(1m)            - print disk I/O pattern. Uses DTrace
iopending(1m)            - plot number of pending disk events. Uses DTrace
iosnoop(1m)              - snoop I/O events as they occur. Uses DTrace
iotop(1m)                - display top disk I/O events by process. Uses DTrace
kill.d(1m)               - snoop process signals as they occur. Uses DTrace
lastwords(1m)            - print syscalls before exit. Uses DTrace
loads.d(1m)              - print load averages. Uses DTrace
newproc.d(1m)            - snoop new processes. Uses DTrace
opensnoop(1m)            - snoop file opens as they occur. Uses DTrace
pathopens.d(1m)          - full pathnames opened ok count. Uses DTrace
pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace
plockstat(1)             - front-end to DTrace to print statistics about POSIX mutexes and read/write locks
priclass.d(1m)           - priority distribution by scheduling class. Uses DTrace
pridist.d(1m)            - process priority distribution. Uses DTrace
procsystime(1m)          - analyse system call times. Uses DTrace
runocc.d(1m)             - run queue occupancy by CPU. Uses DTrace
rwbypid.d(1m)            - read/write calls by PID. Uses DTrace
rwbytype.d(1m)           - read/write bytes by vnode type. Uses DTrace
rwsnoop(1m)              - snoop read/write events. Uses DTrace
sampleproc(1m)           - sample processes on the CPUs. Uses DTrace
seeksize.d(1m)           - print disk event seek report. Uses DTrace
setuids.d(1m)            - snoop setuid calls as they occur. Uses DTrace
sigdist.d(1m)            - signal distribution by process. Uses DTrace
syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace
syscallbyproc.d(1m)      - syscalls by process name. Uses DTrace
syscallbysysc.d(1m)      - syscalls by syscall. Uses DTrace
topsyscall(1m)           - top syscalls by syscall name. Uses DTrace
topsysproc(1m)           - top syscalls by process name. Uses DTrace
weblatency.d(1m)         - website latency statistics. Uses DTrace


Mehr Details und Beispiele gibt es hier.

Die Sicherheit...

Tja, so kann es gehen mit der Sicherheit, oder was auch immer die Verantwortlichen sich dabei gedacht haben.

Safari:
CVE-2011-3230 - Launch any file path from web page

DigiTask:
DigiTask - unfähig die eigene Webseite zu schützen !

Na dann, happy hacking !

Textmate Shortcuts

Wer mit Textmate arbeitet, der sollte sich folgenden Artikel mal anschauen/durchlesen.
Even after six years, TextMate is still considered by many to be the best code editor available for Mac. The reason why is simple: it’s incredibly powerful, and offers features that even the newest editors don’t yet offer. Add a robust plugin/bundle community on top of it, and you get one heck of a code editor.

Essential TextMate Shortcuts, Tips and Techniques

Macports perl +threads

Wenn man via Macports Perl installiert ist die Option +threads nicht dabei.

Wenn man nun Perl neu installiert:
port upgrade --force perl5 +threads

sind die Module leider nicht mehr kompatibel.

Dies kann man wie folgt lösen ( an dem Beispiel von DBD::Mysql ) :
port upgrade --force p5-dbd-mysql +threads


Dabei sollte man sich nicht wundern warum da so viel und so lange was gemacht wird. Da wird sehr viel neu installiert !

Google Suche zu diesem Thema


10 MacOSX Anwendungen die man verwenden sollte

Ten Mac OSX Applications I couldn't live without
Firefox 4 + Pentadactyl
Aquamacs
iTerm 2
Quicksilver
KeyRemap4MacBook
(...)


ogg Dateien in iTunes

Tja, iTunes ist leider nicht allmächtig....

Damit man die Dateien wenigstens abspielen kann, aber nicht die Tags bearbeiten, gibt es für iTunes ein Plugin:

http://xiph.org/quicktime/
Xiph QuickTime Components (XiphQT) is, in short, the solution for Mac and Windows users who want to use Xiph formats in any QuickTime-based application, e.g. playing Ogg Vorbis in iTunes or producing Ogg Theora with iMovie.


Jetzt nur noch einen gescheiten Tag Editor finden...



Ordner zusammenführen im Finder OS X

Tja, da kann man schon auf die Nase fallen und zwar feste...

Kopieren im Finden von einem Ordner.

Beispiel:
. Ordner mp3 mit vielen Unterverzeichnissen ( Interpret / Albenname )
. Eine CD mit der selben Struktur mit zusätzlichen Alben oder sogar Interpreten

Öffnet man nun zwei mal den Finden und möchte mit dem Vorgang "Ich kopiere mal die MP3s von der CD rüber" seine Sammlung abgleichen, dann wird man ein böses Erwachen haben.

Wenn man nun auf der CD alle Interpreten die was neues haben auswählt ( sprich Ordner ) und diese dann in das Zielverzeichnis kopiert ( in dem ja auch schon solche Ordner befinden ) wird man ja gefragt ob man das Ziel überschreiben möchte, da es ja schon vorhanden ist.

Nun wird aber im Finder ein Ordner als einzelnes Objekt gehandelt. Wenn so ein Objekt schon vorhanden ist, dann wird dieses nicht überschrieben sondern ersetzt !!!

Nun überlegt mal was das für die MP3 Sammlung bedeutet.......

Jup alles was auf der CD war ist nun im MP3 Ordner, ABER *tada* so wie es auf der CD war. Alles zusätzliche was sich schon auf der Festplatte ( Ziel ) befand ( also das Album X im Ordner Y was nicht auf der CD war ) ist gelöscht !!!
Ja gelöscht !!!

So ein bullshit; das auch noch ohne Vorwarnung !!!!

Auf den anderen Systemen wir der cp Befehl gleich interpretiert, nur Apple muss da ein eigenes Süppchen kochen und das bei einem grundlegenden Verhalten. Nix gegen neues aber bestehendes so zu verbiegen geht schon mal gar nicht....

Apple Support Thread dazu



Abstrakt könnte man das mal an diesem Beispiel veranschaulichen:

Man fährt an die Tankstelle, da das Benzin zur neige geht.
Es ist noch eine gewissen Mange X im Tank. Also nicht leer.
Nun möchte man seinen Tank füllen.

    Nun kann man sich die Zapfanlage bzw. den Vorgang mal als Kopiervorgang vorstellen. Denn die Zapfanlage wird ja immer wieder gefüllt. Somit könnte man das so sehen, als kopieren wir den Treibstoff und nehmen ihn nicht weg. Damit haben wir unseren Kopiervorgang.

Nun erwartet man doch von diesem Vorgang, dass sich der neuen Treibstoff Y zum dem jetzigen Treibstoff X dazugesellt oder ? Also dass X+Y=G.
Würde man das aber nach Finder manier machen wäre G=Y ohne X.

Würde man dieses Verhalten absichtlich wollen, dann würde man doch vorher den Tank ausleeren damit X weg ist, oder ?
Aber wenn ich das nicht mache, dann erwartet man doch, dass X noch da ist und nicht weg.....


Sollte man das nun nicht wollen und nicht mit dem Terminal machen wollen, dann kann man sich das Tool Forklift anschauen. Aber selbst da muss man aufpassen. Darüber geht das mergen auch nur wenn man es über die queue macht !

Mac OS X Terminal Farben

Die dir colors die die Themes unter Mac OS X anbieten sind nicht immer die Besten. Vor allem wenn es ein dunkles Terminal ist.

Wie man nun die Farben umstellen kann, wird hier beschrieben:

Enabling Bash terminal directory file color highlighting mac os x
By default Mac OS X’s Terminal application uses the Bash shell (Bourne Again SHell) but doesn’t have directory and file color highlighting enabled to indicate resource types and permissions settings.
Enabling directory and file color highlighting requires that you open (or create) ~/.bash_profile in your favourite text editor


Danke Microsoft

Ohne Microsoft wäre die Betriebssystemwelt nicht so wie sie nun ist.

Als kenner der gebräuchlichsten Welten ( Windows, Mac, GNU/Linux ) kann ich mit Sicherheit behaupten, dass Mac und GNU/Linux nicht da wären wo sie nun sind, ohne Microsoft. Und selbst wenn man es nicht wahrhaben möchte. Viele schauen bei Microsoft ab !!

Also nochmals danke für die Entwicklung von Microsoft.

25 Jahre Windows: Krieg und Frieden
Heute vor 25 (20.11) Jahren veröffentlichte Microsoft mit gehöriger Verspätung Windows 1.0. In der damaligen c't freute sich der Rezensent über Dialogboxen und Mäuschen für PCs, die Computer mit einem A (Amiga, Apple, Atari) bereits besaßen. Dass aus dem grafischen Aufsatz für MS-DOS 3.1 das erfolgreichste Betriebssystem der Welt werden sollte, ahnte niemand.


Mac OS X Snow Leopard und die Maus

Wir hatten dieses "Problem" ja schon mal, aber es ist ja doof wenn man diese Einstellung überschrieben bekommt.

Nach etwas suchen, habe ich nun etwas gefunden, dass Freeware ist und dazu noch funktioniert.
Mouse Acceleration Preference Pane for Mac OS X

Somit lässt sich die Mause "wie gewohnt" bedienen.

Der eigentliche Unterschied bei der Maus unter Mac OS X ist, dass keine lineare Beschleunigungskurve vorhanden ist. Es ist eher eine Kurve die bei langsamen Bewegungen die Maus auch langsam reagieren lässt. Wenn man dagegen die Maus schnell bewegt wird die Bewegung auch schnell umgesetzt.
Da man aber als nicht Mac User eine lineare Bewegung gewöhnt ist, hat man damit so seine Probleme.

Nun sollte man nicht alles umbiegen, denn Mac ist Mac und nicht wie andere Betriebsysteme. Kommt man damit nicht zurecht, sollte man ein anderes nehmen.

Da ich aber mittlerweile mit 3 unterschiedlichen Systemen arbeite, muss ich zumindest bei der Eingabe auf einen Nenner kommen. Ansonsten wird man ja ganz gaga und bekommt Knoten in die Finger.

( Mal sehen wie viele Hits ich wegen dem Wort gaga bekomme ;-) )



Maus, Mac und VirtualBox

Sollte man mal Probleme mit der Maus unter Mac mit VirtualBox haben dann sollte man auf jeden Fall die Guest Tools installieren.

Wenn man auch mal wenig Daddeln möchte, dann sollte man sich diesen Tip zu Herzen nehmen.

Disable mouse pointer integration while playing, else you'd end up with mouse leaving game window.



Tastenbelegung unter OS X

Apple macht ja gerne was eigenes ;-)

Nun habe ich ein Tool gefunden, dass es ein wenig angenehmer macht, wenn man bisher mit einer IBM Tastatur gearbeitet hat und nun mit einer Apple Tastatur arbeitet. ( mit einer aktuellen wohlgemerkt, die es schon mit einer Cherry Tastatur aufnehmen kann )


DoubleCommand
DoubleCommand is software for Mac OS X (a kernel extension) that lets you remap keys, in other words change the way your keyboard works. Often used to make a PC keyboard more comfortable with a Mac, swapping the Alt (Option) and Windows (Command or Apple) keys, since they are in swapped positions on Mac and PC keyboards. DoubleCommand is a quick and easy way to fix this if you use a PC keyboard with your Mac.


BTW: schön schlichte Website.

Eigenes Süppchen

Ich erwarte ja nicht, dass alles eines ist aber gewisse Standards sollte man doch einhalten oder ?

Ein tar Archiv ist ja nichts unbekanntes. Wieso muss Apple mit Mac OS X da was "besonderes" draus machen ?

Erstellt man per Konsole ein tar Archiv, meint Apple man muss noch zusätzliche Features mit rein packen.

Es wird für jede Datei und Ordner ein zusätzliche ._ Datei angelegt, die Zusatzinfos für Mac OS X enthalten.
An sich ja keine schlechte Idee, aber so was ist katastrophal !!!

Wenn man diese Archive nur auf Mac OS X erstellt und verwendet ist das ja kein Problem. Arbeitet man aber mit verschiedenen Systemen kommt Müll dabei raus!

Wenn ich eine Anwendung verwende die es nur unter OS X gibt dann erwarte ich nicht, dass diese auch auf anderen Systemen funktioniert.
Wenn ich aber eine Anwendung wie tar verwende, dann erwartet man so was. Denn tar ist nicht irgendwas, nein es ist fast schon ein Standard. Und Standard ist nun mal dazu da, dass sie überall gleich sind.

Wie verhindere ich das nun ?
export COPYFILE_DISABLE=true
tar cvf foo.tar foo


So.

Wenn ich schon damit arbeite und mich mit der Tastatur anfreunden muss, dann sollten doch die Anwendungen "normal" sein !!