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.
Is it the Emacs lifecycle that you tweak your
config for few months and then you live off of fat
of the land for >4 years? My Emacs config is a
Org-tangle spaghetti that I touch only if I want
to set some more sane config variable.
I realized that this isn't quite how I consider
things. I'm lucky in that when it comes to
computer things, I get to choose most of the
things I spend my time on. My consulting clients
have very long wishlists that I pick from based on
interests and priority, and I play with Emacs for
fun.
Because I enjoy tinkering around with Emacs, I
often build a little Emacs hacking into my tasks.
15 or 20 minutes of exploring an idea can make
it even more fun to do the actual task it's
supposed to help with because then I want to test
it out. Then after the task is done, I get to
write about it. It's like making a little task
sandwich with really nice bread. This is also a
little related to sharpening the saw, which is pretty fun in Emacs. (Vim people
do it too!)
These little changes add up over time, making
things even more enjoyable. It's a little like the
way desire paths show where people actually walk
between buildings and give a sense of how much
they are used, or how rivers smooth down the edges
of stones. The easier I make something, the more
likely I am to do it, and the more I'll get to
enjoy the results of my code. It's a little like
the Igors described in this essay.
When I think about something I might tweak about
my Emacs configuration, I usually consider the
following:
I like looking for ways to reduce manual work or looking-up.
I tend to have a hard time with tedious, repetitive tasks.
I also keep an eye out for things I've been meaning to learn.
2. What's the smallest step I can take? What can I fit in 15-30 minutes?
Small steps make it easy to squeeze in things here
and there. I know my brain's going to suggest half
a dozen things along the way, so it helps to start
as small as possible and capture most of the other
things in my inbox for later. That way, I can get
to experience the benefits right away without
feeling lost.
Another advantage of picking really small tasks
and using Org Mode to capture the rest of the
ideas is that I can try to avoid the Ovsiankina
effect.1 I spend most of my
day taking care of our 7-year-old, so I squeeze in
my focused-time tasks early in the morning before
she wakes up. Sometimes I have little
opportunities to work on things throughout the
day, like when she wants to read a book or watch a
video. She might do that for 15-30 minutes before
wanting to connect again. If I pick the
wrong-sized task or I don't dump enough rough
notes into my inbox so that I can get the open
loops out of my head and trust that I can pick
things up again, the unfinished part pulls on my
brain and makes it harder to enjoy time with her.
Then I get tempted to let her binge-watch
Minecraft or Rubik's cube videos2 so that I can
finish a thought, which doesn't quite feel like
good parenting.
Lastly, I don't usually understand enough about my
needs to build something complex from the start.
Trying things out helps me discover more about
what's possible and what I want.
3. What's nearby?
Thanks to Emacs's amazing community, there are
usually relevant functions or packages that I can
borrow code from. I mostly have a sense of things
from the blog posts and forum threads that cross
my radar because of Emacs News, and I should
probably get used to skimming the descriptions in
the "New packages" list because that can help me
find even more things.
When coming up with possible approaches, I also
sometimes think about other related ideas I've had
before. Filing those ideas into the appropriate
subtrees in my Org files sometimes helps me come
across them again. If I can take a small step that
also gets me closer to one of those ideas, that's
handy.
I also like to think about next steps and
possibilities. For example, even if I spend an
hour or two learning more about data visualization
with Org Mode and plotting, that's something I
can use for other things someday. This works
pretty well with keeping things small, too, since
small parts can be combined in surprisingly
interesting ways.
Let me try to trace through a web of related
features so I can give you a sense of how this all
works in teeny tiny steps.
If you view this on my blog with Javascript enabled, the SVG should stick to the top of the browser window and get highlighted as you go through the different sections.
defun: I often wanted to write about a
specific function, so I wrote some code to find
the function definition and copy it into my
export post hidden inside a details tag with
the first line of the docstring as the summary.
2023-01-02
my-include:...?from-regexp=...&to-regexp...:
Sometimes I wanted to write about longer pieces
of code. I wanted to include code without
repeating myself. The regular #+INCLUDE can
handle line numbers or headings, but neither of
them worked for the Elisp files I referred to
since the line numbers kept changing as I edited
the code above it and it wasn't an Org Mode
file. I made my own custom link so I could
specify a start and end regexp. 2023-01-08
my_details: I wanted to put the code in a
details element so that it could be
collapsible. I made an org-special-blocks
template for it. special-blocks
:summary: For Org source blocks, I wanted to
be able to do that kind of collapsible block by
just adding a :summary attribute. 2023-01-27
defun-open: I wanted to sometimes be able to
keep the function definition expanded. 2023-09-12
emacsconf-el: Since I was writing about a lot
of EmacsConf functions in preparation for my
presentation, I wanted a quick way to link to
the files in the web-based repository. 2023-09-12
defvar: Made sense to include variable definitions too.
web links: The emacsconf-el links were so
useful, I wanted to be able to use that type of
link for other projects as well. 2024-01-07
Embark: I
wanted to be able to copy the final URL from a
custom link at point, so I used Embark. 2024-01
QR code: I started livestreaming again, so I
wanted a quick way for viewers to get the URL of
something without waiting for stream notes. 2024-01-10
:comments both: While scanning Reddit to find links for Emacs News, I learned about :comments both and how that includes references to the Babel file that tangled the code. 2024-01-07
context: Now that it was easy to link to the web version of an Emacs Lisp file, I thought it might be fun to be able to automatically include a context link by passing link=1. I also wanted to be able to navigate to the Org source code for a tangled function. 2024-01-11
my-include:...?name=...: I wanted to be able to refer to Org Babel source blocks by name.
In the course of writing this blog post, I learned
how to use URLs in Graphviz, learned how to
include inline HTML for export with
@@html:...@@, used position: sticky, figured
out how to highlight the SVG using JS, used CSS to
make a note that should only show up in RSS feeds,
and submitted a pull request for meme.el that was
merged. And now I want to figure out sidenotes or
at least footnotes that don't assume they're the
only footnotes on the page… This is just how my
brain likes to do things. (Oooh, shiny!)
4. What kinds of notes can I leave for myself or others?
I might take years before revisiting the same
topic, so good notes can pay off a lot. Also, when
I share what I've been working on, sometimes
people e-mail me or comment suggesting other
things that are nearby, which is a lot of fun. The
ideas I come up with are probably too weird to
exactly line up with other people's interests, but
who knows, maybe they're close enough to what
other people work on that they can save people
time or spark more ideas.
Inspired by
Mats Lidell's EmacsConf 2023 talk on writing test
cases, I've been working on writing occasional
tests, too, especially when I'm writing a small,
function to calculate or format something. That's a good way of
sketching out how I want a function to behave so that I can see examples of it when I revisit the code. Tests also mean that if I change things, I don't have to worry too much about breaking important behaviours.
Ideas for next steps
How can I get even better at this?
Popping the stack (untangling interruptions and
ideas): When I let myself get distracted by a
cool sub-idea, I sometimes have a hard time
backing up. I can get back into the habit of
clocking time and practise using my org-capture
template for interrupting task so that I can use
C-u with C-c j (my binding for
org-clock-goto) to jump to a recently-clocked
task.
Braindumps can help me use non-computer time to
flesh out notes for things I'm working on or
ideas for next steps.
If I skim the descriptions of new packages in Emacs News
(maybe even the READMEs instead of just the
one-liners), I'll probably retain a brief sense
of what's out there and what things are called.
Vector search across package descriptions
and function docstrings could be an even more
powerful way to discover things that are close
to something I want to do.
Using elisp-demos to add more examples to
functions can help me look up things I
frequently use but don't remember.
Figuring out more modern IDE features like
refactoring support, on-the-fly error checking,
and code navigation could help me code faster.
So that's how I tinker with Emacs for fun: start
with something that mostly works, keep an eye out
for opportunities to make things better, use
tinkering as a way to make doing things more fun,
look for things that are nearby, and
I used to think this was the Zeigarnik
effect, but it turns out the Zeigarnik effect is
about remembering incomplete tasks versus
completed tasks, while the Ovsiankina effect is
more about intrusive thoughts and wanting to get
back to that incomplete task.
Inspired by Arne Bab (who mentioned being inspired by my sketches)
I've been drawing daily moments since 2023-03-20. Nothing fancy, just
a quick reminder of our day.
I draw while the kiddo watches a bedtime video. Sometimes she suggests
a moment to draw, or flips through the pages and laughs at the
memories.
I also have my text journal (occasionally with photos) and my time
tracker. It doesn't take a lot of time to update them, and I like what
they let me do.
I like this. It makes the path visible. I'm looking forward to seeing
what this is like after years
I used to draw and write monthly reviews. I'd like to get back to
those. They help with the annual reviews, too.
phone: review sketches, jot keywords on phone
computer: draw sketch, braindump, blog
Right now I put 12 days on one A5.
Week? nah, not really needed
More details? longer to review, though. Redirect drawing to monthly notes
Still working on shaping the day/week more proactively. A+ likes to
take the lead, so maybe it's more like strewing.
If you're viewing this on my blog, you might be able to click on the
links below to open them in a viewer and then swipe or use arrow keys
to navigate.
What can I learn from thinking about the flow rate?
input > output, and that's okay
Parts:
idea: agenda/review?
capture: refile to tags
toot: use this more, get stuff out
braindump: use transcripts or outline
sketch: bedtime
post: cut off earlier, can follow up
video: workflow tweaks
Thoughts:
more input is not always better; already plenty, not limiting factor
prioritize, review
overflow: add notes and pass it along, if poss.
can add things later (results, sketches, posts, videos)
manage expectations; minimize commitments
favour small things that flow easily
collect things in a container
tags, outlines
posts, videos
minimize filing, but still find related notes
become more efficient and effective
The heap:
Org dates have been working for time-sensitive/urgent things
Lots of discretionary things get lost in the shuffle
waste info collected but forgotten
half-finished posts that have gone stale
redoing things
late replies to conversations
things that are just in my config - some people still find them, so that's fine
Next: toot more experiment with braindumping, video
I come up with way more ideas than I can work on, and that's okay.
That's good. It means I can always skim the top for interesting
things, and it's fine if things overflow as long as the important
stuff stays in the funnel. I'm experimenting with more ways to keep
things flowing.
I usually come up with lots of ideas and then revisit my priorities to
see if I can figure out 1-3 things I'd like to work on for my next
focused time sessions. These priorities are actually pretty stable for
the most part, but sometimes an idea jumps the queue and that's okay.
There's a loose net of projects/tasks that I'm currently working on
and things I'm currently interested in, so I want to connect ideas and
resources to those if I can. If they aren't connected, or if they're
low-priority and I probably won't get to them any time soon, it can
make a lot of sense to add quick notes and pass it along.
For things I want to think about some more, my audio braindumping
workflow seems to be working out as a way to capture lots of text
even when I'm away from my computer. I also have a bit more time to
sketch while waiting for the kiddo to get ready for bed. I can use the
sketchnotes as outlines to talk through while I braindump, and I can
take my braindumps and distill them into sketches. Then I can take
those and put them into blog posts. Instead of getting tempted to add
more and more to a blog post (just one more idea, really!), I can try
wrapping up earlier since I can always add a follow-up post. For some
things, making a video might be worthwhile, so smoothing out my
workflow for creating a video could be useful. I don't want to spend a
lot of time filing but I still want to be able to find related notes,
so automatically refiling based on tags (or possibly suggesting refile
targets based on vector similarity?) might help me shift things out of
my inbox.
I'm generally not bothered by the waste of coming up with ideas that I
don't get around to, since it's more like daydreaming or fun. I
sometimes get a little frustrated when I want to find an interesting
resource I remember coming across some time ago and I can't find it
with the words I'm looking for. Building more of a habit of capturing
interesting resources in my Org files and using my own words in the
notes will help while I wait for personal search engines to get
better. I'm a little slow when it comes to e-mails because I tend to
wait until I'm at my computer–and then when I'm at my computer, I
prefer to tinker or write. I occasionally redo things because I didn't
have notes from the previous solution or I couldn't find my notes.
That's fine too. I can get better at taking notes and finding them.
So I think some next steps for me are:
Post more toots on @sachac@emacs.ch; might be useful as a firehose for ideas. Share them back to my Org file so I have a link to the discussion (if any). Could be a quick way to see if anyone already knows of related packages/code or if anyone might have the same itch.
See if I can improve my braindumping/sketch workflow so that I can flesh out more ideas
Tweak my video process gradually so that I can include more screenshots and maybe eventually longer explanations
10 years ago, I wrote that I was on the threshold of even more changes
and two wildly different paths, and that I was looking forward to
learning, sharing, and scaling. Here's how that worked out:
Learning: I've been learning a ton about myself, life, and the
people and resources around us, and skills that make our lives
better. Drawing my thoughts out has been really helpful for
untangling them. I haven't focused on tech as much, but sometimes I
make little improvements here and there so that I can make the most
of my limited screentime.
Sharing: Parenting's been keeping me too busy to create lots of
focused resources. I'm not too worried about this, though, since
lots of other people are making cool stuff for Emacs.
Scaling: Emacs News has been a really time-efficient way for me to
help out with the Emacs community, and all the automation I've built
around EmacsConf lets me squeeze it into the time I have. For
consulting, I've been able to help other people learn by answering
quick questions, and I continue to have fun making the client's
crazy ideas happen.
Wow, 2013 to 2023 brought a lot of big changes to my life.
I approached or hit my limits more than I used to, but that's part of what I signed up for, and it's a good opportunity to learn and grow.
Next: more patience, empathy, curiosity, and love
I have a deeper appreciation of W- and the people and resources available.
Next: use the inspiration to keep growing
COVID-19:
I have a deeper appreciation of W- and the people and resources available.
Consulting:
I have fun creatively solving challenges
Next: scale up by helping others learn
Emacs News, EmacsConf:
I found ways to help out even with the constraints on my attention. The Emacs community is thriving, and I enjoy being part of it.
Next: tinker & share more
Hobbies:
I'm more comfortable making things, growing things, preserving things.
Next: learn more skills, practise, organize
Looking ahead to my forties:
Parenting: From 7 years old to 17 years old is a ton of growth! This is the payoff from the last decade's setup, and the setup for decades to come.
As A+ becomes more independent, I'll have more time and energy for my own things. I want to work on the interests I share with W- as well as my own stuff: cooking, gardening, sewing, crafting, …
30 (2013-14): lots of drawing & writing, Hacklab, Emacs Chats, Google Helpouts, Frugal FIRE, self-publishing, trip to PH
31: slow days, helped with new Hacklab, high-profile consulting project, sewing, laser cutter, Canadian citizenship
32: library hackathon, A+! Sleep disruption, microphthalmia, lots of appointments, Emacs News, basement tiles, sewing for A+
33: House projects, Royal Ontario Museum, conformer, lost shell, walking & talking, Learning Tower, cooking, Healthy Babies Healthy Children, trip to PH, de Quervain's
34: Checking off medical questions, music, my dad died, dental surgery for A+, little books, city resources for kids, lots of trips to PH, babysitter experiments, bike trailer
35 (2018-19): Why? more books, journal, Planet Emacslife, more consulting during the day, playdates, EarlyON, NL, PH, cousins
38: cubing, Cinderella dress, pressure canning, glasses for A+, outside, house tweaks, skating, cursive, COVID vax, SuperNote, friend group, playdates, lemonade stand
39: EmacsConf streaming, being outside, virtual grade 1, homework, learning to trust A+, semi-unschool, more cubing, swimming, Minecraft
Parenting will probably take up most of my forties. I think the
biggest thing I need to practice is calm, appreciative curiosity: not
letting my worries or reactions or shoulds get in the way of being
present, enjoying what's there, and helping figure things out
together. It's tough, but it's what I signed up for, and that skill
will also come in handy as I learn to deal with aging and world
weirdness.
It's been a good ten years. Looking forward to seeing what we can make
of the next ten.
We're close to the end of the school year. We chose
virtual school again this year, and we applied for a full
exemption from synchronous learning. At completed the
required homework on time and occasionally participated
in class. The teachers were okay with this setup.
What worked well?
A+ generally did the homework quickly, giving her plenty of time for self-directed learning and outdoor playdates. Most teachers posted detailed instructions and resources.
It was extra nice when she took the initiative to do her homework.
I liked knowing what they were learning about in class, and following along with the homework.
A+ likes to read at night. Working asynchronously. meant that we could usually have laid-back mornings.
What was a little challenging?
Sometimes A+ was too tired after playdates, and homework was hard to get through. Sometimes she resisted doing homework with me. She always managed to do it, though. W- helped.
Sometimes I got a bit antsy about what we were missing out on, choosing to not do, or not doing as well as some of her classmates (Comparison is the thief of joy.)
Sometimes big feelings were hard to deal with.
Choosing virtual school again next year. I hope it works out just as well!
Radishes grew well in the front garden, and sprinkled everywhere: Sparkler White Tip, French Breakfast. Plant 1" deep so it doesn't
pop up? Loosen with chopstick?
Daikon & bok choy bolted in pots on patio stones. Choy did better in the terracotta pots with the tomatoes
Wait for ≥10°C to set out bitter melon and tomatoes, or to sow cucumbers.
Lettuce grew well in the white planter boxes. Sow thickly.
The dianthus and daffodils came back, yay!
We can get buckets from restaurants setting them out.
The potatoes are are growing really well in the large grow bag with straw mulch: Innovator.
Hostas, lambsquarters, and wood sorrel are edible.
Pick leaves at the first sign of trouble. Squish insects. Keep a close eye on tomatoes and potatoes for aphids; radish sprouts for leaf miners. Try the sticky traps.
We were able to do a lot with seeds + a few starts. Try pansies?
Potting mix might be reusable. Add nutrients and structure. (Perlite?)
Putting fruit and veg scraps in a bucket of water has been fine.
Marigolds and calendula survived splitting.
7-8 AM is a good time for me to garden. Also, I can move the strawberries at lunch and after dinner.
Let's see if 19 bitter melon plants are too many… ;) (up from 3 last year)
Might put strawberries in front garden when done. That gets more sun and warms up faster.
Let's try peas, daikon, choy, radishes, lettuce, spinach as fall crop.
Sprouts are great for feeling progress. Yum! I like eating alfalfa and mung bean sprouts.
I've been turning the compost every few days, incorporating fruit/veg
scraps and cardboard/paper in the process. The compost heap was around
82'F on June 7. It reached 94'F on June 14 after I added a bunch of
browns from the dried leaves in the other bin, and 100'F on June 24
after W- added the slightly-decomposed maple seeds he got when he
cleared out the eavestroughs. Today it reached 110'F. I could feel the
heat coming off it as I turned it. I wonder if I can get the pile to
steam like it did in 2011. I think I can still add some new material
to the middle of the pile when I turn it.
I've been working on learning more about gardening. This year, I'm
experimenting with watching the garden carefully and plucking off
leaves that look bad: powdery mildew, lots of flea beetle holes,
leafminer activity, etc. I keep those leaves out of our compost. I've
also been squishing lots of aphids and a few slugs.
I'm also learning about the different plants that tend to crop up, and
which ones are edible. I've been sauteing lambsquarters along with our
radish greens. Today I noticed some purslane. I haven't tried the wood
sorrel or the clover. Maybe next year. I ate some hosta shoots when
they emerged, and maybe I'll try the flowers soon. The daylilies are
about to bloom. I wonder if I'm brave enough to try them.
Summer has just started. The tomatoes and the bitter melons are beginning to set fruit. I'll probably need to move the tomatoes into the cage at some point, since there are squirrels and raccoons who like to drop by.
The radishes are flowering. I'll either saute them soon or try eating
the seed pods of any I've missed.
Lots of flowers are coming up, although part of the front garden
didn't end up as flowery as I had hoped. Might need more nutrients.
That's okay, I can probably put other plants in there along with some of the compost.
I have some plants I'm taking care of inside, and it might be good to see if I can get some lettuce going inside as well.