= NOTIZEN ZU "Zeitmanagement für Systemadministratoren" = (von Thomas A. Limoncelli; verschienen im Verlag O'Reilly) Kann man das Leben kompilieren? Idee der Compiler: Vorarbeit leisten, damit es dann schneller geht (ist auf das Leben übertragbar) Zitat: "Sysadmins haben Probleme damit Prioritäten zu setzen" Planung/Verwaltung zentral halten und großes Vertrauen darauf legen (nur 1 "Datenbank" verwenden) Intellekt für Wichtiges sparen nur auf eine Sache konzentrieren und diese dafür mit voller Konzentration das restliche Denken übernimmt die ToDo-Liste auf die man sich verlassen kann Gehirn -> Single-User-System Organizer -> Multi-User-System Request-Tracker-Datenbank verwenden Routinen entwicklen und Codebibliotheken verwenden 1mal programmieren; 10mal verwenden oft sinnvoller konkreten/regelmäßigen Termin ausmachen als jedes Mal neu kontaktieren zB Chef 1mal die Woche treffen statt "zusammen telephonieren" Gewohnheiten/Mantras entwickeln = Faustregeln, die uns in bestimmten Situationen einen Leitfaden geben zB "Je früher desto besser" "Vertraue dem Prozess" Routinen sind wichtiger als die Situation aufs Wesentliche konzentrieren ähnlich wie Prozesse im Hauptspeicher um Ressourcen kämpfen (vor allem zeitkritische Aufgaben) Zitat: "Niemand wird sich mit den letzteb Worten 'Gott, ich wünschte, ich hätte mehr Zeit im Büro verbracht' aus dieser Welt verabschieden." "Wer wagt, gewinnt" wie beim Poker; wichtig: viel Selbstachtung haben "Unterbrechungen sind der natürliche Feind der Konzentration. Sie stehlen uns, direkt oder indirekt, Zeit" Sysadmins müssen mit ihnen gut umgehen können Konzentration spielt sich im "vorderen Gehirnteil" ab wichtig ist auch eine gute Arbeitsumgebung (3teiliges Büro-Aufräum-Mantra) Zitat: "Two things that have added to my productivity: a significant reduction in playng computer games and staying off IM when I need to get work done" (Victor Raymond) Multitasking * Aufgabe XY = multitaskingfähig? -> nur ISO brennen, großes Backup, ... (anderes machen während gebrannt wird) * Stress & Schlaf * virtueller Window Manager -> Fenster im gleich/puristisch organisieren -> mehrere Aufgaben = mehrere Fenster Die 1. Stunde-Regel: In der ersten Stunde vor/am Arbeitstag ist es am ruhigsten; verwende sie für Projekte != Mails/RSS lesen, ... "unterbrechungsgesteuert" Umgang mit Kunden: Wünsche entgegen nehmen = visuell & verbal bestätigen Delegieren, erfassen oder handeln Zitat: "Routinen geben uns die Möglichkeit etwas einmal zu durchdenken und dann vieles zu tun" Vergiss wieso du eine Routine entwickelt hast. Wenn der Grund wichtig ist, schreibe ihn auf. Aber vergesse ihn und hebe deinen Gehirnschmalz für wichtiges auf. Meine Philosophie: Lieber zu viel in die ToDo-Liste schreiben als zu wenig (wenn es dir selbst zu unübersichtlich ist, kannst du sie ja trotzdem noch "entmüllen") Gute Hinweise: Richtet man seine Routine nach einem Zeitplan, passen sich andere an. Wenn es jeden Tag gemacht werden muss, mache es so früh wie möglich. Nutze automatische Prüfungen, während du bestimmte Aufgaben durchführst. Zitat: "I used to think that the brain is the most wonderful organ in my body. Then I remembered who was telling me this" (Emo Philips) Zitat: "Schreibe dir alles auf. Geheimtinte kommt nur in Cartoons vor und mein Hund hat noch niemals meine HÜ gefressen" (Fazit: PAAs sind zuverlässig und verlasse dich darauf) Frage: "Alles in ToDo-Liste aufschreiben". Was ist "alles"? Zitat: "Stetig wachsende ToDo-Liste des Verderbens" Anforderungen an eine ToDo-Liste: * portabel * zuverlässig * überschaubar Neben ToDo-Liste auch noch wichtig: * Kalender * Lebensziel-Liste Immer/Täglich aktuell halten: * ToDo-Liste * Kalender Meine Philosophie: Nicht jede Minute der Tagesplanung festlegen (zu unflexibel, wenn es nicht total stressig ist) Meine Philosophie: Keine roman-artigen Beschreibungen zu ToDo-Listen-Punkte verfassen; stattdessen regelmäßig hinaufschauen, dann weiß man immer, was man mit dem ToDo-Listen-Punkt meint Möglichkeiten bei Überlastung: * Unwichtiges verschieben * Aufteilen * Verkürzen/Verkleinern * Zeit (realistisch) schätzen Bei großen Projekten auf ToDo-Liste/Kalender "konkretisieren" "Meilenstein" + projektnamen notieren konkretisieren = Großprojekte in lauter kleine Aufgaben aufteilbar sind. Die einzelnen Aufgaben haben ein konkretes, überprüfbares Resultat zB "Fakultätsalgorithmus programmieren - python" statt "python lernen" Lügen = Gehirn muss sich Lüge merken, damit keine Missverständnisse auftreten (viel zu ineffizient; Gehirnschmalz sparen; deshalb NICHT lügen! ;-) ) Wenn die Fertigbringung einer Aufgabe sinnvoll/möglich ist, sofort machen Bestätigung, dass man eine Arbeit abgeschlossen hat, geht am besten schriftlich Steige auf den Zyklus/Routine anderer ein und richte dich danach. Organisation wird dadurch leichter. Chef sollte Karrierepläne kennen Nur nach "oben" (= Chef) delegieren, wenn es die Befugnisse verlangen Maßnahmen gegen Stress: * Schlaf * Yoga * Massagen * Meditation Zeitfresser eliminieren am besten immer Wecker parat halten und damit arbeiten (zB Aufgabe XY darf maximal 10 Minuten in Anspruch nehmen) strategisch = langfristige Aufgaben taktisch = mit Prozess verknüpft strategische Projekte in Teilaufgaben teilen und die Aufgaben in Terminplaner grob festlegen jeden Tag/Woche/Monat ein bisschen Zeit für strateg. Projekte einzuplanen Don't fix symptoms (zB kaputten Wasserhahn reparieren statt den Boden zu "entwässern") Zeitfresser = jede Aktivität deren Verhältnis von Nutzen zu aufgewandter Zeit gering ist statt Effizienz eines Zeitfresser zu erhöhen - eliminieren Wunschlisten erstellen (welche Filme man noch anschauen möchte, welche Bücher man liest, ...) Zitat: "Eine gute IT-Infrastruktur ist das ultimative Zeitmanagement für den Systemadministrator" Was alles automatisieren? * einfach & häufig * schwierig * schwierig & häufig besser nicht automatisieren, sondern großes Produkt vom Markt verwenden verwendete Befehle und Vorgehensweise für nächstes Mal dokumentieren Ziele der Automatisierung: * Reproduzierbarkeit / Wiederverwendebarkeit * Skalierbarkeit * fehlerfreie Ausführung Automatisierung ersetzt die Notwendigkeit sich etwas Kompliziertes merken zu müssen, was nur selten getan werden muss. Schritte zur Automatisierung: 1. Vorgangsweise überlegen 2. Aufschreiben 3. Schritt für Schritt realisierung und dabei schrittweise testen bzw. 1. Schreibe mit der Hand auf 2. Kodiere Schritt für Schritt 3. Zusammenführen der Schritte 4. Alles zusammen testen Tipps zur Anwendung von Kommandozeilen-Tools unter Linux: cmd1; cmd2 cmd1 wird ausgeführt und danach cmd2 cmd1 | cmd2 übergibt Rückgabe von cmd1 an cmd2 (Stichwort Pipes) cmd1 && cmd2 führt cmd2 nur aus, wenn cmd1 erfolgreich war alias hilft beim Definieren von Tastenkürzeln SSH erlaubt auch Kürzel zu definieren (~/.ssh/config); in Kombination mit alias sehr sinnvoll Makefiles aliases.db: aliases newaliases @echo Aliases aktualisiert $ make aliases.db newaliases Aliases aktualisiert In make-Block: $@ = steht hier variabel für "aliases.db" mkisofs -D -l -J -F -L -f -P "Autoren Namen" -v "Disklabel" -copyright copyleft.txt -o disk.iso /folder/data/to_burn/ === STICHWÖRTER AUF DIE MAN NÄHER EINGEHEN KANN === Request-Tracker-DB Respositories Make-Files awk === UNIX-BEFEHLE === alias at awk clean crontab head leave mkisofs source (bzw. Punkt in der bash) which === SHELLS === bash Bourne Again Shell ksh Korn Shell csh C-Shell zsh Z-Shell tcsh Tenex C-Shell === Die QUIZZES === Bevor ich das Buch zu lesen begann, habe ich mir zwei Aufgaben (spaßhalber) notiert. Und diese werde ich jetzt wohl erfüllen müssen und ich habe es halt bestmöglich versucht: Notiere die grundlegenden Aussagen des Buches in 10 Punkten: * Verwende eine gute ToDo-Listen-Organisation (PDA oder PAA) (du musst dich darauf verlassen können; somit ist sie Anlaufstelle für ALLES) * Spare dir deinen Intellekt für wichtige Sachen auf * Entwickle Gewohnheiten/Mantras und Routinen, um Denkschmalz zu sparen * Andere werden sich nach dir richten, wenn du eine zeitbasierende Tagesplanung hast * Gehe gut mit Unterbrechungen um; bzw. organisiere dich gut, damit du auch reine "Projektzeit" hast * Lerne den Umgang mit deiner Arbeitsumgebung (virtueller Window Manager) * Mache Ziele angreifenbar, plane sie und arbeite an ihnen (konkretisieren, Schritte in Kalender eintragen, Wunschliste) * Entdecke Zeitfresser und mache sie effizienter oder eliminiere sie einfach * Automatisiere Aufgaben die einfach & häufig und schwierige & selten sind * Arbeite mit deinem Wissen und arbeite mit Codelibraries (erfinde das Rad nicht neu, welches du eh schon einmal programmiertest) Notiere die Aussagen, die kontrovers zu seiner Organisation stehen bzw. die du verbessern möchtest: * Die ToDo-Liste muss mobil sein (ist eine Textdatei auf meinem Rechner zuhause) * Codebibliotheken (hängt davon ab welches Thema, aber bei Webseiten baue ich gerne alles von null weg nochmals) * gute Arbeitsumgebung (habe ich zuhause nicht wirklich) * Nicht jede Minute des Tages genau festlegen; flexibel halten (ist natürlich nur dann sinnvoll, wenn man den ganzen Tag über an großen Projekten arbeiten) * Konkretisiere deine Großprojekte (zB "python lernen" habe ich jetzt von meiner ToDo-Liste gestrichen bzw. konkretisiert) * Zeitfresser eliminieren (ich versuche zu oft sie effizient zu machen; nein manchmal ist nur mehr eliminieren sinnvoll)