Welcome!

I'm Martin HĂ€cker, a software developer with more than 20 years of experience. I can assist with all aspects of professional software development.

My blog is about Software, Liquid Democracy, Go / Baduk / Weiqi, Kochen, choir singing, bouldering, billiard, paragliding, kiting, juggling and other things that interest me. Look around, use my code and subscribe to my feed to enjoy reading the blog in the comfort of your feed reader.

While my website is available in English and German, most of my blog will be single language. Mostly in German, but occasionally in English.

Newest Entries:

Grundlegende Funktionen und Einstellungen des Terminals

written by Martin HĂ€cker on

Der Terminal-Emulator ist ein zentrales Werkzeug, mit dem wir Entwickler mit unseren Rechnern interagieren. Jedes bisschen Wissen und jede Effizienz, die du hier gewinnst, zahlt sich in kĂŒrzester Zeit hundertfach aus.

NatĂŒrlich gibt es viele Terminals, wie iTerm2, Alacritty oder Kitty. Aber ich finde, diese solltest du nur verwenden, wenn sie deinen Workflow wirklich verbessern. Und dafĂŒr musst du zuerst wissen, was Apple standardmĂ€ĂŸig mitliefert.

Das Schöne am Terminal ist, dass du unglaublich wenig anpassen musst, da es von Haus aus sehr gut funktioniert.

Ich nutze das eingebaute Terminal von macOS mit nur zwei (!) Konfigurationsanpassungen.

Wortweise Löschen

Wortweise Löschen

Die erste wirklich wichtige Anpassung fĂŒr mich ist, dass ⌄-⌫ (Alt-Delete) als Standard-Keybinding gesetzt wird, damit wortweise nach links gelöscht wird. Damit passt du das Terminal an den Mac-Standard an, der in fast allen anderen Programmen ebenfalls funktioniert.

So geht's:

  1. Terminal → Einstellungen öffnen (⌘-,).
  2. Auf der linken Seite alle Profile auswÀhlen, damit alle Einstellungen gleichzeitig bearbeitet werden.
  3. Auf der rechten Seite → "Tastatur" auswĂ€hlen.
  4. Einen neuen Shortcut hinzufĂŒgen.
  5. Die Felder wie im Screenshot ausfĂŒllen. \027 steht fĂŒr ⌃-w (ctrl-w), den Standard-Shortcut fĂŒr wortweises Löschen in der Shell.

Ausgabe navigieren, selektieren und löschen

Die nÀchst-wichtigsten Shortcuts sind:

  • ⌘-N / ⌘-T / ⌘-W: Alles Standard, aber trotzdem meine meistbenutzten Shortcuts.
  • ⌘-↑ und ⌘-↓: Zum Anfang des vorherigen bzw. nĂ€chsten ausgefĂŒhrten Befehls springen. Das ist super praktisch, um schnell nachzusehen, was die vorherigen Kommandos waren.
  • ⌘-Shift-↑ und ⌘-Shift-↓: Wie oben, aber selektiert zusĂ€tzlich. Damit kannst du schnell einen Befehl und dessen Ausgabe kopieren. Das ist super praktisch, um Anleitungen zu schreiben oder einem Kollegen zu zeigen, wie etwas gemacht wurde.
  • ⌘-L: Löscht nur die Ausgabe des letzten Kommandos. Sehr praktisch, um ein nicht mehr benötigtes Shell-Experiment zu entfernen – besonders bei Fehlern mit viel Output. Oft nutze ich das, wenn ich zuerst eine Hilfe anzeige und dann darunter verschiedene Experimente ausfĂŒhre, um die richtigen Flags zu finden. (Genauer: ⌘-L löscht vom Ende bis zur aktuellen Selektion und funktioniert daher hervorragend mit ⌘-↑.)
  • ⌘-K: Terminal löschen. Die nukleare Option – sie löscht alles im aktuellen Terminal. Großer Nachteil: Was weg ist, ist weg. Also nicht benutzen, wenn du den Output noch brauchst. Dennoch ist dies einer meiner am hĂ€ufigsten benutzten Shortcuts.

Unbegrenzter Puffer

Unbegrenzter Puffer

Die zweite Anpassung, die ich vornehme, ist, den Scrollback-Puffer auf unbegrenzt zu stellen, damit ich die Ausgabe von langen Kommandos nicht verliere. Das geht so:

  1. Terminal → Einstellungen öffnen (⌘-,).
  2. Wie zuvor alle Profile auswÀhlen.
  3. Auf der rechten Seite → "Fenster" → "Zeilenpuffer" auf „auf den verfĂŒgbaren Speicher begrenzen“ stellen.

Fazit

Mit diesen Shortcuts kannst du ultraschnell zwischen den letzten Kommandos navigieren, deren Ausgabe selektieren (und kopieren) oder löschen.

Diese Anpassungen und Shortcuts sind fĂŒr mich auch einer der HauptgrĂŒnde, warum ich die eingebauten Terminals in IDEs nicht gerne benutze. Denn dort funktionieren sie oftmals nicht gut.

