Categories: parenting

RSS - Atom - Subscribe via email

Embracing the shallows

| parenting, productivity

[2024-10-30 Wed]: Added more notes from my experiment with semi-retirement.

I'm sitting in the same room as A+ as she attends virtual grade 3. She uses the computer speakers instead of her headphones. I feel there's a part of my mind that I can't access with stuff going on in the background, but I don't mind so much. Listening in is a good way for me to keep up with what she's learning in class. (Sometimes there are moments of unexpected hilarity.) I used to go off to a different room, but A+ likes to have me around. Might be like the body doubling that many people find helpful. In a little less than an hour, we'll have recess, so that's another constraint on how deeply I can get into a task or an idea.

Right now I feel like writing about a thought that I've been picking up and putting down over the past few days/years: embracing the shallowness of my attention at the moment.

The shallows aren't bad; they're just part of life

Most of the books I've read about productivity or writing treat distraction as a bad thing. Juxtaposing The Shallows: What the Internet Is Doing to Our Brains (Nicholas Carr), Deep Work: Rules for Focused Success in a Distracted World (Cal Newport), and Four Thousand Weeks: Time Management for Mortals (Oliver Burkeman), I find myself leaning more towards Burkeman's acceptance of limits and lack of control. I'd rather figure out how to embrace these shallows than to write off large portions of my life: parenting a young child with all the attendant interruptions (which I am learning to welcome) and preparing for eventual old age. I'd rather be here so that the kiddo can send me notes by post owl (paper airplane) than go behind a door that I can shut. I love that she wants to show me book passages that she found funny and that she wants to ask me what-if questions about Harry Potter and that she wants to snuggle.

The people I hear from reassure me that this splitting my attention because of parenting is okay; it's because I'm choosing something that's higher priority for me at the moment; it's temporary; it's worthwhile. As the kiddo often reminds me (because I often say it out loud to her, with love and affirmation): I signed up for this, I only get so many years of this.

If we're lucky, we get old. Some don't. Some people stay sharp, like the way Leslie Lamport's still writing in his 80s. (Writings) My mom struggles with energy and forgetfulness and physical decline, so that might be closer to my experience; I can be pleasantly surprised otherwise.

Things I've been learning about the shallows over time

Things I can do in the shallows

So, accepting that this is what I've got, what do I want to do with it?

I can take it all in. It's okay to just be.

When I want to do things, there are plenty of things I can do from here.

One of the things I've learned while doing Emacs News is that even things I can do in the shallows can be useful. Organizing information and passing it along does not require deep reflection or a quiet mind.

I can read in short bursts here and there, take notes, and share them. How to Take Smart Notes (Sönke Ahrens; my notes) reassures me that I can take short notes as I read, and those notes can build up into something useful.

Most of my Emacs tweaks are short. They also accumulate. More things become easier and easier.

I've been tweaking my drawing workflow to be comfortable with parts of pages instead of feeling like I need to fill in the whole thing. I used to draw on a Nintendo DS, index cards, and a Samsung Note 8. A small canvas makes it easier to feel like a thought is complete, but I can do the same even with the A5 size of my Supernote. I just have to give myself permission to stop.

Now I am learning to write small thoughts. They aren't amazing insights, but they're enough for me, and sometimes they resonate with other people.

Tweaking my idea flow

I wonder about the different kinds of shallows I find myself in:

  • I can be on my computer; there's stuff going on in the background; I might be interrupted, and I'll need to wind up soon anyway
    • Writing: could get better at:
      • Collecting links and resources
      • Listing thoughts for further development, collecting snippets
    • Coding: could get better at:
      • Keeping it small
      • Adding tests
      • Sharing notes
      • Checking for previous implementations or related stuff
    • Correspondence: could get better at:
      • Keeping track of things
  • I can draw.
    • Untangle my thoughts: pretty easy to think of a question to ask myself; try using my tosketch tag
    • Read a book and take a few more notes
      • Maybe share more granular notes?
  • I can read or write on my phone while I'm waiting for someone.
    • Tends to be dominated by current questions; could get better at reviewing things that I've added to my to-read list.
  • I can talk out loud because I'm doing a chore or errand by myself and no one else is around. Audio braindump workflow - could get better at:
    • Quickly reviewing a list of questions (:todump: tag)
    • Getting ideas of out of the transcripts
  • I can listen to something while I do chores or errands. Could get better at:
    • Skipping podcast episodes I'm not that interested in
    • Finding podcasts I like
    • Making and storing notes
  • I can't be on my phone, but I can think about things.
    • Nice to have a background question I can return to in those moments, and then I can capture a note or post a toot that I can flesh out eventually.

