Laborum voluptate pariatur ex culpa magna nostrud est incididunt fugiat pariatur do dolor ipsum enim. Consequat tempor do dolor eu. Non id id anim anim excepteur excepteur pariatur nostrud qui irure ullamco.
Becoming immortal
Tansfer more and more of yourself into another (maybe) digital substrait. As your self declines more and more of it is compensated by the digital clone. Until you fade away completly. Think of having dementia. You fade away every day. Without a clone you are still your self, but shrunken. If you would have written a book and have people which remember you healthy, some parts of your self are preserved and safe from the illness. There are many ways to back up yourself, some better some worse. Currently all are passive, but you could transfer youself into a computer program, which can be active by itself and passes the Personal Turing Test. The program will pass it per definition at some point. A program, which would never return anything has the same response as if you were dead. Optimize from here, up to the reverse decline.
Personal Turing Test
If no friend and no family member can tell the difference between you and your digital twin, you are proably the same self. Not the flesh, but your self is not connected to it. You can not proove that somebody really exists, so if you can not tell the difference between the other and the clone they are the same. It has to be, because each time-stamp could be an unordered set of moments, like the frames in a video file.
Building Heaven
Listening to “Wenn ich tot bin fang ich wieder an zu rauchen” by Kraftklub.
Bitte nicht beeil’n, dieses Leben ist ein Keeper
Mit Sicherheit kommt was danach, irgendwas, nicht einfach Schwarz
[…] Viеlleicht ist da ein Ort, wo all die andеren schon warten
I assume that our consciousness is emergent behaviour useful for survival. We, as cells, can live on forever in the collective of all cells, which wants to spread through the universe and using as much low entropy energy as possible to survive by adapting by reproducing. While our cells-collective continues living, the self dies. The first time when there is a funural, the second time the last person thinks about you (Macklemore) as you are a pattern of thoughts distributed on multiple heads.
Replace Group-Names with Labels in Discussions
When we talk about real-world groups, names carry enormous emotional and historical weight. The moment a label appears — whether national, cultural, or political — it brings along associations, loyalties, and defenses that can cloud the actual ideas we’re trying to examine.
To make discussions more reflective and less reactive, replace group names with neutral, invented labels without any ordering or associations by any participant.
This simple shift allows us to explore principles — fairness, rights, power, cooperation — without triggering the emotional shortcuts and baggage that real names evoke.
Warum mehr rote Blutkörperchen bei Höhe?
Athleten trainieren in Höhenlager, Bersteiger müssen sich an die Höhe adaptieren. Der Körper ezeugt rote Blutkörperchen, was die Leistungsfähigkeit verbessert. Mit der Höhe sinkt der Luftdruck und Anzahl der Sauerstoff-Moleküle pro Atemzug und weniger Sauerstoff erreicht das Blut. Was hat das mit roten Blutkörperchen zu tun und warum helfen mehr von ihnen?
Starten wir mit einem Atemzug am Meer. Hier haben wir den maximalen barometischen Gesammtdruck - der kommt davon dass Luft weiter oben auf der Luft weiter unten drauf liegt und diese nach unten drückt. Um so weiter unten ich bin, um so mehr Luft liegt auf mir. Ein bisschen wie in einem Menschenhaufen: Liegst du ganz unten liegen die meisten Freunde auf - der Druck ist enorm.
Beelink Mini S Autostart on Power
After power outage, the Beelink Mini S should restart automatically. You can do this in the BIOS.
Pres DEL on start. You get this screen:

Go to Chipset -> PCH-IO Configuration

Change “State After G3”

To “S0 State”, meaning restart (from “S5 State”, meaning stay off)

