Categories: learning

RSS - Atom - Subscribe via email

Working with the flow of ideas

| metaphor, life, blogging, writing, kaizen

Text from sketch


Flow of ideas

What can I learn from thinking about the flow rate?

input > output, and that's okay


  • 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


  • 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; 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

Revisiting stenography and Twiddling

| learning, steno, twiddler, geek

I've been thinking about what I can learn alongside A+ - something that will be slow to learn but that might be fun to get the hang of. I think it will help me practise patience and develop my empathy with her as she learns fine motor skills too. Maybe I'll even be able to model persistence and self-acceptance.

At home, I practise steno on my Georgi keyboard while she does her homework, learns how to type, or writes stories. It works out pretty well, since I have to sound out words to chord them and I fingerspell slower than she types. I steno the words she wants me to spell for her, and I also steno the instructions on her homework. I steno my journal entries, too. I'd like to someday be able to write blog posts with steno. Not that I'm speed-limited now, but I'm curious about it and it's good to show A+ that I'm learning too. I made a webpage that lets me steno large text into a small textarea on my Android phone using Dotterel, displaying my cheat sheet and steno hints for the last few words using the main typeytype dictionary. That way, I can fingerspell words for A+ and then practise them as she copies the words. I'm also slowly going through The Art of Chording.

I've also dusted off my Twiddler 2 one-handed chording keyboard, since that's something I can do while looking elsewhere. Looking outside makes me feel a little happier in winter. Maybe I'll even figure out how to write while waiting for her outside, perhaps bundling up my hand in a small blanket to keep warm. I mostly remembered how to chord with my right hand using the default layout, but I wanted to experiment with alternative layouts. I started learning a modified Backspice layout, moving some letters around since I can't easily reach 000L with my short pinky. I couldn't download the Twiddler 2.1 configuration tool from the Tekgear website, so I just programmed it interactively.

To practice on the go, I set up Emacspeak in a Debian instance on UserLAnd on my Android phone, with audio output routed using pulseaudio to XServer XSDL via export PULSE_SERVER=tcp: in my UserLAnd ~/.profile. It worked surprisingly well. I could press chords and hear what letter I typed. When I pressed SPC, I heard the word read out. This was enough for me to be able to explore the layout and think of words I want to spell with the letters I've found so far. I've been having a hard time figuring out how to easily get files in and out of UserLAnd aside from scp, though, as the document provider doesn't seem to show up for me.

So I wrote a web-based tool that uses the Javascript Web Speech API to speak each letter as I type it and speak out the word after I press space–basically, the main things that I'd been using Emacspeak for. I also added a little cheat sheet that I could update on the fly, and I can have it read aloud by typing hlp and pressing SPC. I like this more self-directed, exploratory approach to learning the keymap. I press a chord and hear what letter it is, then think of words I want to spell with it and where those letters are. Here it is: twiddler.html (might not work on all browsers - I use it on Chrome on Android)

Based on conversations on Mastodon, I decided to get the Twiddler 3 Wrap + Bluetooth. I wonder if the Twiddler 3 will make it easier for me to reach the far button with my pinky finger, and I'm curious if Bluetooth can still get through however many layers I want to have so that I don't get too cold. I probably won't use the Twiddler to write stuff while ostensibly standing around with the other grown-ups at a playdate. It's good for kids to see grown-ups being friends. But if there's standing-around time while she's off being independent, or if I want to look outside, it might be interesting to use.

A+ sometimes gets frustrated with how slow writing is, or how she gets tripped up by a 3x3 perm she wants to learn. I'm glad I can slow down and learn something along with her.

Reflecting on wasted effort

| kaizen

