How do you combat being overwhelmed by choice? is somewhat relevant. I particularly like this comment which talks about delaying the decision to see if it still makes sense.
: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.
This got me thinking about how tweaking my config fits in with other things I want to do–how I choose what to hack on and for how long.
Choosing what to hack on - 2024-01-16-01
When it comes to computer work, I can usually choose what to do.
Idea -> Test
XKCD on automation: time to automate vs frequency x time saved
I focus more on what I'll enjoy (both the destination and the journey)
Sometimes when I chat with other people about automation, this XKCD chart about Is It Worth the Time? comes up.
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.
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.
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-02my-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-08my_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-27defun-open
: I wanted to sometimes be able to
keep the function definition expanded. 2023-09-12emacsconf-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-12defvar
: 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: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-07context
: 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-11my-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!)
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.
How can I get even better at this?
C-u
with C-c j
(my binding for
org-clock-goto
) to jump to a recently-clocked
task.elisp-demos
to add more examples to
functions can help me look up things I
frequently use but don't remember.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.
At the moment, she likes Eyecraftmc and J Perm.
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.
Right now I put 12 days on one A5.
Still working on shaping the day/week more proactively. A+ likes to take the lead, so maybe it's more like strewing.
Moments: https://sketches.sachachua.com/tags/moment
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.
Here are older ones.
2023-12-25-07
Flow of ideas
What can I learn from thinking about the flow rate?
input > output, and that's okay
Parts:
Thoughts:
The heap:
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:
Wow, 2013 to 2023 brought a lot of big changes to my life.
Life in my thirties
Big changes:
Looking ahead to my forties:
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?
What was a little challenging?
Choosing virtual school again next year. I hope it works out just as well!
Garden notes as we wrap up spring
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.
The garden is doing its thing!
]]>Changing relationships, losing people: Throughout the years, I'll need to deal with the loss of people close to me, whether it's because of natural development (like A+ going off and living her own life), changing situations (drifting in and out of playgroups based on her interests), or old age and death. I can prepare for that by making the most of the time I do have with people, learning more life skills, staying engaged, and laying the groundwork for more relationships that might turn into old friendships.
It's a little complicated because I think I'll continue to be cautious about spending a lot of time indoors around other people. Fortunately, there are a lot of outdoor socialization opportunities. Eventually, when A+'s off and doesn't want her mom hanging around when she's out with her friends, I can join some of the walking clubs out of the nearby park.
I like the Emacs community, and I'm looking forward to maturing into some sort of community grandmother. I imagine it'll be mostly about oohing and aahing over people's cool projects and suggesting that they go talk to so-and-so who was curious about something similar.
Brain fog, slower processing: I got a sneak preview of this during the early years of parenting, and I still have many days where I either feel slower or I don't have lots of focused time. I think dealing with this is about being kind to myself (since there's no point in wasting even more energy on beating myself up), managing my expectations, and managing my tasks so that when I do have some focused time, I can do whatever I needed to do at the time that it's good to do it.
I've gotten a lot of use out of speed-reading, but in case that slows down, I can also get a lot from reading more slowly. I can take more sketchnotes and try to make more connections to other things I know.
Summarization seems to be one of the things that current natural language processing systems are getting pretty good at, so that might also be useful.
Inattention: I occasionally get brain hiccups, and stress or low sleep makes it worse. Slowing down and not rushing helps. Processes, checklists, and repeating TODOs helps. Organizing our physical space so that there's a home for things helps when I'm on autopilot, although I still get attentional blips and put things in the wrong place. Keeping an oops fund helps.
Cubing might be a way for me to track this. Sometimes I make a mistake and my solve time goes way up, so that's a way to check how often my attention wanders when I mean to be paying attention.
I'll also keep assistive technology in mind, since there are all sorts of interesting ways tech might be able to help with age-related cognitive or physical decline.
Going to happen anyway, if all goes well. Might as well have fun!
]]>