Integrated Pipelines
Data Pipelines appear in almost every project. If they stay for themself without an application around them, just use something like Airflow. But they are often embedded in other applications.
The individual steps run asynchronously on workers using Celery and we use Django for database management. A pipeline consists of multiple steps which are run by different processors. Each steps has requirements on the state of an object running through the pipeline. Often it is easier to run in batch mode, processing multiple objects at once and there are also shared resources that need to be allocated and can not be shared between two concurrent job like the GPU where we need almost all VRAM. Pipelines are defined maybe only within a sub-graph of the object-graph, for example a document, which has multiple pages, junks, etc. There is then one pipeline per document.
UML is a tool for thinking
Writing is a tool of thinking. Drawing lines and boxes is a form of efficient writing in 2D with a different vocabulary. UML makes this vocabulary more efficient.
UML got a bad reputation, but this is because how it was enforced. The idea is quite nice. For many problems one dimensional text is not enough, two dimensional diagrams are better. But if everyone does ad hoc drawings, everyone speaks his own dialect and everything needs to be defined all the time either using words or context. A breeding ground of miscommunication. The idea is simple: We use the same few token again and again. Let’s agree that we use the same symbol/pattern for the same token. This compresses the two dimensional language by defining a shared vocabulary and makes communication efficient and less error-prone.
iGPU for Hyprland, Nvidia for ML tasks
tldr; don’t use the GPU for Linux, but only for ML training
The eternal struggle with Linux and Nvidia continues. Installing Arch and Nvidia worked surprisingly well, but when I started Hyprland, it stopped booting:

To get it to boot, I had to disable nvidia in the systemd-boot. Press e and append this:
modprobe.blacklist=nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm
Not it boots without Nvidia. Make it permanent by
$ cat /etc/modprobe.d/blacklist-nvidia.conf
blacklist nvidia
blacklist nvidia_drm
blacklist nvidia_modeset
blacklist nvidia_uvm
$ sudo mkinitcpio -P
Rebooting works now and Nvidia is disabled. Wayland does not work properly with Nvidia. But I don’t care. I even like it to have the GPU for training only.
If you feel stuck, go back
If the complexity feels much more than it should be, you are probably stuck because of a bad past decision. Go back to the point of that position and don’t try to fix on top of it.
Look for symptoms. Mine are that work does not feel fun and I am constantly drawn to Youtube. This is not a problem with my motivation, which stays relatively constant, but because of a past bad decision that bytes me now, because of technical dept. Don’t build upon it by forcing yourself. Hear on your happiness-meter. Discipline is the wrong approach. Go back and fix the root of the problem. You have to stick with your code a long time.
Some principles when building software
- Hot Dog
- Mona Lisa
- KISS
- Think & Plan first
- 80/20 for most (non Hot Dog)
- MVP, finished but minimal, Hot Dog
- Hot Dog is driven by Value, which is driven by User, which interacts with Channel#
- Work on the right thing
It is all about better decisions
You either have luck or decide. You have no influence about luck, thus the only only way to improve anything is by decision [1]. You can use decisions so that there is less luck and more decisions in the future and if you don’t decide, you change decisions to luck.
One essential part of deciding is predicting the future. To do this well you need a whole range of skills. One is either implicit or explicit model building, then using this model to predict the future. The quality of the model is the ratio of correct predictions. There are multiple methods of building a model, like religion, just reading about a topic, or the scientific method. Thus science is just an efficient tool for a society to build useful models to predict the future to make better decisions.
PdfParser and Wasot
PdfParser and Wasot are great match to Produce, don’t consume / Consume to Produce. Read papers where you can write into them. Then use tools to gather and assemble stuff.
Nixos with Hyprland and Distrobox
I want Nixos so that my OS in Git and that I can run it on multiple machines. But some packages and many projects require FHS. I also want a pre-configured, desktop-environment-like experience with hyprland so that I don’t have to do everything myself.
Hpyrland
You don’t need to build a desktop environment from individual parts. The community has already packaged a great Hyprland experience. You’ll use Nix Flakes to pull it in.
Backends for Frontends with Nextjs and Django
I use react as rendering library. And I use Django on the backend. But I don’t like that frontend applications get very fat and there is an ever existing tension between building a general API and the frontend driving the features.

This lead me thinking about Backends for Frontends as possible solution. Move from react to NextJS, define the backends for frontends in NextJS and the services in Django.

