1984 wurde der Apple Lisa vorgestellt. Was heute als selbstverständlich angesehen wird, war dazumals revolutionär. Hier ist ein Video, das die Features von Apple Lisa zeigt:
Wer sich interessiert, was für Prozesse auf einem Mac OS X ausgeführt wird, kann im Terminal den Befehl ps nutzen.
Hier ein Auszug was auf apfelschwein so abgeht:
apfelschwein:~ andy$ ps auxwww USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND andy 573 4.6 3.8 401904 20020 ?? S Tue11PM 139:58.02 /Applications/iTunes.app/Contents/MacOS/iTunes -psn_0_11141121 andy 885 2.1 18.2 483412 95288 ?? Ss 10:17AM 38:41.46 /Applications/Firefox.app/Contents/MacOS/firefox-bin -psn_0_19136513 -foreground andy 558 0.1 0.6 383836 3280 ?? S Tue10PM 10:41.76 /Applications/VLC.app/Contents/MacOS/VLC -psn_0_10878977 andy 971 0.1 0.2 27728 792 p2 Ss 1:32PM 0:00.02 -bash root 974 0.1 0.1 27316 420 p2 R+ 1:33PM 0:00.00 ps auxwww root 31 0.0 0.1 28364 284 ?? Ss Sun11PM 0:00.04 /usr/sbin/KernelEventAgent root 32 0.0 0.1 28564 664 ?? Ss Sun11PM 0:04.74 /usr/sbin/mDNSResponder -launchdaemon root 33 0.0 0.2 27580 928 ?? Ss Sun11PM 0:01.56 /usr/sbin/netinfod -s local root 34 0.0 0.1 27288 308 ?? Ss Sun11PM 0:00.36 /usr/sbin/syslogd root 37 0.0 0.2 30032 856 ?? Ss Sun11PM 0:03.35 /usr/sbin/configd root 38 0.0 0.2 34516 1124 ?? Ss Sun11PM 0:00.80 /usr/sbin/coreaudiod root 39 0.0 0.1 27776 648 ?? Ss Sun11PM 0:00.52 /usr/sbin/diskarbitrationd root 40 0.0 0.1 28420 472 ?? Ss Sun11PM 0:00.06 /usr/sbin/memberd -x [..]
Die PID ist die Process ID. Jedem Prozess wird eine solche, eindeutige Nummer zugewiesen. Warum dies wichtig ist, wird in den nächsten Posts aufgelöst ;).
ps hat zahlreiche Optionen:
-a Display information about other users' processes as well as your own.
-A Display information about other users' processes including those without controlling terminals.
-c Change the ``command'' column output to just contain the exe- cutable name, rather than the full command line.
-C Change the way the cpu percentage is calculated by using a ``raw'' cpu calculation that ignores ``resident'' time (this normally has no effect).
-e Display the environment as well.
-h Repeat the information header as often as necessary to guarantee one header per page of information.
-j Print information associated with the following keywords: user, pid, ppid, pgid, sess, jobc, state, tt, time and command.
-L List the set of available keywords.
-l Display information associated with the following keywords: uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time and command.
-M Print the threads corresponding to each task.
-m Sort by memory usage, instead of by process ID.
-O Add the information associated with the space or comma separated list of keywords specified, after the process ID, in the default information display. Keywords may be appended with an equals (``='') sign and a string. This causes the printed header to use the specified string instead of the standard header.
-o Display information associated with the space or comma separated list of keywords specified. Keywords may be appended with an equals (``='') sign and a string. This causes the printed header to use the specified string instead of the standard header.
-p Display information associated with the specified process ID.
-r Sort by current cpu usage, instead of by process ID.
-S Change the way the process time is calculated by summing all exited children to their parent process.
-T Display information about processes attached to the device asso- ciated with the standard input.
-t Display information about processes attached to the specified terminal device.
-U Display the processes belonging to the specified username.
-u Display information associated with the following keywords: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time and command. The -u option implies the -r option.
-v Display information associated with the following keywords: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem and command. The -v option implies the -m option.
-w Use 132 columns to display information, instead of the default which is your window size. If the -w option is specified more than once, ps will use as many columns as necessary without regard for your window size.
-x Display information about processes without controlling termi- nals.
Das man früher sich öfters mal geärgert hat, dass Dateien > 2GB (unter FAT) nicht möglich sind, ist öfters mal vorgekommen, aber das man auf die maximale Anzahl Unterordner stösst, kommt doch etwas seltener vor.
Nun ja, das es irgendwo Grenzen gibt, scheint logisch. Aber wo liegt sie denn nun bei der maximalen Anzahl Unterordner?
Genau das habe ich (nicht ganz freiwillig) herausfinden müssen, weil eine Website eines Kunden nicht mehr richtig funktionierte. Diese Website legt für jedes Objekt einen eigenen Ordner an in dem es die zugehörigen Bilder speichert.
Die Fehlermeldung war folgende:
mkdir: cannot create directory `xyz': Too many links
Wenn du so eine Fehlermeldung siehst, hast du die magische Grenze von 32000 Unterordnern in einem Ordner erreicht! Glückwunsch! 
Wer das bei sich ausprobieren möchte, kann dieses Shellscript verwenden:
#!/bin/sh
mkdir -p /tmp/test && cd /tmp/test
LIMIT=32000
a=0
while [ $a -le "$LIMIT" ]
do
a=$(($a+1))
mkdir $a
done
Viel Spass!
Vor ein paar Tagen bin ich über eine voll coole Diebstahlsicherung für MacBooks gestolpert. Mit iAlertU kann man seinen MacBook wie ein Auto schützen.
Ein Video, dass das ganze demonstriert:
Die Software kann man hier gratis herunterladen.
Wer wissen möchte, wer denn auf seinem Unix-basierten OS eingeloggt ist, kann im Terminal w ausführen. Und so sieht dass aus:
apfelschwein:~ andy$ w
11:15 up 5 days, 11:50, 2 users, load averages: 0.34 0.28 0.19
USER TTY FROM LOGIN@ IDLE WHAT
andy console - Sun23 5days -
andy p1 - 11:15 - w
Das Uptime eines Unix-basierten OS dient immer wieder zu Schwanz-Vergleichen unter den Besitzern. Eine hohe Uptime heisst aber unter Umständen auch, dass das System nicht mehr auf dem neuesten Softwarestand ist und deshalb Sicherheitslücken enthält. Lieber eine kleinere Uptime als ein gehacktes System. Der Ärger wäre definitiv grösser.
Deine Uptime (resp. diejenige deines Öpfels, Linux, etc.) findest du heraus in dem du im Terminal den Befehl uptime eintippst. Dann sieht dass dann so aus:
apfelschwein:~ andy$ uptime
11:00 up 5 days, 11:36, 2 users, load averages: 0.27 0.20 0.12
Wie lange läuft dein Mac schon?
Einige Befehle haben wir nun mittlerweile kennengelernt und sollten damit eigentlich schon recht gut zurecht kommen. Mit dem Befehl alias kann man Befehle/Abkürzungen definieren.
Statt immer ls -la eingeben zu müssen, können wir auf manchen Systemen nur l eingeben und der gleiche Output erscheint. Definiert wird l mit alias:
alias l="ls -la"
Und schon kann man l benutzen.
Damit man diesen Befehl nicht immer eingeben muss, bevor sich dieser Alias verwenden lässt, trägt man unter Mac OS X
alias l="ls -la"
in die Datei .profile, die im Home-Verzeichnis liegt, ein. Unter Linux (mit Bash als Shell) ist es meistens .bashrc oder .bash_profile, die ebenfalls im Home-Verzeichnis liegen.
Der Trip nach Paris war eine ganz coole Sache. Am Samstag gab es ein riesiges Openair Konzert auf dem Platz in der Nähe der L’Ecole militaire und dem Eiffelturm. Die Franzosen wurden aber nicht so warm beim Konzert von Nelly Furtado (was ich auch verstehen kann), aber gingen dann umso mehr beim französischen Thomas Gottschalk-Verschnitt ab (was ich überhaupt nicht verstehen kann). Dieser Typ war imho unglaublich schlecht!

Die Preise in Paris sind recht happig. Ein 2,5dl Nestea hat 6€ gekostet. An einem anderen Ort mussten wir für einen Liter Bier 23€ hinblättern… Nicht unbedingt der preiswerteste Ort um sich zu betrinken, aber wir haben’s doch recht gut hingekriegt :).
Im Disney Land waren wir ebenfalls noch. Hatte relativ viel Leute, aber das Anstehen ging noch. Und jede halbe Stunde konnte man gratis wieder ein Fast Pass Ticket lösen, mit dem man die Warteschlange umgehen kann. Die Bahnen waren cool und sind nicht besonders wild, also sicher kindergeeignet.
Die Metrostationen in Paris ergeben eines der grössten Toilettensysteme von Europa. An jeder Ecke stürzt sich das Pissmonster aus dem Hinterhalt und nimmt dir die kostbare Luft zum atmen. Ich mag mich jedenfalls nicht daran erinnern, dass es in London oder Berlin jemals so gestunken hat. Das gleiche gilt aber auch für die Stadt selber. Sobald es heiss ist, mieft es oben genau so schlimm. Wenn man unter einer Brücke läuft, hält man am Besten vorher die Luft an.
Die Fahrt im TGV war ebenfalls sehr kurzweilig. Man tut gut daran zu reservieren, da es unglaublich viel Spass machen muss, immer wieder nach einem Halt von einem “freien” Platz vertrieben zu werden. Egal, wir hatten die Reservation… Nur so richtig genutzt haben wir sie nicht, da wir von den ungefähr 4,5 Stunden Reisezeit doch gut 3,5 Stunden im Barwagen verbracht haben. Und auf der Rückreise haben wir den zwei Rekruten, die noch ein Bier kaufen wollten, leider schon alles weg getrunken. Shit happens :)
Unsere Kulturreise (yep, Kultur) nach Paris hat absolut Spass gemacht und ich würde sofort wieder gehen.