<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
  <title></title>
  <link>https://www.paulhofmann.dev/notebook/</link>
  <description></description>

  

  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  
    

    
      
      

      
      
    

    
  
    

    
      
      

      
      
        
      
    

    
  

  
    

    <item>
      <title>DataOps</title>
      
        <link>https://www.paulhofmann.dev/notebook/dataops/</link>
      
      <pubDate>07 Jul 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="dataops">DataOps</h1>
<p>Ansatz zur Verbesserung der Entwicklung, Bereitstellung und Verwaltung von Daten-Pipelines und datengetriebenen Produkten, angelehnt an [[DevOps]]-Prinzipien. Der Fokus liegt auf [[Automatisierung]], Zusammenarbeit zwischen Data Engineers, Data Scientists und Fachbereichen sowie auf kontinuierlicher Verbesserung von Datenprozessen.</p>
<p>Typische Praktiken sind [[Continuous Integration]], automatisierte Tests für Datenpipelines, Monitoring von Datenqualität und [[Version Control|versionierte]] Daten- bzw. Code-Workflows.</p>
<p>Siehe auch: [[MLOps]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>MLOps</title>
      
        <link>https://www.paulhofmann.dev/notebook/mlops/</link>
      
      <pubDate>07 Jul 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="mlops">MLOps</h1>
<p>Eine Art Weiterentwicklung von [[DevOps]] für [[Machine Learning]]-Anwendungen, die neben [[Continuous Integration]] und [[Continuous Deployment]] auch [[Continuous Training]] beinhaltet (also automatisierte Trainingsdurchläufe bei Veränderung der Daten) und die somit auch Data Engineering explizit miteinbezieht.</p>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Closing the gap</title>
      
        <link>https://www.paulhofmann.dev/notebook/closing-the-gap/</link>
      
      <pubDate>06 Jul 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="closing-the-gap">Closing the gap</h1>
<p>Siehe: [[Lernen]], [[Kreativer Prozess]]</p>
<p>Gemeint ist hier der Abstand zwischen den eigenen [[Kreativität|kreativen]] <em>Ambitionen</em> und dem, was man tatsächlich <em>umgesetzt</em> bekommt (siehe: [[Effektivität]]). Besonders als Anfänger führt das zu enormen [[Motivation|Motivationsproblemen]], egal um welches Medium oder welche Disziplin es geht:</p>
<blockquote>
<p>”All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. <em>And your taste is why your work disappoints you.</em> A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions.”<br>
— <em>[[Ira Glass]]</em></p></blockquote>
<p>Mit anderen Worten: Frustration ist kein Zeichen von Scheitern, sondern von überdurchschnittlichen Ansprüchen &amp; Ambitionen. Das kann aber besonders am Anfang problematisch sein (siehe: [[Perfektionismus]], [[Überforderung durch Selbstansprüche]]). Es ist in dieser Phase extrem wichtig, immer wieder die eigene [[Fokus|Aufmerksamkeit]] weg von der Vorstellung des “Endproduktes” zu lenken und einfach ins Machen zu kommen, am [[Kreativer Prozess|Prozess]] selbst Spaß zu haben, und objektiv schlechte/trashige/amateurhafte Ergebnisse zuzulassen, da man sonst gar keine Ergebnisse produziert – dann gibt es auch keine [[Lernen|Lernerfahrungen]].</p>
<p>Konkret in Bezug auf (Solo) [[Game Development]]:</p>
<ul>
<li>Als <em>Ergebnis</em> ist hier ein <em>vollständiges spielbares Game</em> gemeint, das zumindest im kleinen Rahmen etwa [[Itch.io]] veröffentlicht ist (z.B. im Rahmen eines [[Game Jams]]) zu haben</li>
<li>Diesen gesamten Loop zu durchlaufen ist entsprechend wesentlich komplexer als etwa beim [[Kreatives Schreiben|Kreativen Schreiben]] – gerade deshalb muss man [[Perfektionismus]] vermeiden, um möglichst schnell mit allen Facetten der Spielentwicklung vertraut zu werden</li>
<li>Ein erstes abgeschlossenes und veröffentlichtes Game (selbst mit offensichtlichen Problemen, fehlenden Features, usw.) bringt eine riesige [[Motivation|Motivationswelle]] und echte Erfahrung: [[Done is better than perfect]], [[Der Sinn des Fertigseins besteht nicht darin, etwas zu vollenden, sondern zur nächsten Sache übergehen zu können]] → [[Momentum aufbauen]]</li>
</ul>
<p>Außerdem:</p>
<ul>
<li>[[Je weniger Struktur, desto mehr Prokrastination]]</li>
<li>[[Je größer das Ziel, desto weniger “genug” ist jeder einzelne Schritt]]</li>
<li>[[Alle, die etwas Kreatives machen möchten, sollten sich darin üben, vor anderen Menschen aufzuführen]]</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Der Verstand ist kein guter Games-Simulator</title>
      
        <link>https://www.paulhofmann.dev/notebook/der-verstand-ist-kein-guter-games-simulator/</link>
      
      <pubDate>06 Jul 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="der-verstand-ist-kein-guter-games-simulator">Der Verstand ist kein guter Games-Simulator</h1>
<p>Siehe: [[Game Design]]</p>
<p>Viele Ideen scheinen in unserer Vorstellung extrem clever zu sein &amp; ein spaßiges Spielerlebnis zu garantieren – fühlen sich in Realität aber komplett anders an. <em>Spielideen sind deshalb grundsätzlich wertlos, bis sie im Rahmen eines [[Prototyping|Prototypes]] validiert wurden.</em></p>
<p>Außerdem <em>entsteht</em> gutes Design oft erst durch Experimentieren, [[Playtesting]], und [[Design entsteht durch Iteration|Iteration]]. Manchmal hilft deshalb auch ohne Idee oder spezifische Fragestellung eine Art Prototyping, die eher auf Play &amp; Discovery ausgelegt ist (“Build to think”).</p>
<p>Siehe auch: [[Ideas are not enough]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Game Maker’s Toolkit, 2024) 10 Game Design Lessons from 10 Years of GMTK]] (




<a href="https://www.youtube.com/watch?v=Cm2_drGLGbc" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>




<a href="https://gordonbrander.com/notes/build-to-think/" target="_blank" rel="noopener noreferrer"
   class="external">(Gordon Brander) Build to think</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>6-11 Framework</title>
      
        <link>https://www.paulhofmann.dev/notebook/6-11-framework/</link>
      
      <pubDate>07 Jun 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="6-11-framework">6-11 Framework</h1>
<p>Siehe: [[Game Design]], [[Game Studies]]</p>
<p>Besagt, dass [[Games]] auf [[Unterbewusstsein|unbewusster]] Ebene deshalb so fesselnd sein können, weil sie auf eine Reihe grundlegender [[Emotionen]] und Instinkte zugreifen, die in uns allen verwurzelt sind. Konkret konzentriert sich das Modell auf sechs Emotionen und elf Instinkte, die aus bekannten Konzepten und Abhandlungen in der [[Psychologie]] ausgewählt wurden.</p>
<p>Die sechs Emotionen sind:</p>
<ol>
<li>Angst
<ul>
<li>Siehe: [[Horror]], [[Survival Horror]], [[Sci-Fi Horror]], [[Dungeons Crawler]], [[Stealth]]</li>
</ul>
</li>
<li>[[Wut]]
<ul>
<li>Wichtiger [[Motivation|Motivationsfaktor]] um erneut zu spielen oder in der Geschichte voranzukommen, um ein “Unrecht” zu korrigieren</li>
</ul>
</li>
<li>Freude / Glück
<ul>
<li>Meistens die Folge davon, dass der Spieler eine Aufgabe erfolgreich bewältigt (Belohnung durch Power-Ups, Fortschritte in der Geschichte, etc.)</li>
<li>Siehe auch: [[Lootboxes]]</li>
</ul>
</li>
<li>Stolz
<ul>
<li>Ein weiterer Motivationsfaktor, um sich zu verbessern, im Spiel voranzukommen und sich noch schwierigeren Herausforderungen zu stellen</li>
</ul>
</li>
<li>Traurigkeit
<ul>
<li>Passt auf den ersten Blick nicht zum Konzept von “Spaß“, ermöglicht es aber, neue [[Kunst|künstlerische]] Höhen zu erreichen und komplexere, reifere Themen anzusprechen</li>
</ul>
</li>
<li>Spannung
<ul>
<li>Die meisten guten Spiele sollten Spannung erzeugen, oft als Folge der erfolgreichen Auslösung anderer Emotionen und/oder Instinkte</li>
</ul>
</li>
</ol>
<p>Die elf Instinkte sind:</p>
<ol>
<li>Überleben (“Fight or Flight”)
<ul>
<li>Je nach Situation müssen wir entscheiden, ob wir uns der Bedrohung stellen und um unser Leben kämpfen oder versuchen sollen, ihr durch einen möglichen Fluchtweg zu entkommen</li>
<li>Dieser Instinkt wird in vielen modernen Videospielen häufig genutzt, insbesondere in [[First-Person Shooter|First-Person Shootern]] und [[Survival Horror]]-Spielen</li>
</ul>
</li>
<li>Selbstidentifikation
<ul>
<li>Menschen neigen dazu, erfolgreiche Personen oder schlaue fiktionale Figuren zu bewundern und stellen sich vor, wie sie selbst wie ihre Vorbilder wären</li>
</ul>
</li>
<li>Sammeln
<ul>
<li>Motiviert Menschen dazu, Muster aus Objekten zu bilden, indem sie Sets mit einem gemeinsamen Thema vervollständigen, steht auch in Zusammenhang mit unserem Jagdinstinkt</li>
<li>Wird seit den Anfängen des Mediums in Spielen häufig genutzt, z.B. in “[[(Namco, 1980) Pac-Man|Pac-Man]]“ (Namco, 1980) oder die 32 Schätze in “[[Pitfall!]]“ (Activision, 1982)</li>
<li>Siehe auch: [[Crafting]], [[Sandbox]]</li>
</ul>
</li>
<li>Gier
<ul>
<li>Oft neigen wir dazu, über das einfache “Sammeln“ hinauszugehen und viel mehr anzuhäufen, als eigentlich nötig ist, nur um des Sammelns willen – ob es sich nun um echte wertvolle Gegenstände handelt oder nur um mehrere Sets von Gütern und Ressourcen, die wir benötigen, um unser virtuelles Imperium in einem Strategiespiel aufzubauen</li>
</ul>
</li>
<li>Schutz / Fürsorge / Pflege
<ul>
<li>Wohl der “beste“ Instinkt von allen: derjenige, der jeden Elternteil dazu bewegt, seine Kinder zu lieben, und jeden Menschen dazu, den Impuls zu verspüren, sich um Bedürftige zu kümmern und ihnen zu helfen</li>
</ul>
</li>
<li>Aggressivität
<ul>
<li>Die Kehrseite, die in Verbindung mit Gier oder Wut meist zu Gewalt führt</li>
</ul>
</li>
<li>Rache
<ul>
<li>Eine weitere motivierende Kraft und ggf. Rechtfertigung für die Anwendung virtueller Gewalt</li>
</ul>
</li>
<li>Konkurrenz / Ehrgeiz
<ul>
<li>Ein starker sozialer Aspekt, der z.B. für Ranglisten verantwortlich ist (siehe: [[Arcade]])</li>
</ul>
</li>
<li>[[Kommunikation]]
<ul>
<li>Das Bedürfnis, Ideen und Gedanken auszudrücken; kann wirkungsvoll eingesetzt werden, etwa beim Sammeln von Informationen durch Gespräche mit NPCs oder für soziale Features wie Chatrooms</li>
</ul>
</li>
<li>Erkundung / Neugier
<ul>
<li>Siehe: [[Exploration]]</li>
</ul>
</li>
<li>Farbwahrnehmung
<ul>
<li>Szenen und Umgebungen voller lebhafter Farben ziehen uns ganz natürlich an, egal ob es sich um eine abstrakte oder eine fotorealistische Kulisse handelt – dabei geht es mehr um den künstlerischen Einsatz von Farben als um Auflösung oder Technologie</li>
</ul>
</li>
</ol>
<p>Siehe auch: [[MDA Framework]], [[AGE Model]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: 




<a href="https://archive.org/details/onwaytofunemotio0000dill" target="_blank" rel="noopener noreferrer"
   class="external">(Dillon, 2010) On the Way to Fun - An Emotion-Based Approach to Successful Game Design</a>
</li>
<li>




<a href="https://www.academia.edu/1571687/THE_6_11_FRAMEWORK_A_NEW_METHODOLOGY_FOR_GAME_ANALYSIS_AND_DESIGN" target="_blank" rel="noopener noreferrer"
   class="external">(Dillon, 2011) The 6-11 Framework - A New Methodology for Game Analysis and Design</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>MDA Framework</title>
      
        <link>https://www.paulhofmann.dev/notebook/mda-framework/</link>
      
      <pubDate>07 Jun 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="mda-framework">MDA Framework</h1>
<p>Siehe: [[Game Design]], [[Game Studies]]</p>
<p>Formales Framework zur Analyse von [[Games]], das aus drei zentralen Komponenten besteht: Mechanics, Dynamics, und Aesthetics</p>
<blockquote>
<p>”<strong>Mechanics</strong> describe the particular components of the game, at the level of data representation and [[Algorithmen|algorithms]]. <strong>Dynamics</strong> describe the run-time behavior of the mechanics acting on player inputs and each others&rsquo; outputs over time. <strong>Aesthetics</strong> describe the desirable [[Emotionen|emotional]] responses evoked in the player, when she interacts with the game system.”</p></blockquote>
<p>[ ⚠️ <em>Wie bereits von vielen angemerkt ist die Terminologie etwas irreführend, da die Begriffe im herkömmlichen/alltäglichen Gebrauch verschiedene Bedeutungen mit subtilen Unterschieden haben. “Mechanics” ist also nicht unbedingt synonym mit [[Game Mechaniken]] zu verstehen, und “Aesthetics” bezieht sich auch nicht auf [[Game Ästhetiken]] im rein audio-visuellen Sinn.</em> ]</p>
<p>Um die “Aesthetics” eines Spiels – die ja immer eine subjektive Komponente haben – besser analysieren zu können, schlägt das MDA Modell zusätzlich eine Taxonomie für “Eight Kinds of Fun” vor:</p>
<ul>
<li>Sensation: Game as sense-pleasure (siehe auch: [[Game Feel]])</li>
<li>Fantasy: Game as make-believe (siehe auch: [[Roleplaying]], [[Fantasy]])</li>
<li>Narrative : Game as drama (siehe auch: [[Narrative Design]])</li>
<li>Challenge: Game as obstacle course (siehe auch: [[Puzzle]])</li>
<li>Fellowship: Game as social framework</li>
<li>Discovery: Game as uncharted territory (siehe auch: [[Exploration]])</li>
<li>Expression: Game as self-discovery (siehe auch: [[Sandbox]])</li>
<li>Submission: Game as pastime (siehe auch: [[Idle Games]])</li>
</ul>
<p>…</p>
<p>Siehe auch: [[AGE Model]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Hunicke et al., 2004) MDA - A Formal Approach to Game Design and Game Research]]</li>
<li>[[(Walk et al., 2017) Design, Dynamics, Experience - An Advancement of the MDA Framework for Game Design]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Searle’s Chinese Room</title>
      
        <link>https://www.paulhofmann.dev/notebook/searles-chinese-room/</link>
      
      <pubDate>13 May 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="searles-chinese-room">Searle’s Chinese Room</h1>
<p>Siehe: [[Philosophie]], [[Computer Science]]</p>
<p>Ein Gedankenexperiment von John Searle (1980): Man stellt sich einen geschlossenen Raum vor, in dem ein Mensch sitzt, der keinerlei Chinesisch versteht, der aber in chinesischer Schrift gestellte Fragen sinnvoll beantwortet, indem er einer in seiner Muttersprache verfassten Anleitung folgt. Personen außerhalb des Raumes folgern aus den Ergebnissen, dass der Mensch im Raum Chinesisch beherrscht, obwohl das nicht der Fall ist.</p>
<p>Das Experiment sollte zeigen, dass ein Computer ein Programm ausführen und regelbasiert Zeichenreihen verändern kann, ohne die Bedeutung der Zeichen zu verstehen. Daher könne ein Computer also den [[Turing-Test]] bestehen, ohne wirklich “[[Intelligenz|intelligent]]” zu sein. (Es geht in dem Experiment also nicht um [[Bewusstsein]].)</p>
<p>Kritik/Gegenargumente:</p>
<ul>
<li>Trotzdem der Mensch im Raum kein Chinesisch sprechen kann, könnte man sagen, dass der Raum in seiner Gesamtheit ein denkendes System ist, das die Sprache verstehen kann (und in dem der Mensch lediglich das ausführende Organ ist).</li>
<li>Es ist fraglich, ob es – auch rein theoretisch – überhaupt ein Regelhandbuch geben könnte, mit dem alle denkbaren Fragen mit sinnvollen Antworten verknüpft werden können.</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: (John R. Searle, 1980) Minds, Brains, and Programs</li>
<li>




<a href="https://de.wikipedia.org/wiki/Chinesisches_Zimmer" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Zettelkasten</title>
      
        <link>https://www.paulhofmann.dev/notebook/zettelkasten/</link>
      
      <pubDate>23 Apr 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="zettelkasten">Zettelkasten</h1>
<p>Ein System aus vielen verschiedenen Zetteln bzw. Karteikarten, welche jeweils genau eine Idee, einen Gedanken, oder ein Konzept repräsentieren. Jede Karte hat eine einmalige ID, welche von jeder anderen Karte referenziert werden kann, um direkte Assoziationen und Verbindungen (Links) zwischen Ideen festzuhalten. Es ergibt sich ein komplexes [[Netzwerke|Netzwerk]] von Wissen, welches unserem eigenen Verstand ähnelt.</p>
<p>Entwickelt von [[Niklas Luhmann]], um ihm in seiner akademischen [[Wissenschaft|Forschung]] zu helfen:</p>
<blockquote>
<p><img src="https://niklas-luhmann-archiv.de/assets/texts/nachlass/images/2_ZK_Oerlinghausen_Uniarchiv.jpg" alt="" ><br>
<img src="https://niklas-luhmann-archiv.de/assets/texts/nachlass/images/1_ZK_kybernetisches_System.jpg" alt="" ></p>
<p>Quelle: 




<a href="https://niklas-luhmann-archiv.de/nachlass/zettelkasten" target="_blank" rel="noopener noreferrer"
   class="external">Niklas Luhmann-Archiv</a>
</p></blockquote>
<p>Im [[Internet]] findet man viel Vages und Widersprüchliches, daher hier eine kurze Übersicht. Der Zettelkasten ist <em>kein universelles Organisationstool für Informationen</em>, sondern im Wesentlichen als <em>Methode zum [[Lernen]]</em> und Verarbeiten von neuem Wissen zu verstehen, die ein einfaches, aber mächtiges System zum Notizenschreiben nutzt.</p>
<ul>
<li>Grundlegendes:
<ul>
<li>Prinzip: [[Link knowledge, not notes]]</li>
<li>Atomare Notizen:
<ul>
<li>[[Notizen im Zettelkasten repräsentieren atomare Ideen]]</li>
</ul>
</li>
<li>Kontext-Unabhängigkeit:
<ul>
<li>[[Einträge im Zettelkasten sollten kontextunabhängig sein]]</li>
</ul>
</li>
<li>Assoziationen:
<ul>
<li>Notizen verweisen auf andere Notizen (ursprünglich über einmalige IDs für jede Notiz, im Digitalen vereinfacht durch [[Wikilinks]])</li>
<li>Denn: [[Direkte Verbindung zwischen zwei Ideen ist stärker als (zufällige) Juxtaposition]]</li>
<li>[[Assoziationen im Zettelkasten sollten explizit ausformuliert sein]]</li>
</ul>
</li>
<li>Strukturnotizen
<ul>
<li>Neben atomaren Notizen benutzte Luhmann auch “Strukturnotizen” für z.B. übergeordnete Themen, um darauf eine Reihe von Links zu atomaren Notizen zu sammeln – diese Listen waren aber nicht unbedingt vollständig, sondern sollten lediglich Einstiegspunkte in das System bieten</li>
</ul>
</li>
<li>[[Fokus]]:
<ul>
<li>[[Unendliche Neugier bedeutet unendlicher Konsum]]</li>
<li>Folglich: [[Informations-Overload als Problem von Personal Knowledge Management]]</li>
<li>Deshalb: [[Ein Zettelkasten sollte sich hauptsächlich auf Wissen konzentrieren, das für zukünftige Projekte relevant sein könnte]]</li>
<li>Beziehungsweise: [[Projekte als Input-Filter im Personal Knowledge Management]] (siehe auch: [[12 Lieblingsprobleme]])</li>
</ul>
</li>
</ul>
</li>
<li>Vorteile:
<ul>
<li>[[Die Zettelkasten-Methode fördert eine tiefergehende Auseinandersetzung mit neuem Input]]: Allein die Praxis, neu aufgenommenes Wissen in den Zettelkasten zu integrieren, regt eine extrem tiefgehende Auseinandersetzung mit dem Quellmaterial an, wodurch das eigene Verständnis davon verbessert wird</li>
<li>[[Die Zettelkasten-Methode entfernt organisatorischen Aufwand]]: Es gibt keine hierarchische Ordnung der Zettel, wodurch kaum Verwaltungsaufwand entsteht (zumindest digital) – stattdessen entsteht die gesamte Organisation selbstständig (emergent) durch die genannten Links.</li>
<li>Das resultierende Netzwerk ist ein [[Hypertext]] aus einzelnen Bausteinen, mit denen sich sehr einfach längere Texte zu verschiedenen Themen zusammensetzen lassen.</li>
<li>[[Graph View motiviert dazu, mehr zu schreiben]]: Digitale Notiz-Anwendungen wie [[Obsidian]] eignen sich durch die Verwendung von [[Wikilinks]] optimal für die Implementierung eines Zettelkasten. Diese Anwendungen kommen oft auch mit einem “Graph View” – die Visualisierung des wachsenden Wissens-Netzwerks kann durchaus dazu motivieren, mehr Notizen zu schreiben. ![[(Screenshot) Obsidian Graph View 2024-12-07.webp]]</li>
</ul>
</li>
<li>Limitationen
<ul>
<li>[[Das Denken mit dem Zettelkasten ist sehr langsam und energieintensiv]]</li>
<li>[[Zettelkasten ist eher für Ideen geeignet, nicht für technische Informationen]]
<ul>
<li>Eignet sich daher besser für [[Philosophie]], [[Soziologie]], usw. als für [[Computer Science|Informatik]], [[Medientechnik]], usw.</li>
<li>Aber: man muss es nicht so eng nehmen, und kann neben “reinen” Zettelkasten-Notizen auch einfach Notizen zu Stichwörtern/Begriffen erstellen – solange man nicht anfängt einen privaten [[Wikipedia]]-Klon zu erstellen (was extrem sinnlos ist)</li>
</ul>
</li>
</ul>
</li>
<li>Workflows:
<ul>
<li>Software: [[Obsidian]]</li>
<li>Assoziationen finden:
<ul>
<li>[[Ideen-Kompass]]</li>
<li>[[Zufällige Juxtaposition zum Finden von Assoziationen im Zettelkasten]]</li>
</ul>
</li>
<li>Iterative Aufwertung der Notizen:
<ul>
<li>[[Knowledge-Flower]]</li>
<li>[[Zettelkasten as Gardening]]</li>
</ul>
</li>
<li>Sonstiges:
<ul>
<li>[[Wartung des Zettelkastens]]</li>
<li>[[Hypertext als Blueprint für kreative Projekte]]</li>
</ul>
</li>
</ul>
</li>
<li>Andere Systeme: (Siehe: [[Personal Knowledge Management]])
<ul>
<li>[[Digital Garden]]: Ein Zettelkasten kann theoretisch als Digital Garden gesehen werden – letzterer ist aber eher messy/WIP, nicht wirklich atomar, und beinhaltet (kreativen) Output und blogartige Beiträge</li>
<li>[[PARA]]: Wird oft mit dem Zettelkasten verglichen, behandelt aber eine fundamental andere Problemstellung und ist als universelles Informations-Management-System gedacht, nicht als Lernmethode/Denkumgebung</li>
</ul>
</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>Einführung:
<ul>
<li>[[(Zettelkasten.de, 2022) Introduction to the Zettelkasten-Method]] (




<a href="https://zettelkasten.de/introduction/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>




<a href="https://vimeo.com/173128404" target="_blank" rel="noopener noreferrer"
   class="external">(Johannes Schmidt, 2016) Der Zettelkasten als Zweitgedächtnis Niklas Luhmanns</a>
</li>
</ul>
</li>
<li>Diskurs:
<ul>
<li>Finden von Assoziationen: [[(Zettelkasten.de, 2022) How To Use Creative Techniques Within the Zettelkasten Framework]] (




<a href="https://zettelkasten.de/posts/creative-technique-within-zettelkasten-framework" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>Mehr zu Assoziationen: [[(Zettelkasten.de, 2015) Different Kinds of Ties Between Notes]] (




<a href="https://www.zettelkasten.de/posts/kinds-of-ties/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>PARA und Zettelkasten: [[(Zettelkasten.de, 2023) Building a Second Brain und die Zettelkasten Methode]] (




<a href="https://zettelkasten.de/de/posts/building-a-second-brain-und-zettelkasten-methode/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>AGE Model</title>
      
        <link>https://www.paulhofmann.dev/notebook/age-model/</link>
      
      <pubDate>07 Apr 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="age-model">AGE Model</h1>
<p>Siehe: [[Game Design]], [[Game Studies]]</p>
<p>Ähnlich wie das [[MDA Framework]] bricht das AGE Model (Actions, Gameplay, Experience) [[Games]] auf drei Ebenen der Abstraktion herunter:</p>
<ul>
<li><strong>Actions:</strong> die atomaren Kern-Aktionen, die ein Spieler ausführen kann, meist als <em>Verben</em> bezeichnet. (siehe: [[Game Mechaniken]])</li>
<li><strong>Gameplay:</strong> das resultierende <em>Spiel</em>, das sich aus der Kombination der einzelnen Aktionen ergibt. Dies können entweder Verben sein oder abstraktere Konzepte. (siehe auch: [[Gameplay Beats]], [[Gameplay Loops]])</li>
<li><strong>Experience:</strong> die [[Emotionen|emotionale]] Erfahrung, die Spieler wahrnehmen.
<ul>
<li>Im AGE Modell wird diese letzte Ebene durch das [[6-11 Framework]] analysiert.</li>
</ul>
</li>
</ul>
<p>Das AGE Modell zieht außerdem mit “Rules” eine Verbindung zwischen den Actions und dem Gameplay, während eine Reihe von “Goals” das Gameplay mit der Experience verbinden sollen.</p>
<p>In einem [[Platformer]] wie [[(Nintendo, 1985) Super Mario Bros.|Super Mario Bros. (Nintendo, 1985)]] beispielsweise verknüpft die Regel „Spieler können Gegner besiegen, indem sie auf ihnen landen“ das Springen und Fallen mit dem Kampf gegen Gegner, während die Regel „Spieler gelangen zum nächsten Level, indem sie die Zielflagge erreichen“ das Laufen und Springen mit dem Wettlauf zum Ziel verbindet. Ähnlich dient das ultimative Ziel, die Prinzessin zu retten, als Motivation, den Kampf und den Wettlauf zum Ziel mit dem emotionalen Erlebnis der Spieler zu verknüpfen.</p>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>DevOps</title>
      
        <link>https://www.paulhofmann.dev/notebook/devops/</link>
      
      <pubDate>29 Mar 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="devops">DevOps</h1>
<p>Prozessmodell bestehend aus Prinzipien und Praktiken, die [[Software Development|Softwareentwicklung]] (Dev) und Systemadministration (Ops) miteinander verbinden, um Entwicklungszyklen zu verkürzen, Softwarequalität zu steigern und die Reaktionsfähigkeit der Organisation auf Veränderungen zu verbessern.</p>
<blockquote>
<p><img src="https://p.kagi.com/proxy/Devops%20Lifecycle-46ccaf695c535cd2a81764d58414c6d7.png?c=tAqTZ-LsvSnpk8ZdW5NHtU88ksySUL4qlj4KlRWe7LvD-HFECNTIXToUy9jlhqkzFMXNEZ4KoCMi9FqGd5eJHGk9uYmqZ0pgYTKiyhbHp5nUJ1AiIwdoVXsJ4Gp0UYDq5mPx0fKKa_InoqjimYQRpg%3D%3D" alt="" ></p>
<p>Quelle: 




<a href="https://pagertree.com/learn/devops/what-is-devops/what-is-a-devops-engineer" target="_blank" rel="noopener noreferrer"
   class="external">PagerTree</a>
</p></blockquote>
<p>Kernkomponenten: (→ “CI/CD”)</p>
<ul>
<li>[[Continuous Integration]]</li>
<li>[[Continuous Deployment]]</li>
<li>(Continuous Testing, Monitoring, Feedback)</li>
</ul>
<p>[[Technologie|Technologische]] Enabler:</p>
<ul>
<li>[[Automatisierung]] von Build-, Testing-, und Deployment-Prozessen</li>
<li>[[Infrastructure as Code]] (IaC)</li>
</ul>
<p>Siehe auch: [[DataOps]], [[MLOps]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://de.wikipedia.org/wiki/DevOps" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia</a>
</li>
<li>[[(Bosch, 2016) Speed, Data, and Ecosystems - The Future of Software Engineering]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Geocities</title>
      
        <link>https://www.paulhofmann.dev/notebook/geocities/</link>
      
      <pubDate>29 Mar 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="geocities">Geocities</h1>
<p>[[Kultur|Kultiger]] Anbieter für kostenloses Webhosting aus den [[1990s]]/[[2000s]]; 1994 gegründet, 1999 von Yahoo aufgekauft, 2009 eingestellt.</p>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/Geocities-1998.jpg" alt="Geocities introduction page from February 1998" ></p>
<p>Geocities front page (1998), via [[Internet Archive]]</p></blockquote>
<p>Geocities “neighborhoods”:</p>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/geocities-neighbourhoods-1998.png" alt="A partial list of neighborhoods avialable on Geocities in 1998" ></p>
<p>Die zugänglichen neighborhoods auf Geocities in 1998, via [[Internet Archive]]</p></blockquote>
<p>…</p>
<ul>
<li>Das moderne “revival”: [[Neocities]]</li>
<li>




<a href="https://restorativland.org/" target="_blank" rel="noopener noreferrer"
   class="external">Restorativland</a>
: &ldquo;a restored visual gallery of the archived Geocities sites, sorted by neighborhood&rdquo;</li>
<li>




<a href="https://gifcities.org/" target="_blank" rel="noopener noreferrer"
   class="external">Gifcities</a>
: Search engine für eine Sammlung von [[GIF|GIFs]], die vom [[Internet Archive]] im “Geocities Closing Crawl” archiviert wurden</li>
</ul>
<p>Siehe auch: [[Small Web]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>[[(Parimal Satyal, 2020) Rediscovering the Small Web]] (




<a href="https://neustadt.fr/essays/the-small-web/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Small Web</title>
      
        <link>https://www.paulhofmann.dev/notebook/small-web/</link>
      
      <pubDate>29 Mar 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="small-web">Small Web</h1>
<p>Der Gegensatz zum kommerziellen [[Internet|Web]], das von großen [[Technologie|Tech]]-Konzernen dominiert wird, und das man primär als “User” bzw. Kunde navigiert.</p>
<p>Das Small Web ist dagegen [[Dezentralisierung|dezentral]] und besteht aus persönlichen Blogs, nischigen Hobby-Projekten und [[Digital Garden|Digital Gardens]], die einen großen Teil des frühen [[Internet|Internets]] ausmachten ([[1990s]]/[[2000s]]):</p>
<ul>
<li>[[Geocities]]: Ein benutzerfreundlicher Service, um eigene Webseiten zu erstellen, der von 1994 bis 2009 aktiv war.</li>
<li>[[Webrings]]: Thematisch verwandte Webseiten, die via [[Hyperlinks]] miteinander verbunden waren.</li>
<li>(usw.)</li>
</ul>
<p>Dabei bezieht sich das Small Web heute, zumindest wie es 2020 von Aral Balkan definiert wurde, aktiv auf “[[Small Technology]]”-Prinzipien:</p>
<blockquote>
<p>![[(Aral Balkan, 2020) What is the Small Web (Small Technology principles).webp]]</p>
<p><img src="https://ar.al/2020/08/07/what-is-the-small-web/small-web.png" alt="" ></p>
<p>Quelle: 




<a href="https://ar.al/2020/08/07/what-is-the-small-web/" target="_blank" rel="noopener noreferrer"
   class="external">(Aral Balkan, 2020) What is the Small Web?</a>
</p></blockquote>
<p>Beispiele aus der Vergangenheit:</p>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/fractal-explorer.jpg" alt="A screenshot of the homepage of On to Mars!" ></p>
<p>Guided tour of a [[Mandelbrotmenge|Mandelbrot set]] in 




<a href="https://web.archive.org/web/20020223163039fw_/http://www.geocities.com/fabioc/" target="_blank" rel="noopener noreferrer"
   class="external">Fractal Explorer</a>
</p></blockquote>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/webtender.jpg" alt="A screenshot of the home page of Webtender" ></p>
<p>Home page of 




<a href="https://www.webtender.com/info/" target="_blank" rel="noopener noreferrer"
   class="external">Webtender</a>
</p></blockquote>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/europaeische-schmetterlinge.jpg" alt="A screenshot of the page on Melitae didyma butterflies on Europäische Schmetterlinge" ></p>
<p>Page on Melitae didyma butterflies on 




<a href="http://www.butterflies.de/" target="_blank" rel="noopener noreferrer"
   class="external">Europäische Schmetterlinge</a>
</p></blockquote>
<p>…</p>
<hr>
<ul>
<li>↩
<ul>
<li>[[(Aral Balkan, 2020) What is the Small Web]] (




<a href="https://ar.al/2020/08/07/what-is-the-small-web/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Parimal Satyal, 2020) Rediscovering the Small Web]] (




<a href="https://neustadt.fr/essays/the-small-web/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[Kagi]] – 




<a href="https://github.com/kagisearch/smallweb" target="_blank" rel="noopener noreferrer"
   class="external">Small Web Repository</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Webrings</title>
      
        <link>https://www.paulhofmann.dev/notebook/webrings/</link>
      
      <pubDate>29 Mar 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="webrings">Webrings</h1>
<p>Siehe: [[Internet]], [[Small Web]]</p>
<p>“Ringförmige“ Sammlungen von Websites, oft zu einem bestimmten Thema, die via [[Hyperlinks]] miteinander verbunden sind. Die Idee dahinter war, dass man von einer Website zur nächsten gelangen konnte, indem man auf die Schaltflächen “Weiter“ oder “Zurück“ klickte, die sich in der Regel am unteren Rand der Startseite jedes Mitglieds befanden. Webrings sind mittlerweile weitgehend verschwunden.</p>
<blockquote>
<p><img src="https://neustadt.fr/essays/the-small-web/example-webring.jpg" alt="An example of a webring, about European History" style="width:420px;"></p>
<p>Beispiel eines webrings (über [[Europa|europäische]] [[Geschichte]]) von Ray&rsquo;s Miscellany</p></blockquote>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://de.wikipedia.org/wiki/Webring" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia</a>
</li>
<li>[[(Parimal Satyal, 2020) Rediscovering the Small Web]] (




<a href="https://neustadt.fr/essays/the-small-web/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Dependency Injection</title>
      
        <link>https://www.paulhofmann.dev/notebook/dependency-injection/</link>
      
      <pubDate>15 Feb 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="dependency-injection-di">Dependency Injection (DI)</h1>
<p>Siehe: [[Objektorientierte Programmierung]]</p>
<p>Ein simples aber wichtiges [[Programmierung|Programmier]]-Pattern, bei dem Objekte oder Funktionen andere Objekte/Funktionen von außen bereitgestellt bekommen, anstatt sie intern selbst zu erzeugen:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-TypeScript" data-lang="TypeScript"><span style="display:flex;"><span><span style="color:#75715e">// OHNE Dependency Injection: Database wird intern erstellt
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Storage</span> {
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">private</span> <span style="color:#a6e22e">database</span>: <span style="color:#66d9ef">Database</span>;
</span></span><span style="display:flex;"><span>	
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">constructor</span>() {
</span></span><span style="display:flex;"><span>		<span style="color:#66d9ef">this</span>.<span style="color:#a6e22e">database</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">Database</span>(<span style="color:#e6db74">&#39;db.sqlite&#39;</span>);
</span></span><span style="display:flex;"><span>		
</span></span><span style="display:flex;"><span>		<span style="color:#75715e">//...
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>	}
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// MIT Dependency Injection: Database wird in constructor übergeben
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Storage</span> {
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">private</span> <span style="color:#a6e22e">database</span>: <span style="color:#66d9ef">Database</span>;
</span></span><span style="display:flex;"><span>	
</span></span><span style="display:flex;"><span>	<span style="color:#66d9ef">constructor</span>(<span style="color:#a6e22e">database</span>: <span style="color:#66d9ef">Database</span>) {
</span></span><span style="display:flex;"><span>		<span style="color:#66d9ef">this</span>.<span style="color:#a6e22e">database</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">database</span>;
</span></span><span style="display:flex;"><span>		
</span></span><span style="display:flex;"><span>		<span style="color:#75715e">//...
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>	}
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Damit setzt es vor allem konkret das [[Dependency Inversion Principle]] um.</p>
<p>Es wird sichergestellt, dass “Clients”, die einen bestimmten “Service” nutzen möchten, nicht wissen müssen, wie dieser konstruiert wird.</p>
<p>Terminologie: (die vier “Rollen”, die bei DI involviert sind)</p>
<ul>
<li><strong>Services &amp; Clients:</strong> Ein Service ist eine Klasse mit nützlicher Funktionalität. Ein Client ist eine Klasse, die solche Services verwendet. Die Services, die ein Client verwendet sind dessen <em>dependencies</em>.</li>
<li><strong>Interfaces:</strong> Clients sollten nicht wissen, wie dessen dependencies implementiert sind, nur wie deren Schnittstelle aussieht.</li>
<li><strong>Injectors:</strong> Ein Injector (auch Assembler, Container, Provider, Factory) bereitet Services vor, die von Clients benutzt werden.</li>
</ul>
<p>Analogie/Beispiel:</p>
<ul>
<li>Autos können als Services verstanden werden, welche die nützliche Funktionalität haben, Menschen von einem Ort zum nächsten zu transportieren</li>
<li>Die Motoren der Autos benötigen etwa [[Diesel]] oder [[Elektrizität]], aber dieses Detail des Services ist für den Client (etwa ein Passagier) irrelevant.</li>
<li>Autos haben ein uniformes Interface (Pedale, Lenkrad, etc.), sodass es am Ende irrelevant ist, welcher Motor genau in der Fabrik (Injector) eingebaut wurde.</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://en.wikipedia.org/wiki/Dependency_injection" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia</a>
</li>
<li>




<a href="https://youtu.be/J1f5b4vcxCQ" target="_blank" rel="noopener noreferrer"
   class="external">(CodeAesthetic, 2023) Dependency Injection</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Brooks&#39;s Law</title>
      
        <link>https://www.paulhofmann.dev/notebook/brookss-law/</link>
      
      <pubDate>09 Feb 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="brookss-law">Brooks&rsquo;s Law</h1>
<p>Siehe: [[Software Development]], [[Game Development]], [[Projektmanagement]]</p>
<p>Zusammengefasst in Eric Raymond’s Essay:</p>
<blockquote>
<p>”Adding developers to a late software project makes it later. […] The complexity and [[Kommunikation|communication]] costs of a project rise with the square of the number of developers, while work done only rises linearly.”</p></blockquote>
<p>Raymond sagt aber auch, dass [[Open Source]]-Development die zugrundelegenden Annahmen von Brooks’s Law in Frage stellen (siehe z.B. als Gegenargument: [[Linus’s Law]]). Brooke&rsquo;s Law ist also hauptsächlich für Closed Source-Projekte gültig.</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Fred Brooks, 1975) The Mythical Man-Month - Essays on Software Engineering]]</li>
<li>Aufgegriffen in: [[(Eric S. Raymond, 1997) The Cathedral and the Bazaar]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Three-Layer Product Model</title>
      
        <link>https://www.paulhofmann.dev/notebook/three-layer-product-model/</link>
      
      <pubDate>03 Feb 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="three-layer-product-model-3lpm">Three-Layer Product Model (3LPM)</h1>
<p>Siehe: [[Betriebswirtschaft]], [[Software Development]]</p>
<p>3 Ebenen (auf Abbildung von unten nach oben):</p>
<ol>
<li><em>Commoditized functionality layer:</em> Die grundlegende Funktionalität, die von jedem Kunden <em>erwartet</em> wird (z.B. dass man mit einem Handy telefonieren kann)
<ul>
<li>→ Investition/ownership minimieren; auf geteilte Ressourcen setzen (siehe: [[Open Source]], etc.)</li>
</ul>
</li>
<li><em>Differentiating functionality layer</em>: Die Funktionalität, die dieses Produkt besonders macht und von anderen Produkten abgrenzt
<ul>
<li>→ Customer value maximieren; hier defensivere Haltung</li>
</ul>
</li>
<li><em>[[Innovation]] and experimentation layer</em>: Neuartige Funktionalität, dessen Wert noch nicht validiert ist
<ul>
<li>→ Anzahl an Experimenten maximieren</li>
</ul>
</li>
</ol>
<p>Abbildung:</p>
<blockquote>
<p><img src="https://janbosch.com/blog/wp-content/uploads/2017/01/Screen-Shot-2017-01-25-at-19.41.07.png" alt="" ></p>
<p>Quelle: Bosch (2013)</p></blockquote>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: 




<a href="https://share.google/bjc2r0h44q5Ut6gER" target="_blank" rel="noopener noreferrer"
   class="external">(Bosch, 2013) Achieving Simplicity with the Three-Layer Product Model</a>
</li>
<li>Aufgegriffen in: [[(2026-02-03, MU) Data-Driven Methodologies for Software Development - Software and business ecosystems]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Open Source</title>
      
        <link>https://www.paulhofmann.dev/notebook/open-source/</link>
      
      <pubDate>28 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="open-source">Open Source</h1>
<p>Siehe: [[Software Development]]</p>
<p>Ursprünge in den DIY-, [[Hacking|Hacker]]-, und [[Free Software Movement|Free-Software]]-Bewegungen ([[1970s]]/[[1980s]]).</p>
<p>Open Source Initiative (OSI) im Februar 1998 gegründet &amp; definiert Open Source so:</p>
<ul>
<li><strong>Freie Weitergabe:</strong> Die Lizenz darf niemanden daran hindern, die Software zu verkaufen oder sie mit anderer Software zusammen in einer Software-Distribution weiterzugeben. Die Lizenz darf keine Lizenzgebühr verlangen.</li>
<li><strong>Verfügbarer Quellcode:</strong> Die Software muss im Quellcode für alle Nutzer verfügbar sein.</li>
<li><strong>Abgeleitete Arbeiten:</strong> Die Lizenz muss von der Basissoftware abgeleitete Arbeiten und deren Distribution unter derselben Lizenz wie die Basissoftware erlauben.</li>
<li><strong>Integrität des Autoren-Quellcodes:</strong> Die Lizenz muss explizit das Verteilen von Software erlauben, die auf einer modifizierten Version des Originalquellcodes beruhen. Die Lizenz kann verlangen, dass solche Änderungen zu einem neuen Namen oder einer neuen Versionsnummer der Software führen und solche Änderungen dokumentiert werden. Die Lizenz darf verlangen, dass nur Patches zum Originalcode verteilt werden dürfen, wenn diese mit dem Quellcode verteilt werden.</li>
<li><strong>Keine Diskriminierungen von Personen oder Gruppen:</strong> Die Lizenz darf nicht einzelnen Personen oder Gruppen die Nutzung der Software verweigern, z.B. den Bürgern eines bestimmten Staates.</li>
<li><strong>Keine Nutzungseinschränkung:</strong> Die Lizenz darf den Verwendungszweck der Software nicht einschränken, z.B. kein Ausschluss militärischer oder kommerzieller Nutzung o.ä.</li>
<li><strong>Lizenzerteilung:</strong> Die Lizenz muss für alle zutreffen, welche die Software erhalten, ohne z.B. eine Registrierung oder eine andere Lizenz erwerben zu müssen.</li>
<li><strong>Produktneutralität:</strong> Die Lizenz muss produktneutral gestaltet sein und darf sich z.B. nicht auf eine bestimmte Distribution beziehen.</li>
<li><strong>Die Lizenz darf andere Software nicht einschränken:</strong> Sie darf zum Beispiel nicht verlangen, dass sie nur mit Open-Source-Software verbreitet werden darf.</li>
<li><strong>Die Lizenz muss Technologie-neutral sein:</strong> Sie darf z.B. nicht verlangen, dass die Distribution nur via Web/CD/DVD verteilt werden darf.</li>
</ul>
<p><em>Public Domain</em> Software erfüllt diese Bedingungen, soweit der gesamte Quellcode verfügbar gemacht wird.</p>
<p>Lizenzen: (




<a href="https://choosealicense.com/" target="_blank" rel="noopener noreferrer"
   class="external">choosealicense.com</a>
)</p>
<ul>
<li>




<a href="https://choosealicense.com/licenses/mit/" target="_blank" rel="noopener noreferrer"
   class="external">MIT License</a>

<ul>
<li>Erlaubt: so ziemlich alles, inkl. kommerzielle closed source Versionen</li>
<li>Bedingungen: Copyright notice für lizenziertes Material</li>
</ul>
</li>
<li>




<a href="https://choosealicense.com/licenses/gpl-3.0/" target="_blank" rel="noopener noreferrer"
   class="external">GNU General Public License v3.0</a>
 (GPL 3.0)
<ul>
<li>Erlaubt: so ziemlich alles, inkl. kommerziell</li>
<li>Bedingungen: muss ebenfalls open source sein, selbe Lizenz haben</li>
</ul>
</li>
<li>




<a href="https://choosealicense.com/licenses/agpl-3.0/" target="_blank" rel="noopener noreferrer"
   class="external">GNU Affero General Public License v3.0</a>
 (AGPL 3.0)
<ul>
<li>Noch striktere Bedingungen: Auch wenn das Projekt benutzt wird, um ein Service über ein Netzwerk bereitzustellen (also auch wenn die modifizierte/integrierte Applikation nicht <em>selbst</em> als Produkt verbreitet wird), muss der Source Code veröffentlicht werden mit selber Lizenz, usw.</li>
<li>Gut um zu verhindern, dass das Projekt für [[Software as a Service|SaaS]] o.Ä. verwendet wird</li>
<li>Evtl. weniger gut, wenn man es gestatten will, das Projekt (etwa als Library) mit anderer Software zu kombinieren</li>
</ul>
</li>
<li>




<a href="https://choosealicense.com/licenses/mpl-2.0/" target="_blank" rel="noopener noreferrer"
   class="external">Mozilla Public License 2.0</a>
 (MPL 2.0)</li>
<li>




<a href="https://choosealicense.com/licenses/apache-2.0/" target="_blank" rel="noopener noreferrer"
   class="external">Apache License 2.0</a>

<ul>
<li>Erlaubt: so ziemlich alles</li>
<li>Bedingungen: Copyright notice, außerdem müssen Änderungen am lizenzierten Material dokumentiert sein</li>
</ul>
</li>
<li>CERN Open Hardware Licence Version 2 (CERN-OHL)
<ul>
<li>Ähnlich wie GPL/AGPL nur für Hardware</li>
<li>




<a href="https://spdx.org/licenses/CERN-OHL-P-2.0.html" target="_blank" rel="noopener noreferrer"
   class="external">CERN-OHL-P (Permissive)</a>
: Minimale Bedingungen</li>
<li>




<a href="https://spdx.org/licenses/CERN-OHL-S-2.0.html" target="_blank" rel="noopener noreferrer"
   class="external">CERN-OHL-S (Strongly Reciprocal)</a>
: Erfordert volles source sharing für derivatives und larger works</li>
</ul>
</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://de.wikipedia.org/wiki/Open_Source" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia: Open Source</a>
</li>
<li>




<a href="https://de.wikipedia.org/wiki/Open_Source_Initiative" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia: Open Source Initiative</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>McCulloch-Pitts-Neuron</title>
      
        <link>https://www.paulhofmann.dev/notebook/mcculloch-pitts-neuron/</link>
      
      <pubDate>25 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="mcculloch-pitts-neuron">McCulloch-Pitts-Neuron</h1>
<p>Auch bekannt als künstliches Neuron oder formales Neuron; einfaches [[Mathematik|mathematisches]] Modell eines [[Neurobiologie|biologischen]] [[Neuron|Neurons]], das 1943 von Warren McCulloch und Walter Pitts vorgeschlagen wurde. Es bildet die Grundlage für [[Neuronale Netze|künstliche neuronale Netze]] und entsprechend auch fürs [[Machine Learning]].</p>
<blockquote>
<p>![[(Zhi-Hua Zhou, 2021) Machine Learning (Neuron).webp|506]]</p>
<p>Quelle: [[(Zhi-Hua Zhou, 2021) Machine Learning#Neural Networks|Zhi-Hua Zhou (2021)]]</p></blockquote>
<p>Es besteht aus den folgenden Komponenten:</p>
<ul>
<li><strong>Eingaben (Inputs):</strong> Das Neuron empfängt eine Reihe von Eingaben $x_1, x_2, …, x_n$. Diese Eingaben können entweder von externen Quellen oder von den Ausgaben anderer Neuronen in einem Netzwerk stammen.</li>
<li><strong>Gewichte (Weights):</strong> Jede Eingabe hat ein zugehöriges Gewicht $w_1,w_2,...,w_n$. Diese Gewichte bestimmen die Stärke und Richtung (positiv oder negativ) des Einflusses der jeweiligen Eingabe auf das Neuron.</li>
<li><strong>Summation:</strong> Das Neuron berechnet die gewichtete Summe aller Eingaben: $$
S = \sum_{i=1}^{n} w_i \cdot x_i$$</li>
<li><strong>Schwellenwert (Threshold):</strong> Das Neuron hat einen Schwellenwert $θ$, der bestimmt, ob das Neuron aktiviert wird oder nicht.</li>
<li><strong>Aktivierungsfunktion:</strong> Das McCulloch-Pitts-Neuron verwendet eine einfache binäre Aktivierungsfunktion. Wenn die gewichtete Summe $S$ die Schwelle $\theta$ überschreitet, wird das Neuron aktiviert und gibt eine Ausgabe von 1. Andernfalls bleibt das Neuron inaktiv und gibt eine Ausgabe von 0: $$y = \begin{cases} 1 & \text{wenn } S \geq \theta \\ 0 & \text{wenn } S < \theta \end{cases}$$</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>[[(Zhi-Hua Zhou, 2021) Machine Learning]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Boxleiter Method</title>
      
        <link>https://www.paulhofmann.dev/notebook/boxleiter-method/</link>
      
      <pubDate>24 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="boxleiter-method">Boxleiter Method</h1>
<p>Siehe: [[Game Scoping &amp; Budgeting]], [[Game Marketing]]</p>
<p>Pragmatischer Ansatz, um ungefähre Verkaufszahlen eines [[Games|Spiels]] auf [[Steam]] anhand der Anzahl der Steam-Reviews zu schätzen:</p>
<blockquote>
<p>Sales ≈ Number of Reviews × Review Multiplier</p></blockquote>
<p>Meist Review Multiplier von 40 als grober Standardwert (bedeutet: 1 von 40 Käufern schreibt eine Review).</p>
<p>Limitationen:</p>
<ul>
<li>Multiplikator variiert je nach [[Game Genres|Genre]], Zielgruppe, Preis, etc.</li>
<li>[[Early Access]], Sales, Free-to-Play, Demos &amp; Bundles können die Zahl stark verzerren</li>
<li>Bei sehr bekannten Spielen oder Studios ist die Quote oft schlechter als bei sehr nischigen Spielen mit kleiner, engagierter Fanbase</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Im Design geht es darum, rohe Ideen analytisch zu verarbeiten</title>
      
        <link>https://www.paulhofmann.dev/notebook/im-design-geht-es-darum-rohe-ideen-analytisch-zu-verarbeiten/</link>
      
      <pubDate>24 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="im-design-geht-es-darum-rohe-ideen-analytisch-zu-verarbeiten">Im Design geht es darum, rohe Ideen analytisch zu verarbeiten</h1>
<blockquote>
<p>“*The [[Game Design|game designer]] is not the ideas guy. It is not their job to have a constant flow of new game ideas. These can (and should) come from anyone in the company or even from people outside your organization.</p>
<p>What is really important for you as a game designer is to have what I like to call the designer mindset. The designer mindset allows you to process raw ideas analytically.*”<br>
— [[(Kramarzewski &amp; De Nucci, 2018) Practical Game Design]]</p></blockquote>
<p>Das trifft nicht nur speziell auf [[Game Design]] zu: [[Design]] ist vor allem die analytische Verarbeitung roher Ideen.</p>
<p>Siehe auch: [[Ideas are not enough]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Modus-Kollaps</title>
      
        <link>https://www.paulhofmann.dev/notebook/modus-kollaps/</link>
      
      <pubDate>24 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="modus-kollaps">Modus-Kollaps</h1>
<p>Siehe: [[Machine Learning]]</p>
<p>Häufiges Problem beim Training von [[Generative Adversarial Networks]] (GANs). Es tritt auf, wenn der Generator des GANs nur eine begrenzte Vielfalt an Ausgaben erzeugt, da diese am effektivsten den Diskriminator überlisten – obwohl die Trainingsdaten eine größere Vielfalt umfassen. Dies führt dazu, dass das Modell nicht die gesamte Datenverteilung lernt, sondern nur einige wenige Modi, d.h., bestimmte Muster oder Strukturen in den Daten bevorzugt.</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aufgegriffen in: [[(David Foster, 2020) Generatives Deep Learning]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Linus’s Law</title>
      
        <link>https://www.paulhofmann.dev/notebook/linuss-law/</link>
      
      <pubDate>23 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="linuss-law">Linus’s Law</h1>
<p>So bezeichnet Eric Raymond die Grundannahme, auf der [[Linus Torvalds]]’ [[Open Source]]-Entwicklungsstil beruht:</p>
<blockquote>
<p>”Given enough eyeballs, all bugs are shallow.”</p></blockquote>
<p>Je mehr (inoffizielle) Kollaborateure, desto wahrscheinlicher, dass alle wesentlichen Probleme identifiziert werden, und dass jemand anderes sofort eine gute Lösung kennt.</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Eric S. Raymond, 1997) The Cathedral and the Bazaar]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Smart data structures and dumb code works a lot better than the other way around</title>
      
        <link>https://www.paulhofmann.dev/notebook/smart-data-structures-and-dumb-code-works-a-lot-better-than-the-other-way-around/</link>
      
      <pubDate>23 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="smart-data-structures-and-dumb-code-works-a-lot-better-than-the-other-way-around">Smart data structures and dumb code works a lot better than the other way around</h1>
<p>Ein weiteres von Eric Raymond’s Prinzipien zur [[Open Source]]-Entwicklung. Er zitiert Fred Brooks:</p>
<blockquote>
<p>“Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won&rsquo;t usually need your flowchart; it&rsquo;ll be obvious.”</p></blockquote>
<p>Siehe: [[Software Development]], [[Game Development]] (bzw.: [[Programmierung]], [[Game Programmierung]])</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Eric S. Raymond, 1997) The Cathedral and the Bazaar]]</li>
<li>Verweis auf: [[(Fred Brooks, 1975) The Mythical Man-Month - Essays on Software Engineering]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Digital Garden</title>
      
        <link>https://www.paulhofmann.dev/notebook/digital-garden/</link>
      
      <pubDate>18 Jan 2026</pubDate>

      <description><![CDATA[
        

        <h1 id="digital-garden">Digital Garden</h1>
<p>Siehe: [[Personal Knowledge Management]], [[Kreatives Schreiben]], [[Internet]]</p>
<p>Aus 




<a href="https://github.com/MaggieAppleton/digital-gardeners" target="_blank" rel="noopener noreferrer"
   class="external">Digital Gardening Tools and Resources</a>
 (GitHub-Repo):</p>
<blockquote>
<p><em>A garden is something inbetween a personal blog and a wiki. It&rsquo;s a collection of evolving notes, essays, and ideas that aren&rsquo;t strictly organized by their publication date. They&rsquo;re inherently exploratory – posts are linked through contextual associations. They aren&rsquo;t refined or complete - posts can be published as half-finished thoughts that will grow and evolve over time. They&rsquo;re less rigid, less performative, and less perfect than the personal &ldquo;blogs&rdquo; we&rsquo;re used to encountering on the web.</em></p></blockquote>
<p>Ich mag diese Idee/Metapher irgendwie, es hat etwas [[Meditation|meditatives]]… Ist im Grunde mein Ansatz für meine [[Obsidian]]-Notizen.</p>
<p>Vergleich mit [[Zettelkasten]]:</p>
<ul>
<li>Der Zettelkasten ist primär eine Methode zum [[Lernen]] und Denken, ein Digital Garden ist ein bisschen mehr wie ein Blog</li>
<li>[[Notizen im Zettelkasten repräsentieren atomare Ideen]] (wohingegen sich viele Notizen im Digital Garden nicht auf einzelne Ideen konzentrieren)</li>
<li>Zettelkasten-Notizen sollten auch eigentlich nie “halbfertig” sein, sondern als sorgfältig ausformulierte Karteikarten so abgespeichert werden, dass sie auch in 10 Jahren ohne Kontext noch verständlich sind</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://github.com/MaggieAppleton/digital-gardeners" target="_blank" rel="noopener noreferrer"
   class="external">GitHub-Repository</a>
 mit Tools &amp; Ressourcen</li>
<li>Ursprung: [[(Mike Caulfield, 2015) The Garden and the Stream - A Technopastoral]] (




<a href="https://hapgood.us/2015/10/17/the-garden-and-the-stream-a-technopastoral/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>




<a href="https://tomcritchlow.com/2018/10/10/of-gardens-and-wikis/" target="_blank" rel="noopener noreferrer"
   class="external">(Tom Critchlow) Of Gardens and Wikis</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Contrastive Learning</title>
      
        <link>https://www.paulhofmann.dev/notebook/contrastive-learning/</link>
      
      <pubDate>09 Dec 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="contrastive-learning">Contrastive Learning</h1>
<p>[[Machine Learning]]-Verfahren, bei dem latente Repräsentation von Eingangsdaten erlernt werden (siehe: [[Representation Learning]]), und zwar so, dass ähnliche Daten im Repräsentationsraum möglichst nahe beieinander encodiert werden und unähnliche Daten möglichst weit entfernt voneinander. Dies hat sich als effektive Methode mit erstaunlicher [[Generalisierung|Generalisierungsfähigkeit]] und Robustheit gegenüber Adversarial Attacks erwiesen [[(Ran Liu, 2021) Understand and Improve Contrastive Learning Methods for Visual Representation - A Review|(Liu, 2021)]].</p>
<p>Während des Trainings werden Datenpunkte ausgewählt und mit positiven oder negativen Beispielen verglichen, indem Ähnlichkeitswerte im latenten Raum berechnet werden, z.B. als [[Cosine Similarity|Kosinus-Ähnlichkeiten]]. Die [[Verlustfunktionen|Verlustfunktion]] gibt dann ein Maß dafür, ob positive Paare (ähnliche Datenpunkte) tatsächlich hohe Ähnlichkeitswerte im latenten Raum aufweisen und ob negative Paare (unähnliche Datenpunkte) niedrigere Werte haben. Das Training ist in der Regel sehr rechenintensiv, da oft viele Beispiele gleichzeitig in einem Schritt verglichen werden.</p>
<blockquote>
<p>![[(Wang et al., 2022) MolCLR (t-SNE visualization).webp]]</p>
<p>Besonders <em>fancy</em> Beispiel für einen mit CL erlernten Repräsentationsraum, visualisiert mit [[t-SNE]]. Aus: 




<a href="https://arxiv.org/abs/2102.10056" target="_blank" rel="noopener noreferrer"
   class="external">Wang et al. (2021) - Molecular Contrastive Learning of Representations via Graph Neural Networks</a>
</p></blockquote>
<p>Contrastive Learning (CL) hat sich besonders im [[Unsupervised Learning|unüberwachten Lernen]] bewährt, obwohl es häufiger als [[Self-Supervised Learning|selbstüberwachtes Lernen]] bezeichnet wird, da die Kontrastierung der Daten in Form von Positiv- und Negativpaaren eine Art Selbstüberwachung darstellt.</p>
<p>In der unüberwachten / selbstüberwachten Form werden beim CL einzelne Instanzen unterschieden, d.h. jeder Datenpunkt wird effektiv als eine eigene “Klasse” betrachtet und von jedem anderen Datenpunkt unterschieden. Die dadurch erlernten Repräsentationen haben sich als viel genauer erwiesen als beim traditionellen [[Supervised Learning|überwachten Lernen]], wo sie ausschließlich für die Klassenunterscheidung optimiert sind [[(Keshtmand et al., 2022) Understanding the properties and limitations of contrastive learning for Out-of-Distribution detection|(Keshtmand et al., 2022)]]. Da die Methode nicht auf annotierte Daten angewiesen ist, kann sie ein sehr effizienter Ansatz sein, um Modelle vorzutrainieren, die sich durch [[Fine-tuning]] an spezifische Aufgaben anpassen können, während sie allgemeinere Merkmale lernen, die von der nachgelagerten Aufgabe unbeeinflusst sind 




<a href="https://arxiv.org/abs/2103.00020" target="_blank" rel="noopener noreferrer"
   class="external">(Radford et al., 2021)</a>
. Einige bekannte Methoden sind:</p>
<ul>
<li>[[SimCLR]] (“Simple Framework for Contrastive Learning of Visual Representations”)</li>
<li>[[MoCo]] (“Momentum Contrast”)</li>
<li>[[BYOL]] (“Bootstrap Your Own Latent”)</li>
</ul>
<p>Die positiven Beispiele werden in der Regel als [[Datenaugmentation|Augmentationen]] des ausgewählten Datenpunktes erzeugt, während als negative Beispiele zufällige andere Datenpunkte ausgewählt werden. Dies kann aber auch zu vielen “false negatives” führen (z. B. wenn zwei verschiedene Bilder von Hunden als genauso “unähnlich“ behandelt werden wie ein Bild von einem Hund und eines von einer Katze).</p>
<p>CL wurde auch für das [[Supervised Learning|überwachte Lernen]] angepasst. Hier wird nicht mehr jeder Datenpunkt als eigene Klasse betrachtet – stattdessen wird die “ground truth” Ähnlichkeit anhand der Klassenzugehörigkeiten bestimmt. Einige Modelle für das überwachte CL sind:</p>
<ul>
<li>[[SupCon]] (Supervised Contrastive Learning)</li>
<li>[[GenSCL]] (Generalized Supervised Contrastive Learning)</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>Überblick: 




<a href="https://lilianweng.github.io/posts/2021-05-31-contrastive/" target="_blank" rel="noopener noreferrer"
   class="external">Lil’Log - Contrastive Representation Learning</a>
</li>
<li>Einige Methoden:
<ul>
<li>[[(Chen et al., 2020) A Simple Framework for Contrastive Learning of Visual Representations]] (




<a href="https://arxiv.org/abs/2002.05709" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Kalantidis et al., 2020) Hard Negative Mixing for Contrastive Learning]] (




<a href="https://arxiv.org/abs/2010.01028" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Khosla et al., 2020) Supervised Contrastive Learning]] (




<a href="https://arxiv.org/abs/2004.11362" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Jiang et al., 2022) Supervised Contrastive Learning with Hard Negative Samples]] (




<a href="https://arxiv.org/abs/2209.00078" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Tian et al., 2023) StableRep - Synthetic Images from Text-to-Image Models Make Strong Visual Representation Learners]] (




<a href="https://arxiv.org/abs/2306.00984" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Tian et al., 2023) Learning Vision from Models Rivals Learning Vision from Data]] (




<a href="https://arxiv.org/abs/2312.17742" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Cai et al., 2024) Uncertainty Inclusive Contrastive Learning for Leveraging Synthetic Images]] (




<a href="https://openreview.net/forum?id=wNKOQVcMDS" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>…</li>
</ul>
</li>
<li>Andere wissenschaftliche Arbeiten:
<ul>
<li>[[(Xiao et al., 2020) What Should Not Be Contrastive in Contrastive Learning]] (




<a href="https://arxiv.org/abs/2008.05659" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Ran Liu, 2021) Understand and Improve Contrastive Learning Methods for Visual Representation - A Review|Ran Liu (2021) - Understand and Improve Contrastive Learning Methods for Visual Representation: A Review]] (




<a href="https://arxiv.org/abs/2106.03259" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>




<a href="https://arxiv.org/abs/2103.00020" target="_blank" rel="noopener noreferrer"
   class="external">Radford et al. (2021) - Learning Transferable Visual Models From Natural Language Supervision</a>
</li>
<li>[[(Sammani et al., 2022) Visualizing and Understanding Contrastive Learning]] (




<a href="https://arxiv.org/abs/2206.09753" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Keshtmand et al., 2022) Understanding the properties and limitations of contrastive learning for Out-of-Distribution detection]] (




<a href="https://arxiv.org/abs/2211.03183" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>…</li>
</ul>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>S × E × R = Developer Value</title>
      
        <link>https://www.paulhofmann.dev/notebook/s--e--r--developer-value/</link>
      
      <pubDate>01 Nov 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="s--e--r--developer-value">S × E × R = Developer Value</h1>
<p>[[Heuristik]] zur Einschätzung eines Teammitglieds (hier im [[Game Development]], aber ist auf vieles übertragbar), nach [[Jesse Schell]]:</p>
<ul>
<li>S = Skill (siehe: [[Leistung]], [[Effektivität]], etc.)</li>
<li>E = Enthusiasmus (siehe: [[Motivation]], [[Lernen]], etc.)</li>
<li>R = “Respectabilitude” – die Fähigkeit, anderen das Gefühl zu geben, respektiert zu werden (siehe: [[Empathie]], [[Kommunikation]], etc.)</li>
</ul>
<p>Mit dem entscheidenden Hinweis: 100 x 100 x 0 = 0 …</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Jesse Schell, GDC 2017) Game Studio Leadership - You Can Do It]] (




<a href="https://youtu.be/O1zP6yJjc1o?si=tywRNgsyIV1gRns7" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Cult of Done</title>
      
        <link>https://www.paulhofmann.dev/notebook/cult-of-done/</link>
      
      <pubDate>21 Jul 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="cult-of-done">Cult of Done</h1>
<p>Siehe: [[Selbstorganisation]], [[Kreativer Prozess]]</p>
<p>Nach dem Motto: [[Done is better than perfect]]</p>
<p>Das “Done Manifesto” (von Bre Pettis &amp; Kio Stark):</p>
<ol>
<li>There are three states of being. <strong>Not knowing</strong>, <strong>action</strong> and <strong>completion</strong>.</li>
<li>Accept that <strong>everything is a draft</strong>. It helps to get it done.</li>
<li>There is <strong>no editing stage</strong>.</li>
<li><strong>Pretending</strong> you know what you’re doing is almost the same as knowing what you are doing, so just accept that you know what you’re doing even if you don’t and do it.</li>
<li><strong>Banish [[Prokrastination|procrastination]]</strong>. If you wait more than a week to get an idea done, abandon it.</li>
<li>The <strong>point of being done</strong> is not to finish but to [[Der Sinn des Fertigseins besteht nicht darin, etwas zu vollenden, sondern zur nächsten Sache übergehen zu können|get other things done]].</li>
<li>Once you’re done you can <strong>throw it away</strong>.</li>
<li><strong>Laugh at [[Perfektionismus|perfection]]</strong>. It’s boring and keeps you from being done.</li>
<li>People without dirty hands are wrong. <strong>Doing something makes you right</strong>.</li>
<li> <strong>Failure counts as done</strong>. So do mistakes.</li>
<li><strong>Destruction</strong> is a variant of done.</li>
<li>If you have an idea and <strong>publish it on the [[internet]]</strong>, that counts as a ghost of done.</li>
<li>Done is the engine of <strong>more</strong>.</li>
</ol>
<p>Oder als [[Illustration]]:</p>
<blockquote>
<p><img src="https://polysthetic.com/wp-content/uploads/2019/11/3327377382_be705a4089_o.png" alt="" ></p>
<p>Quelle: 




<a href="https://jamesprovost.com/done-manifesto-prints/" target="_blank" rel="noopener noreferrer"
   class="external">James Provost</a>
</p></blockquote>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://medium.com/@bre/the-cult-of-done-manifesto-724ca1c2ff13" target="_blank" rel="noopener noreferrer"
   class="external">(Bre Pettis &amp; Kio Stark, 2016) The Cult of Done Manifesto</a>
</li>
<li>Aufgegriffen in: [[(No Boilerplate, 2023) The Cult of Done]] (




<a href="https://www.youtube.com/watch?v=bJQj1uKtnus" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Die Zettelkasten-Methode fördert eine tiefergehende Auseinandersetzung mit neuem Input</title>
      
        <link>https://www.paulhofmann.dev/notebook/die-zettelkasten-methode-fordert-eine-tiefergehende-auseinandersetzung-mit-neuem-input/</link>
      
      <pubDate>18 Jun 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="die-zettelkasten-methode-fördert-eine-tiefergehende-auseinandersetzung-mit-neuem-input">Die Zettelkasten-Methode fördert eine tiefergehende Auseinandersetzung mit neuem Input</h1>
<p>Die [[Zettelkasten]]-Methode ist vor allem deshalb so hilfreich, weil sie zu einer tiefgehenden, analytischen Auseinandersetzung mit Wissensquellen anregt. (Siehe: [[Lernen]], [[Personal Knowledge Management]])</p>
<p>Man wird dazu aufgefordert, etwas mit den Informationen zu tun, die man konsumiert. Anstatt ein Archiv voll mit konsumierten Quellen zu haben, welches keinerlei Anreize bietet, sich erneute mit dem Wissen auseinanderzusetzen, erhält man ein dynamisches Netzwerk von Ideen und Assoziationen, die regelmäßig reaktiviert werden.</p>
<p>Man kann das resultierende Netzwerk auch als eine Art digitales mentales Modell ansehen, das stetig aktualisiert wird: [[Zettelkasten als mentales Modell]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Zettelkasten.de, 2022) Introduction to the Zettelkasten-Method#^2g9rie|(Zettelkasten.de, 2022) Introduction to the Zettelkasten-Method]] (




<a href="https://zettelkasten.de/introduction/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Sechs Kategorien, in denen Führungskräfte Kreativität im Unternehmen beeinflussen</title>
      
        <link>https://www.paulhofmann.dev/notebook/sechs-kategorien-in-denen-fuhrungskrafte-kreativitat-im-unternehmen-beeinflussen/</link>
      
      <pubDate>18 Jun 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="sechs-kategorien-in-denen-führungskräfte-kreativität-im-unternehmen-beeinflussen">Sechs Kategorien, in denen Führungskräfte Kreativität im Unternehmen beeinflussen</h1>
<p>Teresa M. Amabile beschreibt in einem Beitrag die Schlussfolgerungen ihrer Forschung im Bereich [[Kreativität]] und [[Leadership]].</p>
<p>Vorweg heißt es: [[Kreativität ist abhängig von Kreativen Denkfähigkeiten, Expertise und Motivation]]. Alle drei Aspekte ließen sich als [[Leadership|Führungskraft]] eines Unternehmens beeinflussen.</p>
<p>Dazu geht sie im Detail auf sechs unterschiedliche Kategorien ein:</p>
<ol>
<li>Herausforderung
<ul>
<li>Es ist eine täuschend einfache Aufgabe, Menschen mit den richtigen Aufgaben zusammenzubringen, die in Ihre Stärken spielen <em>und</em> ihre intrinsische [[Motivation]] anfeuern</li>
<li>Es erfordert sehr detailliertes Wissen sowohl zur Aufgabe als auch zur Person, dennoch machen perfekte “Matches” unglaublich viel aus</li>
</ul>
</li>
<li>Freiheit/Autonomie
<ul>
<li>Es geht vor allem darum, Freiheit in Bezug auf die <em>Mittel</em> bzw. den <em>Prozess</em> zu geben, aber nicht unbedingt in Bezug auf die Ziele</li>
<li>Autonomie in Bezug auf den Prozess verstärkt die intrinsische [[Motivation]] und das Gefühl von [[Verantwortung]]</li>
<li>Es erlaubt den Menschen auch, Probleme so anzugehen, dass sie ihr Fachwissen und ihre Fähigkeiten optimal nutzen können</li>
<li>Mit anderen Worten: “Menschen werden kreativer sein, wenn man ihnen die Freiheit gibt, zu entscheiden, wie sie einen bestimmten Berg besteigen wollen. Sie müssen sie nicht entscheiden lassen, welchen Berg sie besteigen wollen.”</li>
<li>Mitarbeitende sollten natürlich nicht grundsätzlich aus der Festlegung von Zielen ausgeschlossen werden, aber es muss verstanden werden, dass dies nicht zu einer Verbesserung des kreativen Outputs führt</li>
</ul>
</li>
<li>Ressourcen (Zeit und Geld)
<ul>
<li>Siehe auch: [[Magisches Dreieck im Projektmanagement]]</li>
<li>Unter bestimmten Umständen kann Zeitdruck die Kreativität steigern</li>
<li>Aber: In Unternehmen wird die Kreativität routinemäßig durch vorgeschobene oder unmöglich einzuhaltende Fristen unterdrückt. Erstere schaffen Misstrauen, letztere führen zu [[Burnout]]. (Siehe auch: [[Effizienzstreben unterdrückt Kreativität]])</li>
<li>Kreativität braucht oft Zeit. Das Erforschen neuer Konzepte und Zusammensetzen innovativer Lösungen kann sehr langwierig sein. Manager, die keine Zeit für die Erkundung lassen oder keine [[Inkubationseffekt|Inkubationszeiten]] einplanen, stehen dem kreativen Prozess unwissentlich im Weg.</li>
</ul>
</li>
<li>Zusammensetzung von Arbeitsgruppen
<ul>
<li>Es müssen Gruppen gebildet werden, die sich gegenseitig unterstützen und eine Vielfalt von Perspektiven und Hintergründen aufweisen, damit unterschiedliches Fachwissen und kreative Denkstile auf spannende und nützliche Weise kombiniert werden können</li>
<li>Eine der häufigsten Praktiken, mit denen Manager die Kreativität unterdrücken, ist die Zusammenstellung homogener Teams. Die Verlockung, dies zu tun, ist groß. Homogene Teams kommen oft schneller und mit weniger Reibung zu “Lösungen”. Auch die Arbeitsmoral dieser Teams ist oft hoch. Aber homogene Teams tragen wenig dazu bei, Fachwissen zu erweitern und kreatives Denken zu fördern. Alle kommen mit einer ähnlichen Einstellung an den Tisch. Sie verlassen den Tisch mit der gleichen Einstellung.</li>
</ul>
</li>
<li>Ermutigung und Wertschätzung
<ul>
<li>Manager stehen unter Zeit- und Ergebnisdruck. Daher fällt es ihnen leicht, Lob für kreative Leistungen – nicht nur für kreative Erfolge, sondern auch für erfolglose Bemühungen – unter den Tisch fallen zu lassen.</li>
<li>Der Zusammenhang mit der intrinsischen Motivation ist hier klar. Sicherlich können Menschen ihre Arbeit auch ohne Anfeuerungsrufe interessant oder aufregend finden - für eine gewisse Zeit. Aber um eine solche Leidenschaft <em>aufrechtzuerhalten</em>, müssen die meisten Menschen das Gefühl haben, dass ihre Arbeit für das Unternehmen oder für eine wichtige Gruppe von Menschen von Bedeutung ist. Andernfalls könnten sie ihre Arbeit genauso gut zu Hause und zu ihrem eigenen Vorteil erledigen.</li>
<li>Extrinsische Belohnungen können intrinsische Motivation untergraben. Manager in erfolgreichen, kreativen Organisationen bieten nur selten spezifische extrinsische Belohnungen für bestimmte Ergebnisse an. Sie erkennen jedoch die kreative Arbeit von Einzelpersonen und Teams großzügig an – oft, <em>bevor</em> die endgültigen wirtschaftlichen Auswirkungen dieser Bemühungen bekannt sind.</li>
<li>In vielen Unternehmen wird neuen Ideen nicht mit Aufgeschlossenheit begegnet, sondern mit langwierigen Bewertungen – oder sogar mit harscher Kritik.
<ul>
<li>Diesem Phänomen liegt eine interessante psychologische Dynamik zugrunde. Forschungen zeigen, dass Menschen glauben, dass sie ihren Chefs gegenüber klüger erscheinen, wenn sie kritischer sind – und das funktioniert oft. In vielen Unternehmen ist es beruflich lohnend, kritisch auf neue Ideen zu reagieren.</li>
</ul>
</li>
<li>Kurzum: [[Innovation erfordert Raum für Scheitern]]</li>
</ul>
</li>
<li>Organisatorische Unterstützung
<ul>
<li>Kreativität wird erst dann wirklich gefördert, wenn sie von der gesamten Organisation mitgetragen wird. Diese Unterstützung ist Aufgabe der Führungskräfte eines Unternehmens, die geeignete Systeme oder Prozesse einrichten und Werte vermitteln müssen, die deutlich machen, dass kreative Bemühungen oberste Priorität haben.</li>
<li>Am wichtigsten ist, dass die Führungskräfte eines Unternehmens die Kreativität fördern, indem sie den Informationsaustausch und die Zusammenarbeit sicherstellen und dafür sorgen, dass politische Probleme nicht auf die lange Bank geschoben werden.</li>
</ul>
</li>
</ol>
<hr>
<ul>
<li>Aus: [[(Teresa M. Amabile, 1998) How to Kill Creativity]] (




<a href="https://hbr.org/1998/09/how-to-kill-creativity" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Alle, die etwas Kreatives machen möchten, sollten sich darin üben, vor anderen Menschen aufzuführen</title>
      
        <link>https://www.paulhofmann.dev/notebook/alle-die-etwas-kreatives-machen-mochten-sollten-sich-darin-uben-vor-anderen-menschen-aufzufuhren/</link>
      
      <pubDate>17 Jun 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="alle-die-etwas-kreatives-machen-möchten-sollten-sich-darin-üben-vor-anderen-menschen-aufzuführen">Alle, die etwas Kreatives machen möchten, sollten sich darin üben, vor anderen Menschen aufzuführen</h1>
<p>Siehe: [[Kreativität]], [[Perfektionismus]]</p>
<p>Etwas vor anderen zu präsentieren – egal ob unfertig, roh oder experimentell – schult nicht nur das Handwerk, sondern auch [[Selbstvertrauen]], Klarheit und den Umgang mit Feedback. Es geht weniger darum, perfekt zu performen, sondern sich im Zeigen zu üben. Der [[Kreativer Prozess|kreative Prozess]] wird dadurch oft greifbarer und lebendiger und verbindlicher.</p>
<p>Vergleichbar mit: [[The talking cure]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: 




<a href="https://youtu.be/7Opkmr7kAAk?si=rfQMJBZFv32wz51m" target="_blank" rel="noopener noreferrer"
   class="external">(No Boilerplate, 2024) From Coder to Creator: My Journey</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Jakob’s Law</title>
      
        <link>https://www.paulhofmann.dev/notebook/jakobs-law/</link>
      
      <pubDate>04 May 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="jakobs-law">Jakob’s Law</h1>
<p>Nutzer erwarten, dass neue [[Systeme]] sich wie bekannte Systeme verhalten.</p>
<p>Es lohnt sich deshalb oft als, sich an gängige [[Design]]-Konventionen zu halten, um die (unterbewussten) Erwartungen der Nutzer/Spieler zu berücksichtigen und Frustration zu vermeiden.</p>
<p>Siehe: [[UI Design]], [[UX Design]], [[Web Design]], [[Game Design]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Jakob Nielsen, 1994) 10 Usability Heuristics for User Interface Design]] (




<a href="https://www.nngroup.com/articles/ten-usability-heuristics/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>Erklärt: 




<a href="https://bootcamp.uxdesign.cc/ux-laws-jakobs-law-explained-in-simple-terms-fbeb0d794318" target="_blank" rel="noopener noreferrer"
   class="external">(Yogesh Mithoon, 2023) Jakob’s Law Explained in Simple Terms</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Convolutional Neural Networks</title>
      
        <link>https://www.paulhofmann.dev/notebook/convolutional-neural-networks/</link>
      
      <pubDate>27 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="convolutional-neural-networks">Convolutional Neural Networks</h1>
<p>Ein spezielles [[Neuronale Netze|neuronales Netz]], das hauptsächlich zur [[Bildklassifikation]] entwickelt wurde. Es verwendet Konvolutionsschichten (convolutional layers), um ein Eingangsbild Schritt für Schritt in immer abstraktere “Feature Maps” zu verarbeiten.</p>
<blockquote>
<p><img src="https://www.mdpi.com/sensors/sensors-20-03539/article_deploy/html/images/sensors-20-03539-g001.png" alt="" ></p>
<p>Quelle: 




<a href="https://www.mdpi.com/1424-8220/20/12/3539" target="_blank" rel="noopener noreferrer"
   class="external">Lo et al. (2020)</a>
</p></blockquote>
<p>Die Grundlagen für CNNs wurden in 




<a href="https://www.rctn.org/bruno/public/papers/Fukushima1980.pdf" target="_blank" rel="noopener noreferrer"
   class="external">(Fukushima, 1980)</a>
 und vor allem 




<a href="https://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf" target="_blank" rel="noopener noreferrer"
   class="external">(LeCun, 1989)</a>
 gelegt. Seit dem wurden eine Vielzahl von weiteren CNNs entwickelt, unter anderem:</p>
<ul>
<li>[[MNIST]]</li>
<li>[[AlexNet]]</li>
<li>[[ResNet]]</li>
<li>…</li>
</ul>
<p>Die Architektur eines CNN besteht typischerweise aus mehreren Schichten, die in der folgenden Reihenfolge angeordnet sind:</p>
<ol>
<li><strong>Eingabeschicht (Input Layer)</strong>: Diese Schicht nimmt die Rohdaten auf, z.B. ein Bild in Form eines 2D-Arrays von Pixelwerten.</li>
<li><strong>Faltungsschicht (Convolutional Layer)</strong>: Diese Schicht führt die eigentliche Faltung (Convolution) durch, indem sie einen Filter (Kernel) über das Eingabebild verschiebt und Punktoperationen durchführt. Das Ergebnis ist eine Feature-Map, die lokale Merkmale des Bildes extrahiert. Jeder Filter kann unterschiedliche Merkmale wie Kanten, Ecken oder Texturen erkennen.</li>
</ol>
<blockquote>
<p><img src="https://assets.ibm.com/is/image/ibm/iclh-diagram-convolutional-neural-networks?fmt=png-alpha&amp;dpr=on%2C1&amp;wid=1584&amp;hei=891" alt="" ></p>
<p>Quelle: 




<a href="https://www.ibm.com/think/topics/convolutional-neural-networks" target="_blank" rel="noopener noreferrer"
   class="external">IBM</a>
</p></blockquote>
<ol start="3">
<li><strong>Aktivierungsschicht (Activation Layer)</strong>: Nach jeder Faltungsschicht wird normalerweise eine Aktivierungsfunktion angewendet, um nichtlineare Eigenschaften des Netzwerks zu modellieren. Die häufig verwendete Aktivierungsfunktion ist die [[ReLU]] (Rectified Linear Unit), die alle negativen Werte auf Null setzt und positive Werte unverändert lässt.</li>
<li><strong>Pooling-Schicht (Pooling Layer)</strong>: Diese Schicht reduziert die räumliche Dimension der Feature-Maps, was die Berechnungen effizienter macht und die Gefahr von Überanpassung ([[Overfitting]]) verringert. Die gängigsten Pooling-Methoden sind [[Max-Pooling]] (wählt den maximalen Wert in einem bestimmten Bereich) und [[Average-Pooling]] (berechnet den Durchschnittswert in einem bestimmten Bereich).</li>
<li><strong>Vollständig verbundene Schicht (Fully Connected Layer)</strong>: Dies ist eine herkömmliche neuronale Netzwerkschicht, bei der jeder Neuron mit jedem Neuron der vorherigen Schicht verbunden ist. Sie kombiniert die extrahierten Merkmale, um das endgültige Ergebnis zu liefern, z.B. die Klassifikation des Bildes.</li>
<li><strong>Ausgabeschicht (Output Layer)</strong>: In der letzten Schicht wird eine Aktivierungsfunktion wie [[Softmax]] verwendet, um die Wahrscheinlichkeitsverteilung der möglichen Klassen zu berechnen.</li>
</ol>
<p>Das Training eines CNN erfolgt in der Regel durch [[Backpropagation]] und [[Gradient Descent]]. Während des Trainings passt das Netzwerk seine Filter und Gewichtungen an, um die Fehler zwischen den vorhergesagten und den tatsächlichen Werten zu minimieren. Zu den häufig verwendeten Optimierungsmethoden gehören der [[Stochastic Gradient Descent]] (SGD), Adam und RMSprop.</p>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://www.rctn.org/bruno/public/papers/Fukushima1980.pdf" target="_blank" rel="noopener noreferrer"
   class="external">(Fukushima, 1980) Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position</a>
</li>
<li>




<a href="https://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf" target="_blank" rel="noopener noreferrer"
   class="external">(LeCun, 1989) Backpropagation Applied to Handwritten Zip Code Recognition</a>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Gall’s Law</title>
      
        <link>https://www.paulhofmann.dev/notebook/galls-law/</link>
      
      <pubDate>27 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="galls-law">Gall’s Law</h1>
<p>Siehe: [[Software Development]], [[Game Development]], [[Prototyping]]</p>
<blockquote>
<p>”<em>A complex [[Systeme|system]] that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.</em>”<br>
— [[(John Gall, 1975) Systemantics - How Systems Really Work and How They Fail|John Gall (1975)]]</p></blockquote>
<p>Siehe auch: [[Second System Syndrome]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>




<a href="https://en.wikipedia.org/wiki/John_Gall_%28author%29#Gall%27s_law" target="_blank" rel="noopener noreferrer"
   class="external">Wikipedia</a>
</li>
<li>Aus: [[(John Gall, 1975) Systemantics - How Systems Really Work and How They Fail]]</li>
<li>Aufgegriffen in:
<ul>
<li>[[(Gordon Brander, 2024) Create good problems to have]] (




<a href="https://newsletter.squishy.computer/p/create-good-problems-to-have" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Gordon Brander, 2022) All you need is links]] (




<a href="https://newsletter.squishy.computer/p/all-you-need-is-links" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Der Sinn des Fertigseins besteht nicht darin, etwas zu vollenden, sondern zur nächsten Sache übergehen zu können</title>
      
        <link>https://www.paulhofmann.dev/notebook/der-sinn-des-fertigseins-besteht-nicht-darin-etwas-zu-vollenden-sondern-zur-nachsten-sache-ubergehen-zu-konnen/</link>
      
      <pubDate>26 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="der-sinn-des-fertigseins-besteht-nicht-darin-etwas-zu-vollenden-sondern-zur-nächsten-sache-übergehen-zu-können">Der Sinn des Fertigseins besteht nicht darin etwas zu vollenden, sondern zur nächsten Sache übergehen zu können</h1>
<p>Siehe: [[Motivation]], [[Prokrastination]]</p>
<p>Aus [[Cult of Done]]:</p>
<ul>
<li><em>Done</em> bedeutet nicht, dass etwas perfekt oder endgültig ist.</li>
<li><em>Done</em> bedeutet einen Loop zu schließen und Energie für das nächste Projekt freizusetzen. (siehe auch: [[Energiemanagement]])</li>
<li>Wenn Projekte ewig offen bleiben, entsteht ein Gefühl von Stagnation, die [[Motivation]] sinkt.</li>
<li><em>Done</em> ermöglicht es, [[Lernen|Erfahrungen zu integrieren]] und sich [[Kreativität|kreativ]] weiterzuentwickeln.</li>
<li>Im [[Kreativer Prozess|kreativen Prozess]] geht es weniger um &ldquo;Endprodukte&rdquo; als um die Fähigkeit, in Bewegung zu bleiben und neue Ideen tatsächlich <em>in die Welt zu bringen</em>.</li>
</ul>
<p>Siehe auch: [[Closing the gap]], [[Ideas are not enough]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(No Boilerplate, 2023) The Cult of Done]] (




<a href="https://www.youtube.com/watch?v=bJQj1uKtnus" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Alles Vergnügen kommt durch das Entladen von Spannung</title>
      
        <link>https://www.paulhofmann.dev/notebook/alles-vergnugen-kommt-durch-das-entladen-von-spannung/</link>
      
      <pubDate>24 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="alles-vergnügen-kommt-durch-das-entladen-von-spannung">Alles Vergnügen kommt durch das Entladen von Spannung</h1>
<p>Ursprung: [[Sigmund Freud]] (siehe: [[Lustprinzip]]). Lässt sich gut auf Dramaturgie übertragen (siehe: [[Kreatives Schreiben]], [[Narrative Design]]):</p>
<ul>
<li>In Geschichten entsteht Vergnügen oft durch das Aufbauen und gezielte Auflösen [[Emotionen|emotionaler]] Spannung</li>
<li>Siehe: [[Dramaturgische Spannung entsteht zwischen Angst und Hoffnung]]</li>
</ul>
<p>Siehe auch: [[Gefühle sind homöostatische Abweichungen]]</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Sherry Ellis, 2010) Now Write!]] [Beitrag von Chris Soth]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Simple rules produce complex behavior, complex rules produce stupid behavior</title>
      
        <link>https://www.paulhofmann.dev/notebook/simple-rules-produce-complex-behavior-complex-rules-produce-stupid-behavior/</link>
      
      <pubDate>24 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="simple-rules-produce-complex-behavior-complex-rules-produce-stupid-behavior">Simple rules produce complex behavior, complex rules produce stupid behavior</h1>