Nice Websites
I like them minimal, optimized for reading.
- https://julian.digital/2025/03/27/the-case-against-conversational-interfaces/
- https://unplannedobsolescence.com/blog/
- https://thewisenerd.com/blog/ext4-readdir/
- https://justincartwright.com/2025/02/25/dice-and-queues.html
- https://0x1.pt/
- https://www.geoffreylitt.com/2025/04/12/how-i-made-a-useful-ai-assistant-with-one-sqlite-table-and-a-handful-of-cron-jobs
- https://www.mikekohn.net/micro/w65c832_fpga.php
- https://bitbashing.io/haskell-concurrency.html
- https://www.makingsoftware.com/
- https://thenumb.at/Autodiff/
- https://alexarmbr.github.io/2024/08/10/How-To-Write-A-Fast-Matrix-Multiplication-From-Scratch-With-Tensor-Cores.html
- https://herecomesthemoon.net/2025/04/pipelining/
- https://sam.elborai.me/articles/tabular-programming/
- https://blog.edward-li.com/tech/advanced-python-features/
- https://ingau.me/blog/comfortable-silence/
- https://github.com/janraasch/hugo-bearblog
- https://rokcso.com/
- https://github.com/rokcso/hugo-bearblog-neo#-demo
- https://herman.bearblog.dev/manifesto/
- https://www.scottantipa.com/yagri.html
- https://terriblesoftware.org/
- https://www.jsoftware.com/papers/tot.htm
- https://popovicu.com/tags/bare-metal/
- https://www.wheresyoured.at/what-were-fighting-for/
- https://blog.rahix.de/design-for-3d-printing/
- https://deborahwrites.com/blog/docs-like-code-basic-intro/
- https://matthewstrom.com/writing/ui-density/
- https://next-faster.vercel.app/products/tablet-stand/bluetooth-tablet-stands/leather-chain-bag-strap-1-v2
- https://news.ycombinator.com/item?id=43925732
- https://plainvanillaweb.com/index.html
- https://bernsteinbear.com/blog/pl-writing/
- https://ericmigi.com/blog/how-to-build-a-smartwatch-picking-a-chip/
- https://quarter--mile.com/Human
- https://justfuckingusehtml.com/
- https://matklad.github.io/2023/11/15/push-ifs-up-and-fors-down.html
- https://sifter.org/~simon/journal/20240718.html
- https://lethain.com/stuff-learned-at-carta/
- https://borretti.me/article/you-can-choose-tools-that-make-you-happy
- https://lumosql.org/src/lumosql/doc/trunk/README.md
- https://aaronson.org/blog
- https://xorvoid.com/galois_fields_for_great_good_00.html
- https://iter.ca/post/yt-adblock/
- https://danielchasehooper.com/posts/typechecked-generic-c-data-structures/
- https://richardscollin.github.io/tmux-rs/
- https://www.inkandswitch.com/essay/local-first/
- https://tpl.house/
- https://lubeno.dev/blog/rusts-productivity-curve
- https://thinkingmachines.ai/blog/lora/
List of nice short sentences
Original
- Code that works and is easy to change.
- Head down, look at your feet, walk.
- 80/20
- 5 times 80 is better than 1 time 100. Mind the 80/20
- Do you ever get ahead with 80?
- Prioritization is to select the rare 100
Demis Hassabis on How Build the right Tools for LLMs
https://www.youtube.com/watch?v=njDochQ2zHs
There is a part where he lists some attributes. I like him, he is worth to be listened to.
TBD
DIY Energy Gel
Iteration 1
- Started/Inspired by this Video Stop Wasting $$$ on Fancy Running Gels: Make Your Own at Home!
- Bought:
- Maltodextrin, 2.5 kg, 13€
- Fructose: 1kg, 9 €
- Electrolytes: 200g, 9€
- Pektin f. Marmelade Konfitüre: 100g 9€
- Containers: Reusable Shampoo Bottles: 4 pieces, 10€
- Used Recipe (from Video):
- 200 g Maltodextrin
- 100 g Fructose
- 200 ml of boiling water
- half Tea-spoon of Pektin
- A bit of Electrolytes (have to calculate how much I need)
- Lemon acidifier for taste
Observations:
Connections of embeddings using shared properties
Let’s say embedded something on useful dimensions. Vector similarity checks if two items are similar on all dimensions. But when I want to build a graph from them, it may be better to require that they only share some properties. Humans need for example only a big enough overlap of shared interests to connect to each other. None is bad, being the exact same person is boring, too.
We project the embeddings of the items down on a subset of axis and look, which ones are close there. This gives us a graph between the items.
Are antibiotics in meat a problem?
I am living in the European Union. What a blessing. So much things I don’t need to think about. Has its downsides, but this is an upside. Are antibiotics a health problem for me, eating cheap meat?
There is a regulation Regulation on veterinary medicinal products and repealing Directive 2001/82/EC , giving a ban on routine use, a ban on growth promotion and restrictions on preventative use.
Maximum residue limits (MRL) is regulated in the Regulation on pharmacologically active substances and their classification regarding maximum residue limits in foodstuffs of animal origin (Article 1) and the Withdrawal Periods are regulated in the Regulation on veterinary medicinal products and repealing (Aricle 115, Article 107).
Interesting little problems to work on
08/25
- Semantic Highlighting
- Latent RAG, tightly integrated
- Unstructured Answers via structured output using Blocks
- Probabilistic Constrained Sampling
- Track attention to sources
- Deep Research RAG, maybe MCP
- Auto Reverse Template
- Automatic top-k at dense vector search
- Proper coding agent: ATDD, UI-check, Architecture for small context, Design Docs, Document Driven Development, Functional DDD, verification tools, high-level/low-level-interop
- Gameplan-Page Genetic LLM algorithm with RL integration
Zero downtime deployment with SSE and long startup times
Generated by Gemini
Intro: Zero-Downtime Deployment for Spring Boot Apps with Docker Compose
Deploying updates to a live application is a critical process. For applications with long startup times and persistent connections like Server-Sent Events (SSE), the challenge is to deploy without interrupting active users. A standard restart is not an option—it would mean minutes of downtime and abruptly terminated user sessions.
This tutorial provides a complete, step-by-step guide to achieving true zero-downtime deployments for a Spring Boot application using Docker Compose. We will tackle two specific, real-world challenges:
A datastructure for my knowledge
Context: Double-Agent