Viele dieser Einstellungen und Shortcuts gibt es auch auf der Ebene der Shell. Der Vorteil, sie ĂŒber das Terminal zu konfigurieren, ist, dass diese Shortcuts auch auf anderen Servern oder in Docker- bzw. Kubernetes-Containern funktionieren.

Ich hoffe, diese Tipps helfen dir, das Terminal noch besser zu nutzen.

Kennst du weitere nĂŒtzliche Shortcuts oder Einstellungen, die ich nicht erwĂ€hnt habe? Hast du Fragen zu den vorgestellten Tipps? Lass es mich wissen!

Happy Shelling!

Wie kann KI beim Lernen mit Blooms-Taxonomie unterstĂŒtzen?

written by Martin HĂ€cker on

Blooms Taxonomie

Nachem ich jetzt lange ĂŒber Blooms Taxonomie und was die Ebenen im Detail bedeuten geschrieben habe, kann ich jetzt endlich zu dem kommen, was mir eigentlich am Herzen liegt:

Mein ganzes Leben lang haben andere die Ebenen von Blooms Taxonomie verwendet um zu beurteilen wie gut ich etwas verstanden habe - aber man kann diesen Spieß auch umdrehen, und das wissen um diese Ebenen des VerstĂ€ndnisses nutzen um selbst besser zu lernen! (Ehrlich gesagt, bin ich ziemlich angepisst das mir das nicht von Vorne herein genau dafĂŒr erklĂ€rt und beigebracht wurde)

Wie funktioniert das? Wenn Mensch ohne Plan lernt, dann neigen wir dazu uns zunÀchst auf den unteren Ebenen zu bewegen. Denn das ist (vermeintlich) einfacher und erscheint logisch. Aber aus der Forschung wissen wir, dass sich von vorne herein auf Fragen der 4. und 5. Ebene (also Analysieren und Bewerten) zu konzentrieren, nicht nur schneller, sondern auch tieferes VerstÀndnis bringt.

Warum? Weil sich die Art und Weise verĂ€ndert mit der wir uns mit dem Lern-Material beschĂ€ftigen. Auswendig Lernen ist ja nicht verzichtbar. Man muss sich die Fakten ja merken. Aber das passiert auch, wenn man sie Analysiert und Bewertet - ABER - wir kriegen die Analyse und Bewertung gratis dazu. (Wohlgemerkt, fĂŒr etwas mehr Kognitive Anstrengung, aber Entspannung ist ja nicht das Ziel.)

Und das ist der Clou. Gleicher Zeiteinsatz, aber tieferes VerstÀndnis.

đŸ€Ż

Jetzt ist natĂŒrlich nicht jeder mit der FĂ€higkeit geboren, sich selbst einfach so Fragen auf der 4. und 5. Ebene zu stellen. Aber das ist auch gar nicht nötig. Denn KI kann dabei prima helfen.

Chat-GPT hat ein sehr gutes VerstÀndnis von Blooms-Modell und kann endlos fragen auf Bloom Level 4 und 5 zu jedem Thema generieren. Die sind nicht immer perfekt, es reicht aber, um sich darauf einzustimmnen wie solche Fragen aussehen und effizient selbst zu solchen Fragen zu kommen.

Und das ist fĂŒr mich ein gamechanger, und super sinnvoller Einsatz von KI.

Hier mal ein Auszug aus einem Chat mit Chat-GPT. Das ist sicher nicht perfekt, aber ein starker Anfang. Chapeau, Chat-GPT!

Was ist blooms taxonomie? Die 'wichtigsten' oberen Ebenen

written by Martin HĂ€cker on

Blooms Taxonomie

In meinem ersten Blog-Post habe ich mich mit Blooms Taxonomie beschĂ€ftigt. Im zweiten ging es um die ersten drei Ebenen seines Lernmodells. Hier geht es jetzt um die mir am wichtigsten ebenen vier und fĂŒnf. Und der VollstĂ€ndigkeit halber auch auch um die sechste.

Und los gehts!

Die Ebenen von Blooms Taxonomie:

4. Analyse

Auf dieser Ebene geht es darum, Wissen und Informationen in seine Bestandteile zu zerlegen um Beziehungen und Strukturen zu erkennen und Verstehen. Hier geht es erstmals um kritisches Denken und das erkennen von Mustern.

Fragen: "Welche Elemente bilden das Gesamtkonzept?" oder "Wie hÀngen die Teile zusammen?" und "Was sind die zugrunde liegenden Annahmen?" Diese Fragen helfen uns, tiefer in das Thema einzutauchen und es aus verschiedenen Perspektiven zu betrachten.

TĂ€tigkeit: Untersuchen, Zerlegen, Beziehungen erkennen, Vergleichen. Hier geht es darum, das erlernte Wissen zu analysieren, zu hinterfragen und mit schon gelerntem aus anderen Themen zu vergleichen und zu kontrastieren.