Related: My toot on 2024-10-30T00:24:48.668Z about the shallows

View org source for this post

Niklas Luhmann's Zettelkasten and life with kids

| parenting, pkm

I was curious about this passage from How to Take Smart Notes by Sönke Ahrens:

[Niklas] Luhmann's only real help was a housekeeper who cooked for him and his children during the week, not that extraordinary considering he had to raise three children on his own after his wife died early. Five warm meals a week of course do not explain the production of roughly 60 influential books and countless articles.

As I am still figuring out how to fit my thoughts around my 8-year-old's desire for my attention (wonderful, time-limited opportunity that it is), I wanted to understand more about what that domestic situation might have been like.

It took a bit of digging, but eventually I found out that Niklas Luhmann (1927-1998) and Ursula von Walter (couldn't find her birth year; I think she died in 1977, although some pages report 1971) had three children:

  • Veronika Luhmann-Schröder (1961-)
  • Clemens Luhmann (1963-)
  • Jörg Luhmann (1963-)

which would've made them around 14-16 years (+/- a little, couldn't find months) old when their mother died in 1977. [source]​

So yeah, teenagers, whole 'nother kettle of fish.

The kiddo will be a teenager eventually and I'll miss these days, so I might as well make the most of them. Maybe reading/thinking/writing in small bits can help me still feel like I get to learn things I want to learn about, in addition to all the random Minecraft and Star Wars trivia I've been picking up. I am starting to be able to have a little more time to put together thoughts, so that's encouraging. Trust the process and just keep feeding the slipbox, people say. I hope I can get to it before things scramble my brain even further. We'll see in a few years.

Also, Niklas Luhmann's children ended up fighting for years in court over ownership and copyright,[source]​ particularly over his slipbox. He had transferred all his copyrights to Veronika in 1995 before his death in 1998 (71 years old) and didn't want his intellectual legacy split up, which the courts upheld in 2004.[source]​ It's tough when family fights over money, and even tougher if they're fighting for such a long time in the courts.

Anyway, still looking for more figures to learn from. Among other thoughts in the Art of Manliness podcast on treating your to-do list as a river, Oliver Burkeman pokes a little fun at the YouTube productivity influencer culture: "So much of that is dominated by young men who are still a few years away from having kids and telling you how to exactly nail your morning." He goes on to say that it's nice to have maybe 3 or 4 hours of focused time, but you shouldn't strive to be walled off and completely uninterruptible. It's good to be able to go with the flow. In A Room of One's Own, Virginia Woolf wrote about the challenges of chasing a fleeting idea, and the necessity for women to have your own money and a room with a lock on the door. Good Mom on Paper: Writers on Motherhood and Creativity felt mostly like people stretched almost to the point of breaking, but still managing to (mostly) survive thanks to the people around them.

I appreciate the homeschooling group we often hang out with. It's nice to know other people grappling with similar challenges.

I'm lucky that my thinking activities are discretionary. Neither food nor shelter depends on my being able to write code or think thoughts at this particular moment. I'm learning to go with the flow. I draft this as the kiddo is presumably sleeping in the other room. She had sent me off earlier with, "I think I'll try sleeping on my own tonight."

View org source for this post

Playing sungka with the kiddo

| life, parenting, fun
20240901_Page_21.png
Figure 1: my drawing of a sungka board

I've been really enjoying playing sungka with my eight-year-old daughter. We've been playing it for a number of years now. Usually she likes to start out with one shell in each cup and working our way up to seven shells in each cup over a series of rounds.

Over the last week, she's gotten a lot better at playing. In the past, she used to make her moves fairly randomly, and she liked having the advantage of starting off with a few extra shells in her home. Now she doesn't need that starting point, and she's beginning to plan ahead. She counts the shells to predict where she's going to end up. She recognizes common patterns like clearing out the cups closest to her home. She loves moving shells out of the way so that she can make a very large capture, cupped hands full of shells.

Sungka has taken over as her current hyperfocus. It's the game she asks to play with me when her virtual school is on a recess break. I enjoy playing with her. Even when I'm losing, I enjoy watching her become more dextrous as she drops the shells in one at a time, and I like watching her plan ahead.