Concepts, Links and Sources

It is a Hyper-Graph

As Knowledge-Graph

Full Spectrum Light
When I saw somebody put on sun-scream under UV-Light only on Youtube, his skin was black. I had an epiphany. I already knew, that we see only a very small band of light. But what if some parts of my organism developed to use other bands of the spectrum? For them I am living in the dark most of my day.
I actually have no Idea if this is the case - but regarding our biology the science has still many, many unknowns (when I watch Michael Levin, I know that we are still right at the beginning of our journey). So what happens if some systems depend on other bands of the spectrum than visible light?
Coding Agents is for the Dreamers
I can dream about stuff more and strategize when the agents to the toiling. I don’t mind waiting for the tool, I can plan the next steps, the overall vision without being lost in too much detail. Detail comes at the areas of the code, which need heavy iteration to make up my mind and expressing deep ideas. A PoC is the result, which can be integrated by someone else. I can dream more and toil less.
Eating is an Optimization Problem
Eating is an optimization Problem. Getting all the right macro- and micro-nutrition, staying at the right caloric range, tastes as good as possible, costing at least as possible, brings as much joy as possible, takes as little time as possible. Here are some notes on how to approach it.
Context: Health Landscape
There are different attacks on how to stay healthy for as long as possible to have as much integrated energy (energy over time) for my Life Goals (whatever they are…).
Life Goals
It is years since I am working on my life goals. I need them to evaluate if a certain thing is “good” or “bad” as Things are not good or bad, but constructive or not, which require a thing towards something can be constructive. Without a goal, I am lost in all my decision making.
Existing Work
I currently have no time writing down all my thoughts and ideas I came up the last few years. Just some notes:
Busy via coding agents as a form of laziness
You can feel very very busy while using coding agents. You have three windows open, all doing tasks. You are typing, reviewing at the speed of light. But done without great care, you are producing a lot of code but no value. Being Busy Is A Form Of Laziness, you feel very busy and good about, but if you would take a step back, you see that nothing important was done. For now, coding agents are restrained to simple tasks and we have to resist the temptation to do only the simple tasks then - or being captured in small irrelevant tasks if we split complex tasks down. The value of features follow the Power Law and being fast is not relevant if we don’t follow it ourself. We just wake up out of our busy agent coding work and realize that we have built something no one needs in record time.
Being Busy Is A Form Of Laziness
A quote by Tim Ferris. First I disagreed as it was so much out of my world view strongly but it stayed in the back of my head. Then it changed my world view and me.
Things are not good or bad, but constructive or not and the constructiveness of tasks follows a Power Law. When I am just busy, I do a lot of things too fast without ever reflecting on their constructiveness. I have a very short-sighted view. But the power law states, that there is only a handful things to do, that are important. I is hard to reflect and also it is hart to NOT do things (Focus means doing doing things you want). Not working on the most important tasks is easier, and not thinking about this problem by being busy is lazy!
Focus means doing doing things you want
I mean to remember that I heard it from Steve Jobs somewhere.
Quotes
- “Being Busy Is A Form Of Laziness.” - Tim Ferris
- I saw this in a video by him first, but it seems that it is also in his book Tools of Titans. First I disagreed strongly, then it changed my world-view and life.
Things are not good or bad, but constructive or not
Learned in Atomic Habits in the context of, well, habits. But it is much more general than habits and a great framework. It can get quite interesting and scary to thought experiments that extend the idea to ethics and morality.
Toolbox
Tools in my Toolbox. Also a good basis to create my Anki Decks. Stuff I need to know. This is a living document and intended to change with me.
Environment
- Linux
- busybox
- networking
- common tools, like jq, grep, rsync, curl, etc.
- …
- rsync
- Nixos (the language)
- Zsh (keybindings)
- tmux (keybindings)
- Neovim (lua + keybindings + how to config)
Languages
- SQL
- Kotlin
- Python
- Typescript
- CSS (concepts)
- XML
- Rust
- Tailwind
Aux Languages
- Json Path
- XPath
- XSD
- Json Schema
- Protobuf / gRPC
- PlantUML, Mermaid, Markdown
- Cucumber/Gherkin
- Bash
Libraries and Framworks
- Python
- Django
- Click
- Tensorflow, Numpy, Matplotlib
- FastAPI, SQLAlchemy
- Celery
- Typescript
- React
- Tailwind
Tools
- Postgres
- Docker, Compose, Stack
- Nginx
Loose Coupling and High Cohesion to think locally
Just a random thought:
- Loose coupling means, that I can change something in a module without breaking anything in other modules (except I break a contract) - I don’t have to think about other parts of the system
- High Cohesion means, that I find everything I need to make a change in the current module - again I don’t have to think about the other parts of the system.