One way to look for ways to improve is to think about where the waste might be. I wanted to reflect on how I'm currently doing things and where I might be wasting effort.

  • Not noticing an opportunity: There's not noticing that there's an opportunity to improve or not seeing that something that I can do that takes advantages of something I'm already doing.
  • Working on the wrong thing: If I pick something less effective to work on, I waste a little opportunity. Something might be a bad fit if it bumps into my weaknesses or doesn't take advantage of my strengths. Maybe I'm picking the wrong problem to work on, or I'm taking the wrong approach, or I haven't prepared, or I'm working on something that may be high effort and low reward. It's usually not a big deal, but it helps to think a little bit about which tasks can lead to compounding benefits and which are one-offs that don't help as much.
  • Working at the wrong time: I feel a little slower working on something when I'm not in the right mindset or I'm not as interested in it as in other things I could be doing. It's also tough when I don't have enough energy to work on things. It's important to notice when I'm getting into the negative productivity zone, especially when coding. If I pick the wrong time to work on something, I might have to deal with lots of interruptions or distractions.
  • Context-switching: Context-switching is a particularly big challenge for me because I'm basically working with one to two hour chunks possibly separated by days or months. For example, if I start something on Tuesday and then I pick it up again on Friday, I need to do a fair bit of rethinking and remembering. Switching from one thing to another is hard. I'm always looking up how to do something in the specific language that I need to work with. It's related to the problem of…
  • Duplicate research: Sometimes I have to reread the resources that would help me prepare for that task.
  • Tunnel vision: On the flip side, focusing too much on one project means not thinking about other things. Everything else tends to be in the back burner because of context switching costs, and that sometimes leads to…
  • Letting an opportunity lapse: Sometimes it's too late to get the most out of something because a person who wanted it has moved on (including me) or because I'd completely forgotten the context of my notes. This also applies to real life, too. A- is not going to want to hang out with me forever, so I should make the most of it. =)
  • Forgetting the context: Quick notes are sometimes too quick.
  • Fragmented time: Since I need to work in short bursts, I have to get to a good stopping point. That can be tough.
  • Frittering away time on distractions: It can also be tough working on something that doesn't fit into five minutes here, five minutes there. There's a big temptation to fritter time away on distractions like scrolling through Reddit, or just working on small, easy stuff instead of thinking about the harder problems.
  • Repetitive steps that could be automated: Waste could also be working on things that the computer could be working on instead.
  • Not making the most of it: If I'm not paying attention, I might not get as much out of an experience or task as I could have.
  • Not harvesting notes/code: It's very tempting sometimes to try to work quickly and just solve the problem for today. But if I take a little bit of extra time to harvest my notes from it, then I might be able to solve that problem when I run into the same problem, six months later or something like that.
  • Doing more than needed: The principle of You Ain't Gonna Need It often comes into play here, especially if I need to squeeze things down to fit into the chunks of time I have.
  • Missing pieces, incomplete notes: If I write something incomplete, I might have to redo more of it when I want to reuse it or build on it.
  • Forgetting where to find something: If I can't even remember the keywords needed to find something, that's even more of a waste of good notes.
  • Mistakes: Mistakes happen, and that's another source of wasted effort. If I'm in a rush or if I'm being impatient, I am not very good at paying attention to details. Then, when I need to go back and fix things, I have to deal with the context-switching all over again.
  • Doing things that might be a better fit for other people: So if there's something that can be done by somebody who's more detail-oriented or who has more time to look at all the small things or who has those particular skills or interests, it's better for them to do it. Then I can focus on the stuff that fits me.
  • Limits of tools: If I'm coding, doing it on my laptop with maybe two side-by-side windows is not quite as effective as plugging into the external monitor and getting all the things set up so I can see things instead of switching between overlapping things.
  • Having things in a form that's hard to search or skim: Videos and sketches can be hard to search or skim, so sometimes it makes sense to go back and actually write the text for it.
  • Negative feelings: For example, if the kiddo really wants my attention and I'm trying to complete a thought, it's tough not to get frustrated by the interruptions. It helps to be able to pull myself back and actually focus on her because there's no getting around that anyway, and then to do my thing later. It's also good to not let that frustration linger, because then that gets in the way of both enjoying her company and being able to focus on my own thing afterwards.

Now to think a little more closely about my main challenges…

Dealing with the fragmentation of my time is a big challenge. The way that I might do that is by grouping tasks together, so I don't have to switch context so much. Tunnel vision hasn't been too much of a problem for me so far, although it does mean that some things don't get worked on for a long time.

Taking a little bit of extra time to write up my notes makes sense, although it means my chunks of coding time have to be even shorter. Extracting excerpts for literate programming posts is a bit tough if I need to think about how to provide enough context. Maybe I should let myself fill things in later. I'm also looking into ways to do that faster, like maybe auto-generated captions running in the background so I can think out loud, grab the transcript, and then edit it a little bit (like this post). We'll see how that goes.

It makes sense to invest some time into expanding my toolset, like learning more about my tools, automating things, or taking advantage of hardware or software.

Of course, I'm still probably going to run into mistakes along the way, but if I can figure out which things are not as good for me, then I can see if other people want to go pick them up.

Might be a reasonable plan for reducing waste. Let's see how it works out.

Using some babysitting time for personal projects

Posted: - Modified: | geek, kaizen

After A- headed out the door with the babysitter, I resisted the urge to work on consulting projects and picked a few personal projects instead. I organized and published another Emacs News post, then settled in for some coding.

I made good progress on using Puppeteer to automate renewing my library books. I even packaged it up as a Docker image, pushed it to my Linode server, and successfully ran it there. Hooray! That means we’re one step closer to getting A- her own library card, since I’ll be able to renew items on both of our cards without the hassle of logging in and out of various accounts on my phone.