I played sungka a lot when I was a kid around her age. I think the school had some sungka boards that people could borrow after class, and I played with the other kids until it was time to go home. I don't know if this is a game that I can bring to the playground. It'll probably be a challenge with sand and kids and lots of small pieces. I think this will just be a game for home and for us, but it's wonderful that I get to share it with her.

View org source for this post

Updating my Minecraft command book using Emacs, TRAMP, and mcf.el

| minecraft, play, emacs

I wanted to see what else people have done in terms of combining Minecraft and Emacs. It turns out that you can control Minecraft from Emacs via mcf if you set enable-rcon=true in your server.properties (also a good idea to set rcon.password) and you configure variables like mcf-rcon-password on the Emacs side. It needed a little tweaking to get it to connect to a remote server, so I've submitted a pull request. Anyway, since Emacs can talk to Minecraft and I can write sequences of Minecraft commands as functions, I thought about turning my Minecraft command books into something that I could update right from Emacs.

Creating my own datapack was pretty straightforward once I figured out the directory structure. I needed to put functions in <world-name>/datapacks/sachac/data/sachac/functions. Inside <world-name>/datapacks/sachac, I created pack.mcmeta with the following contents:

{
    "pack": {
        "pack_format": 10,
        "description": "sachac's tweaks"
    }
}

Inside <world-name>/datapacks/sachac/data/sachac/functions, I created a command_book.mcfunction file with the command to give me the book. I updated my command book function to remove the / from the beginning.

I used /reload to reload my Minecraft configuration and /datapack list to confirm that my datapack was loaded. Then /function sachac:command_book ran the function to give me the command book, so that all worked out. I replaced the command in the command block with the function call.

The next step was to update it directly from Emacs, including reloading. First, I needed a function to give me the filename of a function file.

(defun my-minecraft-datapack-function-file-name (world datapack-name function-name)
  "Return the filename for a mcfunction file given WORLD, DATAPACK-NAME, and FUNCTION-NAME."
  (seq-reduce
   (lambda (path subdir) (expand-file-name subdir path))
   (list "datapacks"
         datapack-name
         "data"
         datapack-name
         "functions"
         (concat function-name ".mcfunction"))
   world))

I used C-c C-x p (org-set-property) to add a WORLD property to my Org subtree. For example, my snapshot world is at /ssh:desktop:~/.minecraft/saves/Snapshot. Then I can get the correct value within the subtree by using org-entry-get-with-inheritance. This is how I wrote the command book function for my snapshot world:

#+begin_src emacs-lisp :var body=mc-snapshot :var team=mc-team :var quick=mc-quick :var effects=mc-effects :var items=mc-items :results silent
(with-temp-file
    (my-minecraft-datapack-function-file-name
     (org-entry-get-with-inheritance "WORLD")
     "sachac"
     "command_book")
  (insert (my-minecraft-book "Commands 8.5" "Mom" (append team quick body effects items))))
(mcf-eval "reload")
#+end_src

So now I can use C-c C-c to execute the Emacs Lisp block and have my Minecraft world updated. Then I just need to right-click on my command block's button or run the function in order to get the new version.

I'm looking forward to learning more about mcfunctions so that I can write a function that automatically replaces the book in everyone's inventories. Could be fun.

Using Org Mode tables and Emacs Lisp to create Minecraft Java JSON command books

| minecraft, org, emacs, play
  • [2023-04-12 Wed]: Remove / from the beginning so that I can use this in a function. Split book function into JSON and command. Updated effects to hide particles.
  • [2023-04-10 Mon]: Separated trident into channeling and riptide.

A+ likes playing recent Minecraft snapshots because of the new features. The modding systems haven't been updated for the snaphots yet, so we couldn't use mods like JourneyMap to teleport around. I didn't want to be the keeper of coordinates and be in charge of teleporting people to various places.

It turns out that you can make clickable books using JSON. I used the Minecraft book editor to make a prototype book and figure out the syntax. Then I used a command block to give it to myself in order to work around the length limits on commands in chat. A+ loved being able to carry around a book that could teleport her to either of us or to specified places, change the time of day, clear the weather, and change game mode. That also meant that I no longer had to type all the commands to give her water breathing, night vision, or slow falling, or give her whatever tools she forgot to pack before she headed out. It was so handy, W- and I got our own copies too.