Consume to Produce
A simple rule could be: Whenever I consume anything, my garden needs to grow (no matter how little.)
(Idea) Functional Domain Modeling using DSL
Scott Wlaschin talks a lot of functional domain modeling. E.g. here: https://www.youtube.com/watch?v=2JB1_e5wZmU
He uses F#. But I don’t think you need any functional programming language. You need to write in a way domain experts can understand, help and contribute. Thus, write the sealed types, etc. in a DSL, that is optimized for this. But don’t stop there. Behavior-Description is already done in Cucumber. Is it possible to create a DSL for specs that allow code generation and validation?
(Idea) Understand the World without understanding money
It should become a story. The idea, is that an intelligent person wakes up and is no longer able to understand money nor recognizes it. Like these people who can not remember faces. Like normal people how can not remember all the elbows they see. He now tries to understand the world. I hope to understand the real purpose of money in our society (from organization, communication and resource allocation). Exploratory writing.
Projects
Current Projects
- Wasot (writing at speed of though): A language made for humans and computers. Makes working together easy. Makes writing tools for your brain easy. Currently written in Go, but I want to rewrite it (again) in Rust.
- List Resources#Books I like and other resources. Also build a Hoarder System to get things into my garden.
- Check out the Artifacts#Ideas to write about
Ideas / Future Projects
- Semantic Highlighter: Use BERT to do semantic highlighting using extractive Q&A. Can be combined with doing reranking at the same time (same body). So far a highlighter is missing from semantic search engines.
- Fast Essay Writer: Most people form their opinion within the first seconds they hear a problem and hold to it to the rest of their life. A better way is to form a world-view via essays. But it is hard. Computers can simplify it. Use LLMs with deep research to get the status quo work, audio input to dump you your brain. Convert to atomic notes, shuffle, sorts and then write. Merge your ideas with existing ones and extend your world view in the conclusion.
- Flashcard-Creator: Given a Source or Topic, build an new Flashcard Deck for Anki Decks. LLM supported. I am currently doing this semi-automatically, which works good, but I can speed it up. Currently, I am collecting experience (do manually first, then automate). Should be based on Wasot.
- Producing-Focused RSS: Reader. Don’t just consume, but produce notes when Reading stuff. Based on Wasot? –> Consume to Produce
Resources
Videos I like
- The Stock Market Always Wins
- Also a great essay
- The Expert Myth by Veritasium -> How to detect one?
Books I like
- Outlive
- Kotlin in Action
- Zero To One
- … so many #todo
Other
Learning SQL (Again)
I use SQL for 16 years now. It is such a central tool, that it is useful to learn it again, fix patches in knowledge and habits and explore new ways of doing thing. I use this as an opportunity to experiment with a LLM in in human+machine curriculum and content creation. The resulting artifact will be a new deck in my Anki Decs.
Table of Contents
This is still a work in progress. The table of content defines the journey. I first want to bring together everything I want to learn. The content is generated by Gemini 2.5 Pro and driven by me. LLMs are databases and I query them.
LSP Aware Sampling
Constrained sampling of language model already works great, even with a (e.g. JSON) schema where the parser is built on the fly. I already considered implementing a tree-sitter version of the sampling, which poses some interesting challenges that go deep into parser design. Note: Treesitter is not even the right tool for the job, but a lot of parsers are available and poses an interesting challenge.
Going a step further, LSPs in constrained sampling would be just a great fit. The sampling is then not only aware of the language but also of my own project. It is also a great extension point for all text-based (semi?-) structured text. I could for example make it file-system aware, add other plug-ins like a identifier-name-generator, snippets, documentation and so on. Particularly interesting: Refactoring-Actions. Everything as extension, everything project-specific, everything local everything hackable. Like vom for language.
Learning Bouldering
Not a central part of my life, but compared to many other types of sport, I start as a beginner with 31 and take this as opportunity to learn and optimize learning new skills. Also it is a great sport to do with friends.
Graded in DAV
In my Boulder Gymn (DAV Kempten) there are colors, while online is the Fontainebleau-Scala. This makes comparing with online resources hard. Thus, here is a translation table (no idea if it is correct!):
Doing stuff in parallel
This is a living note on doing as much stuff in parallel as possible to get more than 24 hours per day. It is a big scheduling and organizational challenge. I could support this with tooling some day. Routines help for sure as well.
This note is a very very early draft. I am sure, that I can improve even more.
While eating:
- Watch documentary from a playlist of good sources
- Let an Agent work on the code base
While sleeping:
Routines

