2018-06-18 Emacs news

Links from reddit.com/r/emacs, /r/orgmode, /r/spacemacs, Hacker News, planet.emacsen.org, YouTube, the changes to the Emacs NEWS file, and emacs-devel.

Back to biking

We got the Thule Chariot XT bike trailer that also quickly converts into a stroller. Our goals are:

  • Model physical activity, and biking in particular
  • Explore more of the city
  • Expand our range

We started by getting A- used to the stroller. She’s generally amenable to it, and has asked for it when she’s sleepy. She also likes insisting on walking or even pushing the stroller, saying “I want to exercise my body!” We totally support that, of course, so I don’t insist on putting her back in.

This week, I tried biking. I rode the mountain bike by itself a few times around the block to get the hang of it, since the shifters and frame were different from the ones on my bike. Then we hitched up the bike trailer, and I rode around the neighbourhood a few more times. Then we did a test ride with A-.

I’ve been testing the bike trailer on short trips with A-. She’s not always keen on it, which makes getting her into the trailer and on the way home sometimes a dicey prospect. If I don’t have any time pressure and I make an effort to be extra-playful, though, I might be able to convince her to put on the helmet and get in the trailer. She responds better to play and energy than to collaborative problem-solving. Today, it helped to stick lots of stickers on the helmet and to pretend to be getting ready for airplane take off.

I’d like to practise with short trips to playgrounds that she might likes. Maybe High Park, Vermont Square Park, and Dufferin Grove. Those are well-served by public transit in case I need to bail. Worst-case scenario, I can probably lock the bike up somewhere, take a picture and send the location to W-, and he can retrieve it. I’d rather avoid that, though.

I think it might be good to experiment with keeping things low-pressure.

  • I’ll take transit for classes, appointments, and other things I need to get to or leave in a fairly predictable manner. Even then, I’ll give people a heads-up that stuff might happen, and I’ll keep an oops fund in case I need to pay for last-minute cancellations or cab fares.
  • I won’t let any embarrassment about running late get in my way.
  • When making plans with friends, I’ll give them a heads-up, and I’ll trust in their being grown-ups who can replan or find something that works for them.
  • A- tends to stay at a park a long time once we get there, so maybe I can ping people once we arrive and then see if they want to meet up. I should wrap up a few hours before sunset, too, just in case.
  • Speaking of trust, I’ll also trust that people can make their own decisions about whether they want to hang out with us in a playground (with bubbles! and snacks!). I’ve been a little uncertain about hanging out with non-parent friends because of the stereotype of a kid-obsessed parent who can’t talk about much else, but parks can be nice to enjoy anyway, I’m starting to free up some coding and thinking time, and maybe people might want to hang out with kids because it’s rejuvenating.

Biking opens up exciting possibilities. I don’t have to make it pay off entirely this year, or even worry about the break-even point compared to transit. I think a different experience of Toronto might be well worth it. It’s also good practice in adapting to situations and getting better at being playful. Looking forward to getting out more!