Manually creating the clickable targets was annoying, especially since we wanted the book to have slightly different content depending on the instance we were in. I wanted to be able to specify the contents using Org Mode tables and generate the JSON for the book using Emacs.

Here's a screenshot:

2023-04-09_10-09-48.png
Figure 1: Screenshot of command book

This is the code to make it:

(defun my-minecraft-remove-markup (s)
  (if (string-match "^[=~]\\(.+?\\)[=~]$" s)
      (match-string 1 s)
    s))

(defun my-minecraft-book-json (title author book)
  "Generate the JSON for TITLE AUTHOR BOOK.
BOOK should be a list of lists of the form (text click-command color)."
  (json-encode
   `((pages . 
            ,(apply 'vector
                    (mapcar
                     (lambda (page)
                       (json-encode
                        (apply 'vector 
                               (seq-mapcat
                                (lambda (command)
                                  (let ((text (my-minecraft-remove-markup (or (elt command 0) "")))
                                        (click (my-minecraft-remove-markup (or (elt command 1) "")))
                                        (color (or (elt command 2) "")))
                                    (unless (or (string-match "^<.*>$" text)
                                                (string-match "^<.*>$" click)
                                                (string-match "^<.*>$" color))
                                      (list
                                       (append
                                        (list (cons 'text text))
                                        (unless (string= click "")
                                          `((clickEvent 
                                             (action . "run_command")
                                             (value . ,(concat "/" click)))))                                    
                                        (unless (string= color "")
                                          (list (cons 'color
                                                      color))))
                                       (if (string= color "")
                                           '((text . "\n"))
                                         '((text . "\n")
                                           (color . "reset")))))))
                                page))))
                     (seq-partition book 14)
                     )))
     (author . ,author)
     (title . ,title))))

(defun my-minecraft-book (title author book)
  "Generate a command to put into a command block in order to get a book.
Label it with TITLE and AUTHOR.
BOOK should be a list of lists of the form (text click-command color).
Copy the command text to the kill ring for pasting into a command block."
  (let ((s (concat "item replace entity @p weapon.mainhand with written_book"
                   (my-minecraft-book-json title author book))))
    (kill-new s)
    s))

With this code, I can generate a simple book like this:

(my-minecraft-book "Simple book" "sachac"
                   '(("Daytime" "set time 0800")
                     ("Creative" "gamemode creative" "#0000cd")))
item replace entity @p weapon.mainhand with written_book{"pages":["[{\"text\":\"Daytime\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/set time 0800\"}},{\"text\":\"\\n\"},{\"text\":\"Creative\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamemode creative\"},\"color\":\"#0000cd\"},{\"text\":\"\\n\",\"color\":\"reset\"}]"],"author":"sachac","title":"Simple book"}

To place it in the world:

  1. I changed my server.properties to set enable-command-block=true.
  2. In the game, I used /gamemode creative to switch to creative mode.
  3. I used /give @p minecraft:command_block to give myself a command block.
  4. I right-clicked an empty place to set the block there.
  5. I right-clicked on the command block and pasted in the command.
  6. I added a button.

Then I clicked on the button and it replaced whatever I was holding with the book. I used item replace instead of give so that it's easy to replace old versions.

On the Org Mode side, it's much nicer to specify commands in a named table. For example, if I name the following table with #+name: mc-quick, I can refer to it with :var quick=mc-quick in the Emacs Lisp source block. (You can check the Org source for this post if that makes it easier to understand.)

Daytime time set 0800  
Clear weather weather clear  
Creative gamemode creative #0000cd
Survival gamemode survival #ff4500
Spectator gamemode spectator #228b22
(my-minecraft-book "Book from table" "sachac" quick)
item replace entity @p weapon.mainhand with written_book{"pages":["[{\"text\":\"Daytime\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/time set 0800\"}},{\"text\":\"\\n\"},{\"text\":\"Clear weather\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/weather clear\"}},{\"text\":\"\\n\"},{\"text\":\"Creative\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamemode creative\"},\"color\":\"#0000cd\"},{\"text\":\"\\n\",\"color\":\"reset\"},{\"text\":\"Survival\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamemode survival\"},\"color\":\"#ff4500\"},{\"text\":\"\\n\",\"color\":\"reset\"},{\"text\":\"Spectator\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamemode spectator\"},\"color\":\"#228b22\"},{\"text\":\"\\n\",\"color\":\"reset\"}]"],"author":"sachac","title":"Book from table"}

