This is the home of Theta Nil’s Guides to the Great Journey. Here we discuss things which I found interesting in my life, at least in the last 15 years…


  • programming languages

  • computer tricks

  • projects

  • art

  • cycling

  • pictures

  • music

  • opinions

  • show and tell

  • tricks

flowchart LR
  MIDDLEWAY["`Middle Way
  FREESTUFF["`**Free Stuff**

      reason: lack of autoscaler in GH
          create updated VM images
          replace image in Scale Set
        lin build
        win build
      Scale Sets
      Images - For Dev & CI & Test
      Sources - For Devs
      CI Tool - DevOps
      CloudVMs - For Build
      Artifacts - Delivery
flowchart TD
  VMSS_WIN["`Windows 2019
    VM Scale Set`"]
  VMSS_LIN["`Ubuntu 22.04
    VM Scale Set`"]

  BC1["`Build Container`"]
  id2{workflow: build container}

  BC1 --> id2

Subsections of Home


Subsections of Articles

Liege Waffles

“Research” regarding Liege Waffles.

I am looking for a recipe to reproduce the waffles from the street-food vans and busses in Brussel. So far I have found American recipes which are close, but recommend to add INSANE amounts of pearl sugar. My first attempt with this type of waffle ruined my cheap waffle iron. After which, I purchased a high quality Belgian style iron which cleans up after the sugar OK, but still requires quite a bit of effort. In any case, this “pearl sugar” recommended in the American recipes seems to be the wrong stuff. It’s close, but it doesn’t get soft and gooey inside like the Brussel street vendor style.

Initial Attempts: Bountiful Kitchen Liege Waffles

This recipe came on the recommendation of some new friends we made in Bali. It was quite good the first two times, when I didn’t have the right “pearl sugar” and so once I subbed German “Südzucker Brauner Kandis”. Since I was unsure I barely added any, and I trashed my waffle iron anyway. Then I got a new professional iron and tried again with no extra special sugar and they were GREAT. Tried one more time to follow the recipe, say the amount of sugar called for, halved it, and they were still disgustingly sweet. Anyway, so far the best recipe, just leave out the pearls. Still searching…

Bountiful Kitchen print

NYT Yeasted Waffles

Image Image

These were super light and eggy, and also not anything like Liege waffles. The “dough” is definitely more in the order of traditional American style waffle batter. The yeasty flavor is still quite good. Maybe there is a bit too much salt, but they are still enjoyable. The baking soda is unnecessary is probably why it’s too salty. I’m not trying any more baking soda recipes because that is clearly not part of the real Liege recipe.

Up Next: Baker Betty

These look totally correct, the way the sugar is melted and oozing and has the look of honey. Maybe my pearl sugar issue is just a matter of finding the right temp? In the big shops in Brussel they load the dough into cupcake pans and put them in a warming oven to rise. One cupcake of raw risen dough equals one waffle. I have ordered some large cupcake pans and will try this when they arrive.

Betty Bakes

Another American with a clear sugar addiction

kitchen whisperer

Priority Inversion: NGU

i recently started playing with golang. Go is nice because it removes a lot of the gotchas in parallel programming but not all. Dead lock is still possible and so you are still responsible for all which that entails. Priority inversion is not the same as dead lock, but it can be a cause of it.

The game NGU IDLE sets a trap for the player in a part of the game called Blood Magic. If you do not solve the problem of priority inversion here, well you will not make the Number Go Up. Generating EXP is a goal in the game. With EXP you can control the dials of energy generation (the base resource of the game). We want to maximize how much EXP we get over time (EXP/t) so that we can manipulate this dial (increase energy throughput).

In order to generate EXP, we need to level, and fast. This is a tertiary gameplay loop.

In Blood Magic, we have multiple methods by which to contribute our blood and magic into a multiplier for our NUMBER which determines how much EXP/t we can get in our next life.

  • poke with tack
  • papercuts
  • hickey

Once you unlock Blood Magic, you will likely be at the point where you have enough magic to consume all of your money. Here, papercuts yield 5 Blood Per Second (BPS) and consumes all my money. The hickey yields 20 BPS, but will never trigger because the papercuts trigger earlier and consume all the gold.

If we do not remove our energy from the lower-level faster running task, we will never progress.

Looking at this as in compute terms, if we have tasks which are many and fast they can consume our entire compute resources if we don’t limit them. If these small tasks also depend on the completion of longer running task which never get the opportunity to run then we can end up in deadlock. Go recognizes when no threads are making progress, but in this case, the smaller tasks ARE making progress so it looks like work is being done, even though no work is ever being completed.

Thinking in terms of parallel execution requires a lot of attention. This theme comes up often in NGU. In some cases, you need to put your energy into the biggest task which will complete within this rebirth cycle, however long you decide that should be. If your rebirth cycle is 30 mins, obviously you don’t put energy in something which will never complete. The task which will complete at minute 29 is often worth the wait. In compute terms, be sure to keep your fat threads running.

Before dealing with this issue, i was slowing down and rebirthing with ~ 4 more bosses most of the time. Now I run up the multiplier provided by Blood Magic when the rebirth time gets long enough to do so.


Some things I would like to create but never have the time.


  • Munger
  • Dekker
  • MediaMonkey Style Data Manager
  • Ansible but single file with web ui on bun


  • NUX but single player web game
  • Mashup: Backpack Battles + Pokemon with Cycling Card Deck
    • tarot in balatro are programmable: block doubles, emporer 1-2, fool (generate emporer)
    • need a game to get cards into a deck to give to a fighter
  • Turing Tarot
    • 2 lanes of cards, battle cards and machine cards
    • FSM + Stack = PDA

Subsections of Ideas

Pitch Decks

The List of 7

  • Statement declaring the world has changed
  • Facts to support that statement
  • Identify the losing solution
  • Identify the winning solution
  • Share evidence that it works
  • Show your price (straight-forward with Tier 1, Tier 2, Tier 3 is usually best, and not necessarily correct to do at first presentation)

The List of 5

  • Name Big Relevant Change in the World
  • show there will be winners and losers (adapt or die)
  • tease the promised land, no product details, but future state
  • introduce features as “magic gifts” for reaching the promised land
  • present evidence that you can make the story come true


Go Implementation

create a desktop and mobile app using Fyne

Data Store

Editor v1

Markdown to rich text editor with a text area

Editor v2

Try this to embed nvim in an application window in fyne. GPT thread available




Deno Implementation


I used to buy too many domain names. Bad habit. I am still in recovery.


The 10k PC is now a meme, but once upon a time I considered to build one each year and list the parts and benchmarks for the year. I would offer to build more of them and then sell mine at the end of the year when I built next years model. I use cloud servers now, I don’t need the 10kpc now.


Future home of Lovecraftian themed game I am working on.


Once I was very interested in starting a non-profit which would drop tree seedlings from drones by the millions. Looked into fund raising and realized no one with money cares about the future.


‘All Your Datas Are Belong To Us’. I thought this domain was cute at the time. shrug


Way back in the very early days of Twitch, right after Justin left, twitch got popular, and the chat got so annoying and spammy that I couldn’t chat with anyone any more. I thought I would make a view which blocked all the spam and just filtered and highlighted the people you wanted to see. I realized twitch people think spamming emotes is a feature. I just close the chat window now.


When I first got my kids on a Laufrad I was so excited about how much better it worked than stupid training wheels that I decided I was going to ship them from Germany to USA. Learn to ride and balance with your feet on the ground, the pedaling is easy to add later. It’s really just SO MUCH better.


After talking with some friends about their desire to sell feet pics, I bought this name. Puddin’ Toes is still working her office job.


I thought this sounded like a nice brand name. 7 characters, and you can pronounce it.


Work In Progress: A place where humans are recognized as humans and bots should not be able to post there. Human Authenticity without CC or Phone number ??


Work In Progress: Network Tools


Work In Progress: Girls read their porn. No pics, text or audiobook style female kink.


Work In Progress: Video Game Music Engine which enables the composer to create loops. Loops can be additive, so that they stack for synchronized playback and the integrated game engine can set the scene intensity level. Loops can alternatively be transitional for smooth scene transitions, also integrated into the game engine. Composer tools support generative sequences, and live synced playback with same scene stackable tracks.


This is dumb name I picked up to body shame skinny models. No one else gets the joke, and it’s not really funny. I am a better person now.


Work In Progress: Tiny containers for ARM


A thing for a streamer on nopixel. dead now.


In my 20s I was very into network security, and I set up a scanner for DNS and SMTP vulnerabilities. Shut down due to abuse potential. I would have had to make it pay for use. Now we have TXT records and I could authenticate that the scan user actually controlled the domain scanned. That was not an option, at least that I was aware of, at the time.


I have a friend who was totally hot in her pants for a beautiful hippy named Willy. Willy has since passed due to his vices, but he shall be remembered here. God Speed William.


Thought this sounded like a cool brand name.


Best Italian Pizza outside of Napoli. By FAR the best pizza in Stuttgart. (owner hosted) For Detroit style, please see buddy’s


Before MingW and before Cygwin, I had the idea to make some sort of bearable environment work on Windows. I decided I do not want to help Windows. I am thinking still of something to help BSD with linux stuff, but then, I also don’t want to help GPL’d tools. (MIT BSD OR GTFO)

http://userdoc.org/articles/domains and http://userdok.com/articles/domains

Work In Progress: I really like Knuth’s Literate Programming. The design proposed is really quite outdated in my opinion, but the concept is compelling in any time. I propose a Markdown with an extension to code fences which supports Jupyter Notebook style executable documents given the right runtime, without the stupid AF json garbage wrapper. Firstly tho, it should support generating a source tree from the documentation which is idiomatic to the language written (or just explicit in the code fence args)

/// code fence with triple ticks but that I can't show here
js {module: es, path:./src/blah/module/main.js}

/// content of fenced code
export default module blah


I used to naively believe that you could fix the two party system in america if people were just more aware that they had more options. I learned later that the entire system is rigged to keep 2 parties in power always. Well intentioned ignorance…


Dan Heissler and I brewed beer in college and I wanted to pick up a brand in the unlikely event that we meet again and brewed another batch of Blackbeard’s BlackStrap Mollasses Porter. It was indeed a wicked grog.


Universe Traveling Shaman, Reiki and Shiatzu Practitioner, Death Dula, and a space cake massage which will put you in orbit. (owner hosted)


Web service to check reachability of services from some location on the internet other than your own. TCP/HTTP/SMTP/DNS


Local recycling of stuff which is free for pickup. No promotion / selling.


I like machine learning on large datasets which are sometimes not open-source, and this is where pirates trade data.


Work In Progress: I wanted to make an Obsidian before Obsidian existed. I still want to make it in a way which just works with a github repo, and vim or a phone.


To Watch

  • Lords of Chaos (black metal)
  • Until the Light Takes Us

Subsections of Recipes

Mom's Curry Dinner

Nigel Slater’s Chicken Curry (with Mom’s notes) Serves 4

(Roughly cut carrots and potatoes, about 4 each, steam till almost cooked, then remove to a bowl to free up the cooking pot)

  • 4 chicken pieces, breast halves or thighs (3 breast halves, each cut into 4 pieces)
  • Salt
  • Freshly ground black pepper
  • 2 tablespoons butter
  • 1 tablespoon peanut oil (olive oil)
  • 2 medium onions, roughly chopped
  • 3 large cloves of garlic, minced
  • 2 tablespoons curry powder, from a recently opened jar
  • 1/2 teaspoon ground cinnamon (omitted for Conni)
  • 4 medium tomatoes, seeded and chopped (I used 1 small can of tomatoes, and 2 chopped fresh tomatoes, seeds and all)
  • 1 cup chicken stock (increased to 400 ml jar)
  • 1/2 cup heavy cream (increased to 200g- one small carton)
  • Juice of 1/2 lemon (I used the whole lemon’s juice)
  1. Rub salt and pepper into chicken. Heat butter and oil in a shallow pan, add the chicken and cook until the skin is golden. Turn and add the onions and garlic and cook over medium heat until soft, about 7 to 8 minutes. Stir every once in a while.

  2. Stir in the curry powder and cinnamon. Cook for 4 minutes, until the spices are cooked. Add tomatoes, vegetables and stock, then simmer until the chicken is tender and cooked right through, about 15 minutes.

  3. Stir in the cream and taste the sauce, adjusting salt and pepper, if needed. Add the lemon juice. Simmer for 1 minute, then serve hot with basmati rice.

Chapter 20


This is a new chapter.

Intro to Dekker

Phone Basics

Some thing from gitjournal. Should be nice.

Subsections of Phone Basics

First Content

some content

which is basic

intro to basic

step 0.1

this is first most basic step we have

graph LR;
    If --> Then
    Then --> Else

Copilot vs Gippity

I asked copilot to generate some text about ChatGPT.

Once upon a time, there was a chatbot named GPT. It was so smart, it could answer almost any question you threw at it. But sometimes, it could be a little… well, dumb. Like the time it suggested using a hammer to fix a software bug. Or when it thought that the best way to speed up a computer was to put it on a treadmill. Yes, GPT had its moments. But despite its occasional lapses in logic, we loved it all the same. After all, who else could make us laugh with their charmingly silly suggestions?

This text is meant to be humorous and is not intended to offend or belittle the capabilities of GPT.

My favorite part is how copilot talks about gippity in the past tense:


Balatro is a great game which turns Poker into a rogue like deck builder.

Madness Madness


Subsections of Sites

Dekker Revision 2

Design for a data transformation and exploration tool.


  • resource manager (initial querys to list dbs / tables available)
    • :memory: table initialize and loaded
    • route for resource list
    • function for query
    • simple table viewer
  • sqlite3 manager
    • form to add resources
  • template processor for SQL
  • collector (file manager)
  • collector (mapped csv)
  • table editor (airtable ish)
  • graphing d3
  • Node Editor for Transforms
  • DAG Schedular
  • collector (clang AST)
  • Documentation Generator
  • Collector (UI Map)

Rev 2

UI Deps: tape-dom d3

MatPlotLib Pt.1

just wanted to try out something artistic in matplotlib. some more play time with numpy is always nice. here we go…

perlin noise with matplotlib color arrays

img img

some voronoi_points in a numpy array

img img

a bar chart on a polar axis.

I stole the code from some example, but I never thought about wrapping a bar chart x-axis around a point like that. Interesting result…

img img

using fonts on a plot

img img


Pretty pictures with perlin noise fields

Playing with Perlin Noise: Generating Realistic Archipelagos

Hexbin Shot Charts

Intro to

7 Points to Use Matplotlib More Efficiently

Matplotlib Animation – A Helpful Illustrated Guide

Artistic Voronoi Diagrams in Python

matplotlib colomap manipulation

W3 Python Exercises

NumPy Docs

Plotly vs Matplotlib

plotly has a js lib for interactive diagrams. not sure if matplotlib has something similar, but I haven’t seen it.

plotly express

Specific features

fonts matplotlib.axes.Axes.text

removing axes

axes subplots



cufflinks might not be really needed anymore. pandas supports multiple graphing backends like mpl or with plotly which now supports

pandas directly


drawio ui drawio ui

drawio example diagram drawio example diagram

Go Setup


Art Project

Motivated by Context Free

problem is the guy made a bad CFG which is really easy to do. people could use it though so how bad was it really? anyway he changed the grammer and bailed, so the old code and docs are all about a language that isn’t supported any more, and the new language appears to be dead on arrival. still makes pretty pictures though. the concept is solid.

Windows Setup

VSCode Setup



Open Recipe Search


Curry Dinner

Creamy Chicken Mushroom Soup

Broccoli Cheese Soup

Brazilian Rice And Beans

Basic Quiche Recipe, Cheater Crust

Best Pancakes

Roasted Brocoli Teriyaki Chicken

Mediterranean Couscous Salad Together with Cevapcici and Tzatziki

Chicken Biryani

Cottage Pie

Cincinnati Chili

Chicken Pot Pie

Chicken Shawarma

Taco Seasoning



Chocolate Chip Cookies

EZ Cinnamon Rolls

Caramel Flan

Want to Try

Pad Thai

Pollo Enchipotlado

Buffalo Chicken Chili

Conor’s Irish Boxty

vegetarian hash with eggs

General’s Cauliflower


Baked French Toast

Vege Mexican Rice and Beans Casserole

Chicken Tamale Casserole



Chapter 100


This Site

runs on deno

curl -fsSL https://deno.land/x/install/install.sh | sh

relearner theme




  • browser - fine, same thing
  • standalone - bugged on ff, crashes and no back button
  • minimal-ui - bugged on ff, crashes and no back button
  • fullscreen - don’t want, no back



Hugo and Obidian together

js plugin for vault