Die FĂ€higkeit, komplexe Informationen zu durchdringen und logische Verbindungen herzustellen.

Lernziel: Ich kann komplexe Informationen durchdringen, zerlegen und logische Beziehungen erkennen. Auch zu anderem bisher gelernten. Das Ergebnis dieser Lernstufe ist die FĂ€higkeit, das Gelernte zu analysieren und zu hinterfragen.

Daher ist diese Ebene und Ihre Fragestellung auch mit der nĂ€chsten so wichtig, um langfristig zu behalten was man gelernt hat (verknĂŒpfungen und kontrastierung zu anderem was man schon kann). Außerdem: Wenn man sich von Anfang an mit diesen Fragen beschĂ€ftigt, kriegt man in der gleichen Lernzeit Ebene 1-3 quasi umsonst.

Beispiel: Ein Softwareentwickler könnte beispielsweise den Code eines Programms analysieren, um Fehler zu finden oder um zu verstehen, wie verschiedene Teile des Codes zusammenarbeiten. In einem Konflikt könnte ich die Argumente analysieren, um Bestandteile, Beziehungen zwischen den Argumenten und die dahinter stehenden Annahmen, deren Logik, und die historische Beziehung der konflikteten Parteien zu bewerten.

5. Evaluieren

Jetzt, wo wir das Wissen analysiert und zerlegt haben, geht es darum, dieses Wissen zu bewerten, zu kritisieren und zu priorisieren. Es geht darum, fundierte Urteile zu fĂ€llen und Kritik zu ĂŒben.

Fragen: "Ist diese These Valide?", "Wie effektiv ist diese Methode?", "Welche vor und Nachteile hat dieser Ansatz?", "Welcher andere Ansatz ist aus welchen GrĂŒnden besser?" oder "Welche Methode sollte ich priorisieren?" Diese Fragen helfen uns, das Wissen zu bewerten und Entscheidungen zu treffen.

Lernziel: Das Ergebnis dieser Lernstufe ist die FĂ€higkeit, das Gelernte kritisch anhand der fĂŒr meine Situation relevanten Kriterien zu bewerten und Entscheidungen zu treffen. Es geht darum, das Wissen zu nutzen, um fundierte Entscheidungen zu treffen und PrioritĂ€ten zu setzen.

TĂ€tigkeit: FĂŒhren von Debatten, Entscheidung zwischen AnsĂ€tzen, Bewerten von Projekten und Theorien. Hier geht es darum, das erlernte Wissen zu bewerten und zu priorisieren.

Beispiel: In einem Projekt oder bei der Softwareentwicklung verschiedene Strategien oder Umsetzungsmöglichkeiten bewerten und entscheiden, welche am besten umgesetzt werden sollte. Oder auch kleiner: Bewertung der GlaubwĂŒrdigkeit einer Quelle. Kritisches hinterfragen von Maßnahmen und (politischen) Entscheidungen.

6. Erzeugen

Einleitung: Die höchste Ebene ist das Erschaffen, bei dem ein neues oder originelles Werk entwickelt wird. Es geht darum, Wissen und Ideen auf innovative Weise zu kombinieren und neue Konzepte zu entwickeln.

Fragen: "Was wÀre, wenn...?" oder "Wie könnte ich...?". "Könnte ich [Problem X] vielleicht auch ganz anders angehen?", "Kann ich diese Konzepte vielleicht auch so kombinieren?"

Lernziel: Kreativit und Innovativ eigene Ideen in Produkte umsetzen.

TĂ€tigkeit: Entwickeln von Projekten oder Modellen. Schreiben von Texten. Entwerfen von Experimenten oder Prototypen.

Beispiel: Als Softwareentwickler entwickle ich eine Software. Ich schreibe ein Gedicht. Ich fĂŒhre eine neue Software ein um ein altes Problem neu besser zu lösen.

Warum ist mir das so wichtig?

Seit den 1960er Jahren wird Blooms Taxonomie dazu verwendet, um einzuschĂ€tzen, wie gut ich und andere ein Thema verstanden haben. Und erst jetzt kriege ich raus, dass es a) existiert, und ich es b) dazu verwenden kann mein eigenes Lernen besser zu verstehen und zu vertiefen? Boah ey, wieso hat mir das in der Schule niemand erklĂ€rt? Oder wenn, wieso dann nicht auf eine Weise die ich verstanden habe? Ich fĂŒhle mich im Moment so, als wurde mir hier ĂŒber Jahre etwas wichtiges vorenthalten.

So, das wars. Jetzt wisst Ihr so viel ĂŒber das Modell und seine Ebenen wie ich auch. NĂ€chstes mal soll es dann darum gehen wie man mit hilfe von KI sich selbst auf die Ebene des Lernens Katapultieren kann auf der man gerade sein will.

Bis dahin, bleibt neugierig und probiert es doch mal aus in diesen Kategorien ĂŒber euer eigenes Lernen nachzudenken.

Weitere BeitrÀge