So far, so good. The ROI doesn’t make straightforward sense – I wouldn’t each up enough overdue fines to balance the opportunity cost from not consulting – but learning how to automate headless browsers will open up a lot more web automation possibilities, and extra practice wrapping it in a Docker container was a nice bonus. And yeah, turning three minutes of mild annoyance every few days or so into something more automated will probably be worthwhile. The next steps are for me to turn it into a cronjob so that my server can run it daily, and to test to make sure it works when a book can’t be renewed.

I also wanted to prepare for doing Emacs Hangouts again. It turns out that my Logitech H800 Bluetooth headset microphone doesn’t work properly on Ubuntu Bionic. Something about HFP and PulseAudio. At least audio output works, so that will reduce the feedback. I just finished apt-get dist-upgrade when A- returned with the babysitter, so I’ll work on this again next time.

Alternating consulting sessions with personal projects seems like a good plan. It feels a little indulgent, but so did my experiment with semi-retirement when I was just starting, and that worked out really well for us.

This babysitting setup seems to work well for us considering A-‘s late schedule and shifting interests. A 5-hour session gives me enough time to dig into a challenge or learn a new skill. A- seems to need more connection time after babysitting (probably letting off the tension from behaving so well with a new person all afternoon), but that’s perfectly okay.

I’ve liked spending all this time with A-, and I like the little stories I pick up from watching her learn every day. At the playground, she was so proud of being able to climb over the top of the climbing structure by herself. But these moments belong to her, not to me, so it’s okay for me to step back and have my own moments. Part of her journey as a child is separating herself from me, and part of my journey as a parent is separating myself from her.

Slowly, slowly, slowly making time for my own things again!

Update 12:39 AM: It looks like Bluetooth headset microphones are not really working on Linux these days, so I’ll just use the headset to listen in order to reduce feedback, and I’ll use my Yeti microphone if I set up for an Emacs Hangout or Emacs Chat session.

How A- is helping me learn how to read better

| parenting, reading

A- loves books. They’re usually a good way to calm her down from a tantrum, enjoy a pleasant afternoon, and get her all snuggled in and sleepy at bedtime. I don’t mind reading them again and again, since each read gives me an opportunity to learn more about writing, illustration, and even layout. It’s so much fun hearing the words and ideas from books bubble up in our everyday conversations.

I’d like to learn more about best practices for reading with young kids, like dialogic reading. A- responds well to the comments I add pointing out feelings or relating things to her life, and she often asks about things when I leave plenty of space for her to jump in.

A- doesn’t like feeling quizzed, though. When I pause to let her fill in blanks or I ask her questions, she protests, “I’m the baby.” By that, she means, “You’re the adult. Read it properly.” She knows the books and will sometimes “read” the whole thing to herself from memory, but sometimes she probably just wants to relax and listen. Sometimes she’ll play along if I give her a special word and ask her to point to it whenever it comes up, but that’s hit-or-miss. If she wants to play the game of correcting me, she’ll ask me to read the book upside down.

I think I’ll focus on making space for her questions and letting her take the lead for now, instead of taking more of a teaching-ish approach. I can model questions by wondering out loud. We can just keep it really pleasant, and probably that will pave the way for phonics later on. It’s totally okay for her kindergarten teacher to do the heavy lifting of teaching her how to read. My job is to help her want to read.

It might be nice to be more intentional about the books we get. Our neighbourhood library has a good selection, but there are all sorts of gems out there that we might not find just by pulling books off the shelf.

I can thin the herd a bit by bringing some of our books to the Children’s Book Bank, so that her shelf isn’t so packed. Then it might be easier for her to find and pull out books she likes.

A little thing: if I update the script I wrote to renew my library loans so that it works with the redesigned site, that could save me a bit of clicking.

I can look for ways to perk myself up if I’m falling asleep reading during the afternoon slump. A- usually accepts it if I tell her that I need to move or do something different, and maybe a dance session could help us get our blood flowing. I can also drink water and eat a quick snack. I can invite her to read a book outside or explore the garden, especially as the weather warms up.

This is great! I’m learning how to read, too. :)

Adjusting to less focused time

| kaizen, learning, parenting

It feels like I've had much less focused time over the past two months. Weaning, sickness, and A-‘s bigger emotions all needed more patience and energy. I've been prioritizing sleep and household maintenance over things like staying up to consult or write. On the plus side, we've gotten back into the rhythm of preparing meals for the week, and cleaning the house is a little easier now.

How can I adapt if this is my new normal?

I've been setting more firm boundaries (myself, bedtime routines, etc.), and that's been working reasonably well. I've also adjusted my plans and made sure not to commit to more consulting than I could do.

I'm not keen on making videos a regular part of her day, since we don't want to add another cause for conflict. I considered creating space by having a babysitter come over for 3-4 hours. A- is still not keen on the idea, though, and I can see how we both benefit from the time we spend with each other.

