Towards an iterated game

Intent: bring ideas to life. Discuss, sharpen, play. Minimize the distance between intent and reality.

Process: Aim intent towards curiosity — explore — refactor towards orthogonality. Embrace remix culture. Legibility is a partially provided affordance, not a design constraint.

Status: work in progress, plenty of rough edges. But you’re very much welcome to have a look around 🤗

Most content on this site is authored by Teodor Heggelund (

Content that’s ready for the eyes of others

Feel free to have a look :)

Things I believe:

Things I’ve written:

Other people’s idea playgrounds

Ideas are best shared! Some choose to share ideas in public. I think that’s good.

In alphabetical order:

Forever incomplete

Some content is eventually complete. Not journals!

Open problemsTeodor’s public journal

Norwegian content

Not everybody speaks Norwegian. But some do!

Seeds, drafts and vague ideas, feel free to skip.

Or have a peek. Expect messy, incomplete rambling. Consider letting me know if you find a title for a text you’d like to read!

“Strong opinions loosely held” is an excuse for sloppy thinking · 10X fanout · A list of awesome websites · A perfect day · An Emacs Lisp rosetta for Clojurians · An interactive Clojure journey · Asymmetry and power in discovery · Babashka pods for beginners · Bimodal strategies · Bumblebee · Charles Comstock’s sketches · Clojure survival kit · Code sandbox · Del det som er på kanten av hva du kan · Dependencies: HOWTO · Discover the difference · Do you dare be the judge of quality? · Don’t assume trust. Build trust. · Don’t hide dragons in the dark · Enter the Forest at its Darkest Point · Epimetheus Project Management Inc · Epistemology for product discovery · FUSE · Facing burnout, finding meaning and making space for deep work · Factoring Knowledge · Factorio dedicated server · Fast feedback, wide feedback, no branching · Feedback loops, interface design and how stuff works · Formal theory, informal relations · Freedom To Explore the Network · Git commit messages should be good, right? · Good code as good explanations · Good epistemology · Graph navigators · Grokking Simplicity · Holding one’s ideas so tightly they suffocate · Hourglass architecture - concept capture and references · How to build ideas · How to design for a solarpunk aesthetic · How to grow knowledge together · How to port a Unix pipeline to a Babashka script · How to solve problems · How to use Twitter · Hypertext: The medium is the message · I want to learn Nix · I want to learn design · Intent, Relationships, Action · Interface, Perception, Design · Iterate Knowledge Archipelago · Jacket Interactive · Latin hypercube sampling · Learning to discover · Learning to play support · Let the WIP simmer · List of people who stand out · Liste over opsjoner på presentasjoner · Literature Notes · Lost in specificity · Marketing vs science · Mewtwo · Modeling knowledge with RDF · OGGPOW: A strategic framework for optionality · OKRs are scale invariant · Oddmunds liste over ideer uten kropp · One Good Goal Plus Options · Opt-in hierarchies · Orthogonality enables optionality · Outcome orientation! Or … not? · Perception is reality. Perception is not reality. · Please talk to me about stuff that doesn’t fit! · Polyglot programming from an abundence mindset · Practice deliberatley with journals · Prefer narrow statements · Principle of Charity · Product discovery for software developers · Product owner, project manager, product leader · Programmer, cultivate your curiosity! · Purposeful Software Development · Put the syringe into thine own arm · Quantifying where my writing effort goes · Remote Clerk workshop for Scicloj-adjacent people (2022-10) · Review the interface · Scicloj 2022-10: knowledge management on · Scicloj is awesome · Scicloj libraries and tools · Shades of Deep Green · Sindre · Software architecture as capability, feature and assembly · Software architecture as langauge construction · Static-dynamic interaction · Strong relations · Teodor’s school system · The Commons · Thesis, anitthesis, synthesis · Training, collaboration, delivery · Understanding Clojure’s datafy and nav · Unix signals: a crash course · When having many small functions is bad · Where do you find your Clojure dependencies? · Working with XML on the web · Write clear Clojure code with let · Write drunk, edit sober · Writing documentation is best viewed as creative work · Writing is fake · You are a knowledge worker · attention design · attention-later · bb-install · dbx · defer the trust problem · discussion wishlist · disgust sensitivity · dots · dynamic initiative · dynamic-index · execution for developers · existentialism · grace, charity, joy · iki: knowledge iterated · img · inspiration-howto · keep your aesthetic playful · knowledge playlist · little memex · machine learning · microtheory · minimize the number of moving pieces · not good enough! no fire! · pandoc-edn · phenomenology · planning · play stupid games, win stupid prizes · precise, general, novel · proof of work · software-architecture · sterility, mess and utility · support, challenge, carry · tech learning ladder · tensor calculus 101 · there’s always a deliverable · tools · tools for seeing · trust, shared sense of quality and shared intent · utility is contextual · value in context · via negativa · watchexec make dev

Seeds and vague ideas in Norwegian, feel free to skip.

CSS-animasjoner på · Ikke anta tillit. Bygg tillit. · Kosekoding · Kreativitet til salgs · Spillkoding med litt spilldesign · Symptomer på dårlig lederskap · Terminalen: Hvordan løpe med motorsag · Tillit, kvalitet og intensjon i relasjoner: en mentalmodell for å få ting gjort · kos.clj