Then I can define several named tables and append them together. Here's one for different effects:

Water breathing effect give @p minecraft:water_breathing infinite 255 true  
Night vision effect give @p minecraft:night_vision infinite 255 true  
Regeneration effect give @p minecraft:regeneration infinite 255 true  
Haste effect give @p minecraft:haste infinite 2 true  
Health boost effect give @p minecraft:health_boost infinite 255 true  
Slow falling effect give @p minecraft:slow_falling infinite 255 true  
Fire resist effect give @p minecraft:fire_resistance infinite 255 true  
Resistance effect give @p minecraft:resistance infinite 255 true  
Clear effects effect clear @p  

Some commands are pretty long. Specifying a width like <20> in the first row lets me use C-c TAB to toggle width.

Pickaxe give @p minecraft:diamond_pickaxe{Enchantments:[{id:"minecraft:fortune",lvl:4s},{id:"minecraft:mending",lvl:1s},{id:"minecraft:efficiency",lvl:4s}]}  
Silk touch pickaxe give @p minecraft:diamond_pickaxe{Enchantments:[{id:"minecraft:silk_touch",lvl:1s},{id:"minecraft:mending",lvl:1s}]}  
Sword give @p minecraft:diamond_sword{Enchantments:[{id:"minecraft:looting",lvl:4s},{id:"minecraft:mending",lvl:1s}]}  
Axe give @p minecraft:diamond_axe{Enchantments:[{id:"minecraft:looting",lvl:4s},{id:"minecraft:mending",lvl:1s}]}  
Shovel give @p minecraft:diamond_shovel{Enchantments:[{id:"minecraft:fortune",lvl:4s},{id:"minecraft:mending",lvl:1s},{id:"minecraft:efficiency",lvl:4s}]}  
Bow give @p minecraft:bow{Enchantments:[{id:"minecraft:infinity",lvl:1s},{id:"minecraft:mending",lvl:1s}]}  
Arrows give @p minecraft:arrow 64  
Torches give @p minecraft:torch 64  
Fishing give @p minecraft:fishing_rod{Enchantments:[{id:"minecraft:lure",lvl:4s},{id:"minecraft:luck_of_the_sea",lvl:4s},{id:"minecraft:mending",lvl:1s}]}  
Riptide trident give @p minecraft:trident{Enchantments:[{id:"minecraft:loyalty",lvl:4s},{id:"minecraft:mending",lvl:1s},{id:"minecraft:riptide",lvl:4s}]}  
Channeling trident give @p minecraft:trident{Enchantments:[{id:"minecraft:loyalty",lvl:4s},{id:"minecraft:mending",lvl:1s},{id:"minecraft:channeling",lvl:1s}]}  
Weather rain weather rain  
Weather thunder weather thunder  
Birch signs give @p minecraft:birch_sign 16  
Bucket of water give @p minecraft:water_bucket  
Bucket of milk give @p minecraft:milk_bucket  
Bucket of lava give @p minecraft:lava_bucket  
Water bottles give @p minecraft:potion{Potion:"minecraft:water"} 3  
Blaze powder give @p minecraft:blaze_powder 16  
Brewing stand give @p minecraft:brewing_stand  
Magma cream give @p minecraft:magma_cream  

Here's what that table looks like in Org Mode:

2023-04-10_09-55-57.png
Figure 2: With column width

Here's how to combine multiple tables:

#+begin_src emacs-lisp :results silent :var quick=mc-quick :var effects=mc-effects :var items=mc-items :exports code
(my-minecraft-book "Book from multiple tables" "sachac" (append quick effects items))
#+end_src

Now producing instance-specific books is just a matter of including the sections I want, like a table that has coordinates for different bases in that particular instance.

I thought about making an Org link type for click commands and some way of exporting that will convert to JSON and keep the whitespace. That way, I might be able to write longer notes and export them to Minecraft book JSON for in-game references, such as notes on villager blocks or potion ingredients. The table + Emacs Lisp approach is already quite useful for quick shortcuts, though, and it was easy to write. We'll see if we need more fanciness!

View org source for this post

A+ 0, X220 1!

| geek, parenting

We were playing MineClone 2 in the living room, as we often do these evenings. I was tidying up the farm, and A+ was impatiently waiting for me to finish because she wanted to pretend to be the village witch and trade some potions for emeralds. She tried to clamber over me to get to the other side, and she tripped on my Lenovo X220T laptop's screen.