So the main thing to do, I think, is to rejig my plans in order to make the most of the constraints. What do I want to learn even without lots of focused sit-down time? How do I want to grow?

  • Equanimity: This lets me turn A-‘s tantrums into learning opportunities. I can practise appreciating her and this life, especially when we're in the thick of things. Taking care of our basic needs gives me the space to be patient and kind when A- needs me to be, and it's good practice in anticipating and heading off challenges. I tend to be firmer than W- is, so I can work on noticing when a little kindness or flexibility might help a lot when A- and I are on our own.
  • Household maintenance: I want to take on more chores, help A- get involved, and become more effective. This is also a good opportunity to practise noticing things. I can learn things from W- and from the Internet.
  • Thinking, learning, and improving in short bursts: I want to get better at using little pockets of time. Drawing and dictating might be good techniques to explore further.
  • Mindfulness and being present: I want to get better at being there for A- instead of letting myself be distracted. I want to get better at enjoying now. I also want to balance that with thinking about and doing my own things. I can start with a few magic moments a day, and then expand from there.
  • Playfulness and creativity: I like the way W- interacts with A-. It might be interesting to practise playfulness and creativity, especially since A- can be my play partner and guide. I can pick up ideas at the drop-in centres, and sometimes reading helps.

These things are less obviously rewarding than, say, figuring out a clever solution for a client problem or coming up with a neat Emacs hack and blogging about it. But they're worthwhile things to learn anyway.

How can I make my learning more intentional? It might be interesting to make myself a list of things to focus on or try out, and then try one at time while keeping an eye out for other things that are relevant to the situation. For example, I could have a day of involving A-‘s toys in tasks, then see how that resonates with A-.

How can I make my learning more visible? I think journal entries will help a little. Sometimes A- insists that I stay close while she's sleeping, so that might be a good time to write. I can draw thoughts while waiting for A-, too, which is a good way to model writing and drawing. Paper seems to work a little better than drawing on my phone, although maybe that's a matter of practice. I don't have a good workflow for dealing with notes yet, but I can archive pictures for now and deal with them as mostly transitory thinking aids.

I'll probably have lots of focused time later on. Crunch time isn't forever. Even if I may need to start over, I'm not too worried. I think I'll be able to get the hang of things again.

In the meantime, we're mostly set up for playing and doing chores at home. Once we recover from this cold and cough, I think our daily rhythm will involve drop-in centres as well as home time. I've got things to learn and ways to grow. I can do this, even though it's a bit different from what I'm used to.

Life changes. It's good to adapt.

Textbook Thursday: elaboration, board games, tech

Posted: - Modified: | geek, learning, parenting

I'm reading through J-‘s textbook on child development for ideas to try with A-. The chapter on language development nudged me to take advantage of opportunities for elaborative language. A- does a great job of describing things now. I can repeat what she says, and then expand on cause and effect, perspective-taking (talking about thoughts and feelings), or narrative (relating it to her experiences).

Another interesting tidbit was about how early mathematics is helped a lot by board games like Snakes and Ladders. Kids get lots of exposure to number words, and they develop a good sense of magnitude and the relationships between numbers. Because it's entirely luck-based, the playing field is even. We could start with a simple board of ten numbers and a coin flip (1 or 2 spaces), then work up to the bigger board. This will probably be a good fit for A- when she's closer to 3 or 4. Looking forward to that!

The textbook also covered Piaget's theories and other models of development. It will be fun using experiments and experiences to help A- with conceptual limitations: pouring water between different containers, learning to ignore irrelevant attributes, learning to pay attention to multiple dimensions like weight and distance on a balance scale… If I learn more about the kinds of things kids figure out and the general sequence they figure them out in, I can have more fun observing A- and supporting her learning.

I also squeezed in some time to skim play = learning. I liked the chapter on extending play with creative use of technology. It focused on letting older kids explore building things, but maybe I can make some things A- can play with at an earlier stage. I'm not too keen on special-purpose coding toys yet, though. I like the idea of using tech to make concepts more tangible, like the way kids played with turning food into musical instruments based on capacitance. We have a couple of electronics kits with breadboards and various input/output things, and that might be fun to explore one of these inside days.

Hmm. I like this Textbook Thursday thing. (Not Tuesday, despite better alliteration, since that's already earmarked for consulting – nice to get that done early in the week.) I should finish this textbook before I get another one, maybe one about play. Learning about principles and research helps me think about stuff, observe better, and recognize opportunities. It tickles my brain. How wonderful that there's so much out there to read! It would be even awesomer if I could plug into an online community of people who geek out about this sort of stuff. That might come in time, if I can read, try things out, share my notes, and reach out. Whee!