<p>Siehe: [[Systeme]]</p>
<p>Eine Paraphrase von [[Gall’s Law]] aus [[(Gordon Brander, 2022) All you need is links|Gordon Brander’s Artikel]];</p>
<ul>
<li>Einfache Regeln führen zu flexiblen, anpassungsfähigen Systemen</li>
<li>Komplexe Regeln machen Systeme oft fragil, unbrauchbar oder unintelligent</li>
</ul>
<p>Anwendbar auf etwa [[Selbstorganisation]]/[[Personal Knowledge Management]], aber auch [[Game Design]], etc.</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aus: [[(Gordon Brander, 2022) All you need is links]] (




<a href="https://newsletter.squishy.computer/p/all-you-need-is-links" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>Ursprünglich aufgegriffen in 




<a href="https://www.reddit.com/r/ObsidianMD/comments/m27w0h/comment/gqk8a5g/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button" target="_blank" rel="noopener noreferrer"
   class="external">Reddit-Kommentar</a>
 über komplizierte “Life Management” Systeme zur [[Selbstorganisation]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Understand first, solve later</title>
      
        <link>https://www.paulhofmann.dev/notebook/understand-first-solve-later/</link>
      
      <pubDate>24 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="understand-first-solve-later">Understand first, solve later</h1>
<p>Siehe: [[Thinking Tools]], [[Design]], [[Game Design]]</p>
<p>Man muss das Problem erst wirklich <em>verstehen</em>, bevor man es lösen kann. Besonders wenn man frustriert ist und nicht weiterkommt, hilft es, einen Schritt zurück zu nehmen und den Kern des Problems klar zu definieren.</p>
<p>Ist auch ein wichtiges Prinzip für:</p>
<ul>
<li>[[Design Thinking]]</li>
<li>[[Productive Thinking Model]]</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>…</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Machine Learning</title>
      
        <link>https://www.paulhofmann.dev/notebook/machine-learning/</link>
      
      <pubDate>13 Apr 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="machine-learning">Machine Learning</h1>
<p>Siehe: [[Künstliche Intelligenz]], [[Computer Science]]</p>
<p>Die <em>ersten</em> großen Durchbrüche in der KI kamen vor allem in Bezug auf Aufgaben, die für Menschen intellektuell anspruchsvoll, für Computer aber relativ leicht zu lösen waren, weil sie sich als <em>Liste formaler [[Mathematik|mathematischer]] Regeln</em> beschreiben ließen. Die große Schwierigkeit lag aber tatsächlich in den Aufgaben, die für den Menschen relativ <em>einfach und intuitiv</em> sind, sich aber nur schwer formal beschreiben lassen, also z.B. [[Spracherkennung]] oder [[Objekterkennung]]. (Dies ist auch bekannt als [[Moravec’s paradox]].)</p>
<p>Machine Learning bezieht sich auf einen Ansatz, bei dem Computer mit der Fähigkeit ausgestattet werden, selbstständig Wissen zu generieren, indem sie aus Erfahrungen [[Lernen|lernen]] und Muster aus Rohdaten extrahieren. Das ermöglicht es ihnen, Aufgaben allein auf der Grundlage von Beispielen und ohne explizite [[Programmierung]] der Regeln zu lösen.</p>
<p>[[(Goodfellow et al., 2016) Deep Learning|(Goodfellow et al., 2016)]] verwendet eine formale Definition aus [[(Tom M. Mitchell, 1997) Machine Learning|(Mitchell, 1997)]], um einen besseren Überblick zu erhalten:</p>
<blockquote>
<p><em>A computer program is said to learn from experience $E$ with respect to some class of tasks $T$ and performance measure $P$, if its performance at tasks in $T$, as measured by $P$, improves with experience $E$.</em></p></blockquote>
<p>Zur Aufgabe $T$:</p>
<ul>
<li>[[Klassifikation]] (z.B. [[Bildklassifikation]])</li>
<li>[[Regression]]</li>
<li>[[Anomaliedetektion]]</li>
<li>Strukturierte Ausgabe (siehe: [[Generative KI]])
<ul>
<li>[[Synthetische Daten]]</li>
<li>[[Bildsegmentierung]]</li>
<li>[[Maschinelle Übersetzung]]</li>
</ul>
</li>
<li>[[Denoising]]</li>
<li>…</li>
</ul>
<p>Zum Leistungsmaß $P$:</p>
<ul>
<li>[[Accuracy]]</li>
<li>[[Precision]]</li>
<li>[[Recall]]</li>
<li>…</li>
</ul>
<p>Zur Erfahrung $E$:</p>
<ul>
<li>[[Supervised Learning]]</li>
<li>[[Unsupervised Learning]]</li>
<li>[[Semi-Supervised Learning]]</li>
<li>[[Self-Supervised Learning]]</li>
<li>[[Reinforcement Learning]]</li>
</ul>
<p>Im ML werden typischerweise [[Neuronale Netze|künstliche neuronale Netze]] verwendet, die auf dem mathematischen Modell des [[McCulloch-Pitts-Neuron]] basieren. Diese Netze sind in verschiedene Schichten von Neuronen gegliedert, welche die gegebenen Eingabedaten schrittweise verarbeiten. Jedes Neuron verfügt über erlernbare Parameter, die bestimmen, wie es die Eingabe verarbeitet, wodurch das Netz seine Parameter so anpassen kann, dass die richtige Ausgabe berechnet wird. Unter [[Deep Learning]] versteht man die Verwendung von Netzwerken mit vielen Schichten.</p>
<p>Weitere Themen im Bereich Machine Learning:</p>
<ul>
<li>[[Fine-tuning]]</li>
<li>[[Datenaugmentation]]</li>
<li>[[Synthetische Daten]]</li>
<li>[[Out-of-Distribution]] (Detektion)</li>
<li>[[Contrastive Learning]]</li>
<li>…</li>
</ul>
<p>Einzelne Modell-Architekturen:</p>
<ul>
<li>[[Convolutional Neural Networks]]</li>
<li>[[Autoencoder]] / [[Variational Autoencoder]]</li>
<li>[[U-Net]]</li>
<li>[[Generative Adversarial Networks]]</li>
<li>[[Transformer]]</li>
<li>[[Diffusionsmodelle]]</li>
<li>…</li>
</ul>
<hr>
<ul>
<li>↩
<ul>
<li>[[(Goodfellow et al., 2016) Deep Learning]] (




<a href="https://www.deeplearningbook.org/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Zhi-Hua Zhou, 2021) Machine Learning]]</li>
<li>[[(Tom M. Mitchell, 1997) Machine Learning]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Art from the start</title>
      
        <link>https://www.paulhofmann.dev/notebook/art-from-the-start/</link>
      
      <pubDate>23 Jan 2025</pubDate>

      <description><![CDATA[
        

        <h1 id="art-from-the-start">Art from the start</h1>
<p>Siehe: [[Game Development]], [[Prototyping]]</p>
<p>Der Ansatz, sich (entgegen der herkömmlichen Ratschläge) schon früh auch mit [[Ästhetik]] bzw. [[Game Art|Art]] zu beschäftigen – also nicht <em>nur</em> mit [[Game Mechaniken|Mechaniken]]/Systemen – um die [[Motivation]] aufrecht zu erhalten und schnell etwas visuell ansprechendes zu haben.</p>
<p>Ich selbst schwanke hin und her; es kommt wahrscheinlich auf das Projekt an. Dass die Motivation sonst einbrechen kann ist jedenfalls wahr…</p>
<hr>
<ul>
<li>↩
<ul>
<li>Aufgegriffen in: [[(GDC 2022) Solo Development - Myths, Reality and Survival Strategies|(Joe Winters, GDC 2022) Solo Development - Myths, Reality and Survival Strategies]] (




<a href="https://www.youtube.com/watch?v=YaUdstkv1RE" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  
    

    <item>
      <title>Deep Learning</title>
      
        <link>https://www.paulhofmann.dev/notebook/deep-learning/</link>
      
      <pubDate>09 Nov 2024</pubDate>

      <description><![CDATA[
        

        <h1 id="deep-learning">Deep Learning</h1>
<p>Einfach gesagt ein Teilbereich des [[Machine Learning]], der sich mit Modellen mit vielen Schichten beschäftigt. Während die Grundlagen des Machine Learning und [[Neuronale Netze|neuronaler Netze]] schon vor längerer Zeit entwickelt wurden, ist Deep Learning vor allem mit dem signifikanten Anstieg der Rechenleistung von Computern verbunden (siehe: [[Computer Science]]).</p>
<p>Im Abstrakten ist Deep Learning eine Hierarchie der Mustererkennung; erst werden simple Konzept erlernt, dann komplexere Konzepte, die auf den simplen aufbauen – visuell veranschaulicht entsteht ein Graph mit vielen Ebenen (deep layers). Somit kann Deep Learning auch als eine Form des [[Representation Learning]] verstanden werden:</p>
<blockquote>
<p>![[(Goodfellow et al., 2016) Deep Learning (Venn Diagram).webp]]</p>
<p>Quelle: [[(Goodfellow et al., 2016) Deep Learning]]</p></blockquote>
<p>Deep Learning &amp; Machine Learning sind als Begriffe im heutigem Forschungsumfeld so gut wie austauschbar; hier wird aber hauptsächlich [[Machine Learning]] als übergeordneter Themenseite verwendet.</p>
<hr>
<ul>
<li>↩
<ul>
<li>[[(Goodfellow et al., 2016) Deep Learning]] (




<a href="https://www.deeplearningbook.org/" target="_blank" rel="noopener noreferrer"
   class="external">Weblink</a>
)</li>
<li>[[(Zhi-Hua Zhou, 2021) Machine Learning]]</li>
<li>[[(David Foster, 2020) Generatives Deep Learning]]</li>
</ul>
</li>
</ul>


      ]]></description>
    </item>
  

</channel>
</rss>