Week ending 2018-06-15

  • Field trip
    • I went for a bike ride with A- in the trailer. Good thing I picked a nearby destination, though, since she insisted on walking on the way back. Even when she got tired, she still didn’t want to get in the trailer, so I put her in the carrier and walked the bike and trailer back.
  • Fine motor
    • A- was interested in making valentines, so we folded paper, cut out shapes, and glued them.
    • A- wanted to build a Duplo city. We pretended the blocks were houses. First we started with one line, then another, and then a few towers. Then A- focused on filling the space with blocks, butting them right up against each other. She was momentarily stymied by a small gap that she couldn’t fit a block into, but figured out after I asked a few guide questions.
  • Sensory
    • A-, the babysitter, and I got drenched in a sudden downpour. A- was upset when she was in the rain, but we were able to reframe it as an adventure. Since the power was out in our neighbourhood, I took A- to a restaurant a little further away for dinner.
    • A- liked being swung up in the air, like in the book Nelly Gnu and Daddy Too.
  • Language
    • We read lots and lots and lots of books.
    • Talking about incipient actions: “I’m about to go down the slide.”
    • W- was counting out loud. A- smiled approvingly and said, “Daddy knows the words.”
    • A- talked about the letters on the babysitter’s shirt. I gave her a few magnetic letters, and she matched them up. I gave her a cookie tray so that she could play with the letters closer to the babysitter’s shirt instead of turning around to the fridge.
  • Music
    • A- participated in music class today. She started off a little sleepy and reserved, but she helped clean up, and she let me put her on the floor. She liked hiding under the scarf and shaking the jingle bell sticks.
    • At circle time at the JFRC, A- brought over a stool and sat on it. She imitated the family support worker’s gestures and softly sang words too. She waved the scarf around, and she flapped the parachute up and down. Best circle time engagement so far!
  • Self-care and independence
    • A- didn’t want to brush her teeth, but she changed her mind when she saw the “Shiny smile time” page in a book.
    • A- and E- played in the sandbox while Jen and I chatted on a bench a short distance away. It felt like a big milestone. We eventually moved closer to help them with social interaction, but still, this is a start.
  • Social
    • We talked to our neighbour about her experience with a Montessori private school. She gave a glowing review. I might be willing to give up having an extra year with A- if preschool is a good fit for her. I’m not worried about helping A- learn her letters, but I think preschool might do a better job than I might at arranging regular social interaction. I think Montessori is interesting. I like Reggio Emilia a lot too, and I want to explore options for that as well. We’ll see!
    • Together with a couple of other kids, A- scooped sand into the tube of this activity centre. They all took turns, and they managed to fill the tube all the way up by using wet sand.
    • A- asked me to transfer her to a swing closer to another kid.
    • A- almost wore just a diaper to music class. She relented and let me put pants on her. I brought a bubble wand, which helped keep kids engaged while waiting for class to start. Also, playing the excavator game got A- a little involved in cleanup, although she still mostly clung to me in class.
    • I was looking for my keys, and A- helpfully piped up that they were on the floor. Yay! Later, I was looking for my headlamp, and A- got them for me. It was tucked into a corner, which was a little odd. Hmm…
    • Because the power was out, I brought down my headlamp. The babysitter remarked that she had a similar one. A- blew the whistle cleverly integrated into the headlamp’s strap. The babysitter was surprised and thanked A- for teaching her something new.
    • We ate at a restaurant because power was out at home. We talked through the process, and A- practised what to say and do. I asked her to say, “Excuse me, check please,” and she tried that at our table a few times before we talked to the easier.
    • I feel pretty good about how I’m playing with A- and helping her learn, and I look forward to getting even better at it. The babysitter experiment is also working out well. Even when we’re both there with her instead of my going off to do consulting or kaizen stuff, it’s a good opportunity for her to see social interaction and for me to pick people’s brains.
    • At the JFRC, I shared a large bunch of grapes at snack-time, and they were well-received.
    • A- imitated what I look like when I’m fighting the urge to sneeze.
  • Pretend
    • A- was interested in playing with the pretend kitchen at the JFRC and putting on the scrubs in the doctor kit.
    • A- liked pretending to be an excavator or a Bobcat. She also asked me to pretend to be an excavator.
  • Cognition
    • We built two towers of Duplo, and then A- wanted to put a block across the top. We built a couple of other tower pairs. I started counting the blocks I added: sometimes one, sometimes two, sometimes three. When we got near the top of the second tower, I asked A- how many more blocks we needed to add. She said a number that happened to be the right answer. She was probably just lucky, but hey, why not incorporate more math into our activities..
  • Kaizen
    • I moved more winter things into storage.
    • I made Tasker scripts for adding descriptions to my pictures, logging them in my journal, and linking from my journal to the pictures. I learned how to call Java functions from Tasker and how to work with images in scenes. I want to use this to create more pedagogical documentation.
    • I wrote some code to watch a directory and add Org links to new files, managing them with Org attachments. I also experimented with org-download and dragging and dropping images into Emacs, and I wrote a command to read the caption from an image’s metadata and insert it into the buffer.
    • I installed Resilio and used it to synchronize my pictures with the NAS.
    • I added pictures and printed out last week’s review. I also replaced # with Unicode stars and labels in the image filenames.
    • I wrote a shell script to add photo captions for printing.
    • I migrated my blog database to utf8mb4.
  • Us
    • A city tree inspector came by. We had a pleasant chat about the permit process and assured him we would file all the proper paperwork if we decide to go ahead with changing the backyard.

Circle time progress