Remote references

Pointers to people, places, artifacts, interlaced with some commentary.

Adam Wiggins · Adrian Tofting · Adventures in Advanced Symbolic Programming · Alex Miller · Amedia · Anders Haugeto · Angels Singing: Writing for Programmers · Anthem (Leonard Cohen) · Antifragile · Arne Brasseur · Array programming · Babashka · Berlin · Bill Campbell · Bodil Stokke · Business Readiness Level · C (programming language) · Can programming be liberated from the von Neumann style? · Carl Jung · Chris Nuernberger · Christian Johansen · Clerk · Clojure · Clojure Data Cookbook · Clojure Deref · Clojureverse · Clojurians Slack · Colin Smith · Conor White-Sullivan · Creative Computation · Daniel Slutsky · Dark Agile · Datomic · Dave Liepmann · David Deutsch · Denotational Design · Design in Practice · Design, Composition and Performance · Dustin Getz · Electric Clojure · Elements of Clojure · Elinor Ostrum · Eliyahu Goldratt · Emacs · Emacs Lisp · Empowered · Eric Normand · Eric Raymond · Erik Assum · Exploring onboarding success, organizational fit, and turnover intention of software professionals · Extreme Ownership · Finite element implementation of lower-order strain gradient plasticity in Abaqus · Flavio Sousa · Gerald Jay Sussman · Gert Goet · Git · Go (programming language) · Henrik Lissner · Ida Aanes · Impose limitations and eliminate variance · In a Box · Inspired · J (programming language) · Jack Rusher · Jeremy Vuillermet · Jessica Kerr · Jethro Kuan · Joakim Sellevold · Jocko Willink · John Backus · Karl Popper · Kira McLean · Kristian Collin Berge · Leonard Cohen · Lessons learned teaching Elm to kids · Literate Programming · Lord of the Rings · Lære teori, lære praksis · Magnar Sveen · Malcolm Sparks · Mark McGranaghan · Martin Fowler · Martin Kavalar · Marty Cagan · Mathbox · Maybe Not · Metamuse (podcast) · Michiel Borkent · Nassim Taleb · Niklas Luhman · OLORM · Oddmund · Ole Jacob · OpenFOAM · Org-roam · Pandoc · Paulus Esterhazy · Peter Naur · Peter Strömberg · Programming as Theory Building · Quil · Rich Hickey · Roam Research · Rust (programming language) · Sam Ritchie · Scicloj · Scicloj visual-tools · Scittle · Simone de Beauvoir · Simple Made Easy · Skunk Works: A Personal Memoir of My Years at Lockheed · Software Design for Flexibility · Software dependencies cause operational expense · Steinar Barstad · Steven Pressfield · Stop Writing Dead Programs · Systems Thinking - Notes and Resources, by Robert Stuttaford · Technology Readiness Level · Ted Nelson · Teodor Heggelund · The Art of Unix Programming · The Bed of Procrustes · The Beginning of Infinity · The Courage to Be Disliked · The Ethics of Ambiguity · The Goal (book) · The Language of the System · The Origins of Opera and the Future of Programming · The Pragmatic Programmer · The Value of Values · The War of Art · Tim Berners Lee · Trillion Dollar Coach · Unicad · Vannevar Bush · Visakan Veerasamy · Ward Cunningham · Werner Hetzog · Wheel of Time · Why don’t we have a strategy? · Woolit · You are in a maze of deeply nested maps, all alike · Zach Tellman · Zig · babashka-conf · browsetxt · coachability · dangerous writing app · dtype-next · episteme · friendly ambitious nerd · fzf · gradient descent · growth mindset · interactive programming · introspect (book) · it’s not about you · lindy compatibility · · me · · neil-quickadd · neural network · · rich-facepalm · sqlite · sqlitebrowser · symmathesy · techne · twitter rpg strategy guide.txt · visa · visakanv’s 50yr “plan” for global nerd network (wip)


A “read it later” strategy that worksA bitemporal worldviewBink: Bookmarks are just dataLibrary: Rolling retrospective (deprecated)

Efforts at “writing things down together” commonly fail because:

  1. We put things prematurely into large hierarchies that collapse
  2. The inability to critique the hierarchy itself — and iterate on the hierarchy
  3. The inability to have separate hierarchies
  4. More abstractly — we need a fractal structure, not a hierarchical one.
  5. Unclear content authority — whose content is this? Who is responsible?
  6. Mixing good stuff and bad stuff makes the good stuff hard to find
  7. It’s hard to find any good stuff whatsoever
  8. It’s hard to find anything that’s not on the front page
  9. It’s impossible to build other views than the default
  10. It’s impossible to embed things that should not be built at all

I include this list as a personal reminder.

What is this?

Good question! What this is is perhaps less useful than what this is for.

Then, what is this for?

It’s for playing with ideas. Good ones, but mostly bad ones. Toss them around. Light them on fire. Then watch the smoke rise!

I talked about how I use this page on a meetup. The recording is available:

Canonical URL for this page is Local development URL for this page is localhost:9945.