The screen glitched solid blue and didn't go back to normal even after I rebooted. Aaaah! Big feelings! I took a few deep breaths. A+ immediately became defensive, blaming me angrily for having the laptop there in the first place. (It was on my lap! I was sitting on the couch!) I took a few more deep breaths. I reminded myself that this is precisely the reason I have an "oops" fund, and that taking out my frustration on her wouldn't solve the problem. I also reminded myself that I didn't have to freak out about her not apologizing. First things first. I SSHed in and started another backup, took a few more breaths, and thought about things.

So the screen was probably broken. I still had lots of options. I could use it with an external monitor. I could swap the SSD into the other X220T, the one with the slightly broken screen (I had stepped on it during the sleep-deprived days of early parenting) and the wobbly power input that tended to lose contact. When my laptop screen glitched dim in university, that got me to learn more about Emacspeak and I ended up making that the basis for my senior project; perhaps this was another opportunity along those lines.

If it was unrecoverable, I could buy another computer, as I've been meaning to upgrade. Still can't have nice things, obviously, so probably the Lenovo T480 for its upgradability. T480s seem to be selling from between CAD 300-400 in our area. I've been waffling on upgrading my computer for a few years now, so that might be a good option.

It was already quite late at night, and I decided not to spend too much more time on it. Things would be clearer with more sleep and more space.

The next day, W- and A+ gave me enough space in the morning to disassemble the X220T following the service manual, down to the LCD panel and LCD cable. I disconnected and reconnected every component, and then I turned the computer on again. It worked, hooray! And I only had three screws left over. (Whoops! That's what I get for not following the service manual closely on the way back up, and not using lots of labelled containers for sorting the different screws for each steps.)

I'm glad about how it all worked out. I'm glad I didn't lose my cool and that I didn't catastrophize either the accident or A+'s response to it. This was the most I'd disassembled my laptop so far, which was pretty neat especially since I managed to get it working again. And it works, which means I might be able to procrastinate deciding on a new computer for another couple of years.

Hooray for this X220, and for learning how to be a better parent!

Minetest and MineClone 2

| fun, geek, play

A number of A+'s friends play Minecraft, so she got curious about it and started reading lots of e-books. We figured it might be time to let the video game genie out of the bottle since she tends to dive deeply into new interests and learn a lot. I wanted to get her started on Minetest, though, instead of buying one of the Minecraft editions. (Yay free and open source software!)

I installed MineTest, then used the Content tab to install MineClone 2 and the tutorial. I updated the other X220 so that I could run it there too, and we eventually turned it into a server. I went through the tutorial and then I showed it to her. We drew up an agreement to treat it the same as video time (20-minute timers for eye breaks, daily limits, need to be in the green zone). W- connected the other X220 to the TV with a VGA cable, and I used a USB hub to connect two keyboards and two mice to the laptop. A+ completed part of the tutorial. She found it hard to work the keyboard and the mouse while looking at the screen. She liked giving me directions to follow, taking over clicking or crafting whenever she felt comfortable.

We've been playing MineClone for almost a week, and it's starting to feel comfortable. We have a little base with a wheat/carrot farm, a well, and a fishing pond, and we're exploring the world. We might try creative mode in a while.

It looks like A+'s mostly curious about mobs, farming, ores, and flying around. She loves noticing things to explore and new recipes to craft. W- sometimes joins us, which is extra fun and helpful.

Minetest gives me opportunities to learn useful things, too. I'm getting better at saying yes to A+ when she wants to craft something, even if I wanted to save the materials for something else. (I should make a MineClone version of the reminder in our kitchen that says "Groceries are tuition for raising a cook.")

I'm still too impatient for the regular process of navigating around and bumping into resources, especially since we're working within 20-minute segments. I flew around with noclip/fast and set up some Travelnet boxes near interesting things, which A+ has liked a lot because now she can teleport independently.

I'm way too chicken to deal with damage, hostile mobs, or even night time at the moment. Since A+ would really like me to go fight the mobs she loves to read about, I'm thinking about how to gradually build up my courage with some kind of exposure therapy. =) I started learning how to modify armor so that I can keep myself mostly protected while leaving damage enabled for anyone who's braver (like W-). Maybe as I get the hang of it, I'll be able to dial down the protection or just let it keep a minimum HP level.

Lots of learning ahead!