I like taking A- to music classes and circle times. I learn more songs and A- gets to see other kids in a semi-structured environment. A- usually clings to me, preferring to quietly watch instead of joining in. She’s not keen on tickling games. She tends to get anxious when the teacher or family support worker uses puppets. In last year’s music class, there were maybe a couple of sessions when she felt confident enough to walk and jump on her own, but that was after months of being carried, and she still often chose to be carried after that.
At home, though, she loves arranging chairs, singing songs, and exploring instruments. I think it’s totally worth it and that she gets a lot out of it, even if it’s not obvious in class.
Besides, I can relate to wanting to hang back and observe. That’s what W- and I tend to do.
I think things might be starting to change, though. A few months ago, she used to cry and ask to leave the drop-in centre as soon as we got there. Now she can usually play there until it closes. Last month, she started talking about the family support workers while we were at home, referring to them by name. During circle time this week, she didn’t sit on my lap, but on a stool that she brought over. I liked watching how intently she watched the family support worker and how she tried to quickly imitate the gestures, and I saw her mouth a few of the words too. She hid under the scarf or waved the scarf around as prompted. She flapped her part of the parachute up and down. She smiled great big smiles; she seemed happy that she was able to follow along.
At music class, she got interested in helping put away things when I suggested that we play the excavator game. She liked holding the jingle bell sticks and the scarf (maybe because they triggered the “Mine!” instinct in her?). Once they were in her hands, she imitated the teacher and the other kids. She also returned them to the teacher. It helps to hold something or do something with her hands, I think.
It probably helps a lot that A- likes the family support workers now. The family support workers serve snacks, answer my questions, and offer her things to play with. I’ve started bringing extra food to the drop-in centre to enable even more positive social interactions, too, and I think A- likes helping share yummy food with other people. She knows the music teacher’s name, but she doesn’t have as varied positive interactions with her.
I’m looking forward to seeing how she’ll respond to music time and circle time next week. Maybe she’ll stay close, and maybe she’ll venture out a little more. While it might seem faster to push her into independence by not picking her up as much, I like watching her gradually feel comfortable enough to participate. I like how sometimes all she needs is a quick reconnection and then she’s off to explore. I like how she clearly feels secure enough in music class to listen and learn, and how much she remembers, and how she enjoys singing. She’ll have enough opportunities to practise independence without being pushed into it. She’s driven to grow.
I’ve signed up for music classes until April, except for July and August. We’ll go to drop-in centres whenever we can, too. We’re both slowly getting the hang of things, and it’s wonderful.
In the meantime, I’ll focus on picking up songs that I can sing to her throughout the day. We’ll practice imitation one-on-one. We’ll bring in babysitters so that she can have lots of positive interactions with people who are not me while staying in a familiar environment. We’re experimenting with going at her pace as much as possible while giving her plenty of opportunities to stretch and grow. She’s wonderful, and I have full confidence that she’ll get the hang of this.

Experimenting with adding labels to photos

A-‘s gotten really interested in letters lately, so I’m looking for ways to add more personally relevant text and images to her life. She often flips through the 4″x6″ photos I got printed. Since they’re photos, they’re sturdier and can stand up to a little bending. I wanted to experiment with printing more pictures and labeling them with text, building on the script I used to label our toy storage bins. Here’s a sample:

2018-06-14-16-12-14 ★★★ A- gently lifted the flaps in the book. 🏷fine-motor

(Name still elided in the sample until I figure out what we want to do with names and stuff. I’ll use NAME_REPLACEMENTS to put her name into the printed ones, though, since kids tend to learn how to read their names first.)

I haven’t printed these out yet to see how legible they are, but a quick on-screen check looks promising.



# Add label from ImageDescription EXIF tag to bottom of photo

IFS=$(echo -en "\n\b")

# NAME_REPLACEMENTS is an environment variable that's a sed expression
# for any name replacements, like s/A-/Actual name goes here/g

