Categories: parenting » play

RSS - Atom - Subscribe via email

Labeling toy storage bins with photos and text using ImageMagick and org-babel

Posted: - Modified: | emacs, geek, org, organization, parenting, play

I wanted to make labels for A-‘s new toy storage: three low Trofast drawer frames all along the wall.

I liked how early childhood drop-in centres labeled their shelves with both pictures and text. That way, kids can find things before she can read, while still being exposed to print. I took pictures of the bin contents and renamed the files to the labels I wanted to put on them, such as 2x2 blocks.jpg. (We have a lot of Duplo.)

This time, I experimented with creating the labels entirely in Imagemagick instead of using LaTeX. First, I used a table in Org Mode to let me easily play with the dimensions and recalculate pixel sizes.

DPI   300
Columns 3  
Rows 5  
Paper width 14 4200
Paper height 8.5 2550
Minimum margins 0.5 150
Label width 4.3333333 1300
Label length 1.5 450

I passed the width and the height to the following code block by using header arguments. I liked using 400 pixels as the height instead of 450, so that's what I used. My source image size was 4032×3024 pixels. If I resize them to a height of 400, that gives me a width of 533. Allowing 20 pixels for the text left and right borders gives me (- 1300 533 20 20) = 727 as the text width.

#+begin_src sh :dir ~/code/labels :var width=1300 :var textwidth=727 :var height=400 :var pointsize=72 :results silent
for x in source/*; do
  file=$(basename "$x")
  /usr/local/bin/convert \( \( "source/$file" -resize x${height} \) \
     \( -background white -fill black -font Alegreya-Regular -bordercolor White \
         -gravity West -border 20 -pointsize $pointsize -size ${textwidth}x caption:"${file%.*}" \) \
     +append \) \
     -extent ${width}x${height} \
     \( -fill none -stroke gray -draw "rectangle 0 0 $(echo $width - 1 | bc) $(echo $height - 1 | bc)" \) \
     "out/$file.png"
done
#+end_src

Sample resized label:

I moved the ones I wanted from the out directory to a ready directory and combined the ones I wanted to print into a PDF:

#+begin_src sh :dir ~/code/labels :results silent
montage ready/*.png -tile 3x5 -background none -geometry +0+0 print.png
convert print*.png -density 300 -quality 100 print.pdf
#+end_src

Then I printed the labels in colour on an 8.5×14″ sheet of paper (single-sided, landscape), cut them out, and taped them onto the bins with packing tape.

W- suggested taking macro shots that more clearly show the characteristics of things in the bins instead of just aiming down and taking pictures of the contents. Might be a good excuse to show A- basic product photography when we get back.

W- also recommended making the label text bigger. The first time I did it, I just picked a pointsize based on whatever fit the ones I wanted to print. I decided against letting Imagemagick maximize the font size because I didn't want labels to have very different text sizes. After a little poking around, I figured out how to use caption: instead of label: to give me text that can neatly wrap within a given space, and that will probably let me use 90-point font instead of 72-point font. That will make the next iteration of labels even easier to read.

It's nice having all these bins. A- is getting pretty good at heading straight for the bin she wants something from, and she even talks about them: “Horse is in animals bin.” I'm glad we labeled the most frequently used bins. I'll tweak the labels when we get back from our trip. We'll probably change some of the bin contents anyway.

Hooray for ImageMagick, and hooray for variables in org-babel blocks!

A little more independence

Posted: - Modified: | parenting, play

A- is playing more independently. I actually managed to do a little consulting during the afternoon. Nothing too complicated, just modifying and running a script that I’d written the other night so that it could download a large collection of files in time for me to send the archive to the person who requested it. A- kept herself occupied by “shopping” for groceries in the pantry, “working” on my laptop, and putting things away, occasionally asking me for help. Later that afternoon, she accompanied me as I vacuumed upstairs and downstairs. It helps a lot that I can trust her to go to the potty or ask for help.

I want to think about how I can balance different types of time: focused playtime together, independent play while I observe or help as requested, and activities I do while she plays in the background. I’d like to minimize the waiting time between when she asks for help and when she gets it, so no long focused tasks – maybe 1-5 minute response time. I want to communicate that she’s important and that I’m available, and also that I trust her and that she’s capable of exploring on her own. I want to continue enriching her vocabulary by labeling things and actions, and by doing things in front of her that she can then imitate or participate in.

I think I’ll keep my current arrangement for consulting: 1-2 hours a week in the middle of the night, except for rare occasions when a little work during the day can help other people a lot. No calls, still, since A- wants to talk on the phone whenever I use one. (Distracting her with another handset rarely works.) Coding on the laptop is too abstract for her. Ditto for writing.

Drawing or writing on paper lets me explore a few thoughts quickly and gets her interested in drawing, although any index cards or lists I make tend to get enthusiastically scribbled on or crumpled. That’s okay, I just note key ideas on my phone.

Cleaning is a definite win. It has to be done anyway, and it’s something I can do in stops and starts. It’s good modeling, too. Now that she’s more independent, I can vacuum, and I can sometimes move things between floors.

We’re not quite at being able to cook anything more than the simplest recipes, but we’ll get there someday. Maybe we’ll start with ingredient prep, which could double as cutting practice. As she gets better at waiting, I’ll feel more confident about asking her to wait a few minutes while I put away food or deal with boiling water.

If I open a book to read, she usually wants me to read a book to her. That’s okay, she gets priority. She can flip through a few books and “read” them on her own, saying the words she remembers out loud. Sometimes she tells me to get my own book. We’ll probably work out a routine of spending some time reading together and some time reading our own books. In the meantime, I like reading The Cat in the Hat and other Dr. Seuss books.

I want to think about how to enrich her environment so that she can explore and learn. She’s focused on home stuff at the moment, and she rarely wants to dress up to go outside. In fact, she mostly likes to spend time in the kitchen, which isn’t much of a surprise because we like to spend time in the kitchen too. If we organize the play area a bit better and I hang out there more often, maybe that will shift the centre of gravity. She likes being able to play for a bit and then check in with me, so I can try setting out a simple puzzle and things to rummage through.

As for outside time, maybe we’ll shift back to that when we’re more comfortable with potty training. She’s okay with quick walks in the carrier, but she might be picking up on my worrying about going for an extended stroll without a diaper. Maybe I can work on more excitement and routine, too.

Gotta grow along with her!

Learning how to play with dough

| parenting, play

​Every day brings new and wonderous discoveries of what a kid can do, even at 19 months old. 

Take play dough. We’ve been using the same batch I made a few months ago following the first recipe I found on the Internet. We have just enough to fill a sandwich container, and it’s all one colour: light green, since we had lots of green colouring left over from jelly-making days.

A- started off mostly being interested in cutting the dough with a baby knife and a dough scraper. I used to just roll out ropes and balls for her to cut. Last week, I decided to keep myself occupied by playing with the dough myself, learning more about thinking in 3D by shaping familiar objects or adding up layers. I made a cat. A- started petting it and doing the gestures for a cat-themed rhyme we often recite.

I made an egg and a pan. I mimed our breakfast routine, making a bowl and a plate along the way. She imitated that gleefully, asking me to make more eggs for her to crack and scramble. 

I made an airplane. She flew it around. 

I made figures for W-, her, and me. She gave them a hug. 

W- joined us for a play session. He made her a car. She vroom-vroomed it around.

I made her an apple. She said “Ap” and pretended to eat it. 

W- made her a banana. She said, “(Ba)nana, pee(l).” She tried to peel it, so I made her another banana with a peelable skin, and she peeled that. 

Meanwhile, W- made her two bananas, still joined together like we get them at the store. She took the pair of bananas, said “Nana, hu.” That boggled us. Hu? Hoo? What did she mean? She curled her finger under the stem connecting the bananas. Ah, hook! W- carefully hung the play dough bananas on the hook that we usually use for real bananas.

It was a little like doodling with play dough. We’d squish a quick shape together, name it, and see if she was interested. I knew A- was comfortable pretending with props – the tea set at the drop-in centre, the kitchen playset her cousins have – but I was surprised at how well she played with combinations of simple playdough figures and words. 

It makes me wonder: what else can I do at this stage to help her learn and grow? I doodle faces, stick figures, everyday objects, and sketchnoted thoughts when she’s drawing, and her pencil grip is starting to look remarkably like mine. (Hmm, might be time for me to learn how to write properly.) Her Lolo gave her a waterproof, shockproof camera, so we’ve started taking pictures and reviewing them together. We go to music classes so that I can learn songs to fill her week with. I’d also like to learn more about physical activity and nature so that I can help her grow in those areas too. It all seems almost like more of an education for me than for her. I’m learning a lot, guided by her joy.

It might not always be as awesome as this, I know. But it’s pretty darn awesome. =)

Building A-‘s Duplo collection

Posted: - Modified: | parenting, play

W- and I are keen on Lego. (We actually met while judging a Lego contest for schoolkids.) Open-ended toys, high-quality plastic, what’s there not to like? Naturally, A-‘s going to start with a Duplo collection.

Her first set was the My First Truck one that we’d bought from the Lego store for G* and A*’s birthday present ($20 for 29 bricks, or $0.66 per brick). She liked it so much, we decided to keep that one and get another copy of the same set. (Besides, it’s generally polite not to give people pre-drooled-on gifts…) We kept the set in the kitchen and used it to entertain her whenever we were cooking. She got pretty good at separating the bricks, putting them into the container, and taking them out again.

Since buying second-hand is a great way to save money and Lego stands up well to use, W- checked Kijiji for people selling lots of used Lego. The first batch worked out to be about $0.30 per brick, but it was made up of odds and ends that the previous kid didn’t particularly care for. Some of the assemblies had missing pieces, like the police box that didn’t have all of its windows and doors. There was a roof piece in one style and another roof piece in a different style. Clearly, brick count wasn’t the only thing to go by (or even interesting brick to basic brick ratio)! Still, it got us more wheel bases than we might otherwise have accumulated over several purchases of new sets. We had fun finding out what some of the more mysterious bricks were, thanks to databases built by Lego enthusiasts and the pictures and part numbers that made identification possible. W- even contributed a picture of the red wings from the Cute Animals set.

The second batch W- got from Kijiji worked out a lot better. It was $30 for about 200 bricks, or $0.15 per brick. Well, a little more than that, actually, since we took out a few non-Lego pieces. W- washed the rest in the washing machine (cold water, gentle cycle) and laid them out on towels to dry. This collection was recognizably made up of a number of sets: alphabet blocks; some kind of medieval thing with a horse, a knight, and a treasure chest; a gas station. There’s probably another set in there, too. There were a few pieces missing from the alphabet and there were some other unmatched parts. The seller found some of the missing pieces and W- picked it up, so, yay!

What’s a 10-month-old to do with all that Duplo, anyway? Turns out, quite a lot.

  • She started by investigating shapes, and there are plenty of interesting shapes the collection.
  • She handed us stuff and we exercised our creativity by incorporating those bricks into whatever we were building.
  • She knew how to move wheeled toys back and forth, so she did that too.
  • She pulled bricks apart, and we challenged her by putting bricks together in different configurations.
  • She put bricks into containers, and she took them out again.
  • She opened doors and windows.
  • She opened doors and then put bricks through them.
  • She jumbles them up and enjoys the sound.
  • … and she’s coming up with more stuff to do with them every day. =)

She occasionally tries to connect bricks together, but she doesn’t quite have the coordination for that yet. Someday!

We’ll also eventually teach her how to sort bricks by type, which is good for sanity and easier building. A- puts bricks into whatever container is closest, which is totally fine – I just sort opportunistically.

W- and I also keep ourselves amused by building little things and showing them to each other. He’s good at it, and I’m slowly getting the hang of it. For example, he turned a bunch of curved bricks and a car spoiler into a whale. Much fun.

So, yeah, Duplo! Here we go.