A collection of routines, that fit nicely together and support me in my Life Goals (definition of good).
- Wake up without alarm
- Drink 0.5 water with morning supplements
- Good Morning Workout
- After 1.5 hours drink my coffee
- Eat soup at 13:00 with healthy cereal
- Green smoothie as snack
- Last meal before 18:00
- Set alarm half hour before going to bedtime.
- Depending on sunrise?
- Bring smartphone outside the bedroom to charge and read until tired.
Habits
- Every day Zone 2 training
- Every day Strength training
Measures
- Reduce Minutes per day that are not goal oriented
- Not all activities are equal: Outside of the routine, sort power-law distributed activities.
To Do
- Make everything dependent on sunrise
- Make it compatible with Partner
Brainstorming
- Weigh myself on the scale every day.
- Take pictures of food and estimate ckal + macro.
- Micro nutrition meals checklist.
- Take supplements 2x (compatible with med checkups)
- Soup, Green smoothie, cerials
- Sleep long enough.
- Cycle to work and back. If not possible take a walk.
- Learn flashcards.
- Read & take margin-notes.
- Strength training
- Sprints? -> additional challenge: weekly habits
- Only one coffee, maybe around 11? What is the best time of the day?
- Find good replacement. 2 half coffee?
- Fasting till 1. Till 2? What is best window?
- Use sunrise as clock-starter. How to handle with partner?
- Phone outside my room and away from my desk
- Charge bicycle lamps
- Good Morning Workout
- Learning on the bike + Homework
Future Anki Decks (Flashcards)
These need to reflect my skills. every card in a deck gets a rating from one to five, where five is most specialized. I don’t want to learn up to detail-level all the time, maybe only, if I need it in a project. My flashcard program takes a desired skill-distribution in and outputs a deck with the right cards.