for file in $*; do
  description=$(exiftool -s -s -s -$description_field "$file" \
     | sed "s/\"/\\\"/g;s/'/\\\'/g;$NAME_REPLACEMENTS")
  date=$(exiftool -s -s -s -DateTimeOriginal "$file" \
     | cut -c 1-10 | sed s/:/-/g)
  width=$(identify -format "%w" "$file")
  height=$(identify -format "%h" "$file")
  largest=$(( $width > $height ? $width : $height ))
  density=$(( $largest / $output_width_inches ))
  correct_height=$(( $output_height_inches * $density ))
  captionwidth=$(( $width - $border * 2 ))
  convert "$file" -density $density -units PixelsPerInch \
    -gravity North -extent ${width}x${correct_height} \
    -strip \( -undercolor white -background white \
    -fill black -font "$font" -bordercolor White \
    -gravity SouthWest -border $border -pointsize $pointsize \
    -size ${captionwidth}x  caption:"$date $description" \) \
    -composite "$destination/$file"
gwenview $destination

Here’s my current rename-based-on-exif, too. I modified it to use the ImageDescription or the UserComment field, and I switched to using Unicode stars and labels instead of # to minimize problems with exporting to HTML.


date="\${DateTimeOriginal;s/[ :]/-/g}"
rating="\${Rating;s/([1-5])/'★' x \$1/e}"
tags="\${Subject;s/^/🏷/;s/, / 🏷/g}"
field=FileName  # TestName for testing
exiftool -m -"$field<$date $rating \${ImageDescription} $tags.%e" \
         -"$field<$date $rating \${UserComment} $tags.%e" "[email protected]"

In order to upload my fancy-shmancy Unicode-filenamed files, I also had to convert my WordPress database from utf8 to utf8mb4. This upgrade plugin was very helpful.

Thinking about more reflection and sharing

Okay. I’ve gotten basic recording sorted out, I think. I can capture quick notes, photos, and videos to document our lives and serve as placeholders for further reflection. I can organize them into rough categories. Babysitting gives me enough brainspace for both consulting and self-improvement. My sleep is still a bit messy, but that’s probably at least half because of me. I’m confident about spending time with A- and helping her learn stuff. Time to think of the next steps.

I think there are three big areas for me:

  • planning and experimenting with potential improvements: needs attention, creativity, and implementation time
  • sharing tweaks and things I’ve figured out: good for backing up and for conversation
  • making sense of facts, asking questions, synthesizing, reflecting

Our continuous improvement capabilities are okay, although of course there’s room to grow. Physical stuff (reorganization, trying stuff, decluttering) can happen throughout the day. Reading fits in late at night or in snippets throughout the day, although I’m still skimming for things to think about instead of being able to take notes or think about things in depth. Coding tiny little tools fits in late at night or during babysitting sessions – not big projects yet, but shell scripts and short Emacs Lisp functions are quite doable.

I’d like to get better at circling back and posting source code and experiment notes. Maybe I’ll start by including just a paragraph or two describing key motivation and intended result, then jump straight into the code or description. I’m not sure if it will help anyone else, but who knows? Besides, it’s good to have stuff like that in my own archive.

It seems like such a splurge to use babysitting time for thinking, drawing, and writing. I don’t know if I can write a post worth $120+ to myself or other people, and besides, I want to write more personally relevant things before I get back into sketchnoting books or putting together, say, Emacs guides. But if I think of the babysitting as primarily paying for A- to practise independence and social interaction with someone one-on-one, I do some consulting every week, and I make an effort to pick up one or two new activity ideas each time we have someone over, I can think of the discretionary time as a bonus instead of trying to optimize my use of that time.

Let me think about sense-making. I’ve been focusing on just capturing what was going on because it was hard to think more deeply. I’m a little less preoccupied now, so I have some brainspace for thinking. Some questions to ponder:

  • What is A- interested in learning? What does she think? Why does she do what she does? How can I grow so that I can support her even more effectively?
  • What else can I experiment with? How can I reduce waste or costs (including intangibles), and how can I increase benefits?
  • How can I make learning visible for both A- and me?
  • What do I want from all of this? How do I want this to shape me?

Writing this on a bench in the park, arms around a sleeping A-, I’m somewhat challenged by the small window I’m writing in (there’s room for a couple of paragraphs and that’s it), the inability to refer to other things side by side, and the possibility of interruption. But maybe I can think and write in medium-sized chunks: a little bigger than the quick notes I’ve been taking, but small enough that I don’t need an outline or the ability to easily rearrange my text. I can write more stream-of-consciousness stuff instead of worrying about editing. I can give myself permission to cover ground relatedly instead of worrying whether I’d written about something before, or if I’d just dreamed it.

Let’s warm up those thinking muscles. :)