Stuff i want to master (evolving brain storming):
- Historical Events on a Timeline (Common Knowledge)
- Kotlin
- SQL
- Tailwind, HTML, React
- Linux stuff
- Python
- PyTorch, Numpy
- Matplotlib
- …
Decks are a nice artifact for Consume to Produce.
PostgreSQL Query Example with JSON and Common Table Expression
A interesting query:
WITH extracted_data AS (
SELECT
created,
(m.assistant_message::json)->'choices'->0->>'text' AS assistant_response
FROM
public.message AS m
WHERE
m.user_message IS NULL
)
SELECT
*
FROM
extracted_data
WHERE
assistant_response ~ '\[.*\]'
ORDER BY
created DESC;
The first part is a common table expression, which is like a temporary table to split the query into two phases.
To get a json object, use -> to get text, use ->> . As assistant_message is a TEXT, we need to cast it to json using ::json.
Random Notes
- Speech of Xi Jinping at CCPs 100th anniversary
- Loose Coupling and High Cohesion to think locally
- Busy via coding agents as a form of laziness
Speech of Xi Jinping at CCPs 100th anniversary
- Seems important
- https://asia.nikkei.com/Politics/Full-text-of-Xi-Jinping-s-speech-on-the-CCP-s-100th-anniversary
- Sally: At some point leaders have to communicate their intentions
- Looked up while watching here: https://youtu.be/Li4PNLKrw9g?t=3018
Custom component in react-markdown content
Say I want to implement a pop-over using shadcn in a markdown text in react. I convert the markdown to HTML to display it. But how to inject my own component into that output? Turns out react-markdown already handles it by giving me the ability to pass in my own components for parts of markdown.
const md = `
# The Rise of TypeScript
TypeScript achieves its popularity by combining several powerful features designed for robust and scalable application development.
A key factor [1](#1) is its unique static typing system layered on top of standard JavaScript.
In a **Developer Survey**, TypeScript was ranked the second most loved language by professional developers [163].
`
export function Playground() {
return <div>
<Markdown
components={{
"a": LinkInMarkdown,
}}
>{md}</Markdown>
</div>
}
export function LinkInMarkdown({ children, ...props }: any) {
console.log("LinkInMarkdown", props);
return <a href={props.href} className="text-blue-500 hover:underline">[{children}]</a>
}
Best would be to detect things like [163] but this is not a component. Thus, I converted the [1] to [1](#1). I can then detect a pattern in LinkInMarkdown and return something else (not implemented.)
From fuzzy Idea to Software-Product

I have a lot of ideas. How to bring them to production? Most ideas die along the way as Most ideas are bad. So how to Avoid Waste? Iterate fast in the beginning, take a lot of Technical Dept and transform the code base.
Start fast, get feedback. Your idea gets often killed or changed beyond recognition. Being fast and flexible is key. Focus on feedback. The result is a Proof of Concept. Iterate here until the feedback converges to a sensible feature set.
Create Markdown Presentation
pandoc --from markdown --to pptx content.md -o slides.pptx
Learning Skills
Strategy to Consume to Produce with minimal effort
Getting Things into my Head
I have the goal to Produce, don’t consume and Consume to Produce. But I also have work to do. So how to produce stuff fast? This note explores a technique, which worked quite well recently.

I start by learning interesting stuff. I can do whatever I like Divergent Thinking and follow stuff which is interesting. I am building a Framework in my head and gain a general understanding. But I don’t have to - I can do whatever I want. I just collect stuff.
Writing Well Skill
- Brandon Sanderson
- Youtube
- Masterclass
- Something with feedback would be nice.
- Start at least with self-feedback by editing my drafts and texts.
- This “Nobody Cares” Guy from Chicago on Youtube, who explains that writing should be valuable.
- Just write
Anki Decks
Future Anki Decks (Flashcards)
Anki Decs
Artifacts
An artifact is something I take some effort to produce. Most are to explore a topic using write-thinking.
Ideas to write about
- (Idea) Functional Domain Modeling using DSL
- (Idea) Understand the World without understanding money
- (Idea) Supabase as Interface
Concepts
A concept is a atomic thing with a name and a definition / description.
Future topics to write about
Wen I write my head explodes and I come up with so many ideas I want to write about. But if I would do, I would not get anything done ever. Thus, this page tracks all these ideas for future exploration. I can collect them using backlinks.
- Why goals are important, power law in activities, drunken walk, busy is prognatination
REST solves the n x n Problem
If services need to talk to each other, you have a quadratic problem in learning APIs. Each yellow box in the diagram represents a learning task. SQL had the same problem with data repositories. The solution in SQL was to make the communication protocol very small: Only SELECT, UPDATE and so on. Now you only have to learn the schema of the database, which is domain specific. REST is the same idea. Make the protocol very easy: Only things like GET or POST. Your REST-API can be modeled and used as a domain specific database.
Home
Welcome
To write for and to myself. A garden of thoughts and whatever interests me. I am living in this garden and maintain it. There are no restrictions - only interesting things. Everything is under maintenance and half broken all the time.
Start Browsing
Writings
Notes
- Strategy to Consume to Produce with minimal effort
- From fuzzy Idea to Software-Product
- PostgreSQL Query Example with JSON and Common Table Expression
- Doing stuff in parallel
- LSP Aware Sampling
- Eating is an Optimization Problem
- Coding Agents is for the Dreamers
- Full Spectrum Light
- A datastructure for my knowledge
- Interesting little problems to work on
- Are antibiotics in meat a problem?
- Connections of embeddings using shared properties
- DIY Energy Gel
- Demis Hassabis on How Build the right Tools for LLMs
- Backends for Frontends with Nextjs and Django
- PdfParser and Wasot
- It is all about better decisions
- Never let a scaffold drive a project
- Some principles when building software
- If you feel stuck, go back
- iGPU for Hyprland, Nvidia for ML tasks
- Integrated Pipelines
- UML is a tool for thinking
- Beelink Mini S Autostart on Power
- Replace Group-Names with Labels in Discussions
- Building Heaven
Knowledge-base
Recipes and Cooking
Pizza:
- The best pizza I’ve made so far Pizza dough for Oni Oven
Type-System into the database to express the domain
Type theory and set theory are equivalent - they can express the same things. When you build software, you build upon types. But the software is fixed afterwards - you don’t change the types in the running system, they get even removed at compile time.
But what happens, if you want to build a general kind of software, where each customer can define their own types to customize it to their domain? You can not longer model the domain using programming language features like classes. Their model has to go somehow in the database.
Youtube Videos I like
2025-05
- Voice Acting - Practice Tips & Techniques: A good voice in reading out loud enables a lot of use-cases. The idea of the video: Set a timer to 1 minute, read it, listen back, improve, repeat. It does not have to be complicated.
- The 5 levels of Apache Spark remastered (YT Short): Spark is important, this is a nice little roadmap
- “Good People Are Weak” | Nietzsche’s Most Dangerous Idea I like that Nietzsche thinks for himself
HTML Example
HI
Second para
Post 2
Anim eiusmod irure incididunt sint cupidatat. Incididunt irure irure irure nisi ipsum do ut quis fugiat consectetur proident cupidatat incididunt cillum. Dolore voluptate occaecat qui mollit laborum ullamco et. Ipsum laboris officia anim laboris culpa eiusmod ex magna ex cupidatat anim ipsum aute. Mollit aliquip occaecat qui sunt velit ut cupidatat reprehenderit enim sunt laborum. Velit veniam in officia nulla adipisicing ut duis officia.
Exercitation voluptate irure in irure tempor mollit Lorem nostrud ad officia. Velit id fugiat occaecat do tempor. Sit officia Lorem aliquip eu deserunt consectetur. Aute proident deserunt in nulla aliquip dolore ipsum Lorem ut cupidatat consectetur sit sint laborum. Esse cupidatat sit sint sunt tempor exercitation deserunt. Labore dolor duis laborum est do nisi ut veniam dolor et nostrud nostrud.
Post 1
Tempor proident minim aliquip reprehenderit dolor et ad anim Lorem duis sint eiusmod. Labore ut ea duis dolor. Incididunt consectetur proident qui occaecat incididunt do nisi Lorem. Tempor do laborum elit laboris excepteur eiusmod do. Eiusmod nisi excepteur ut amet pariatur adipisicing Lorem.
Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sint esse velit ea officia minim fugiat. Elit ea esse id aliquip pariatur cupidatat id duis minim incididunt ea ea. Anim ut duis sunt nisi. Culpa cillum sit voluptate voluptate eiusmod dolor. Enim nisi Lorem ipsum irure est excepteur voluptate eu in enim nisi. Nostrud ipsum Lorem anim sint labore consequat do.
Geometry, Surfaces, Curves, Polyhedra
The following is a random collection of various topics in geometry the author has explored or simply documented over the years. Many of the topics include source code illustrating how to solve various geometric problems, or to assist others recreating the geometric forms presented.
Notes on polygons and meshes
Includes
Surface (polygon) simplification, Clipping a polygonal facet with an
arbitrary plane, Surface Relaxation and Smoothing of polygonal data,
Mesh crumpling, splitting polygons, two sided facets, polygon types,
tests for clockwise and concavity, clipping line to polygons, area of a
3D polygon, area of general polygons, determining inside/outside test,
intersection of a line and a facet, Eulers numbers.