Categories: sharing

RSS - Atom - Subscribe via email

Doodling icons in a grid

| drawing, emacs

Last week, I experimented with practising drawing little icons as a way of expanding my visual vocabulary.

Making a template

Building on Visual vocabulary practice - ABCs, I decided to make a regular grid that I could then automatically split up into individual images. I used Emacs's svg.el to generate the grid. I started with 4 rows of 7 boxes to match the alphabet example, but I realized that using 5 rows of 7 boxes each would let me reuse the grid for a monthly calendar. I numbered the boxes to make it easier to double-check if the lists line up, but I can write over the numbers for things like dates since the background won't be exported.

icon-grid.png

I used convert icon-grid.svg icon-grid.png to make it from the SVG produced by the following code.

Code for producing the template

(require 'svg)
(defvar my-dot-grid-boxes-params
  '(:num-rows 5
    :num-cols 7
    :dot-size 3
    :line-width 3
    :dot-spacing 60
    :grid-color "#a6d2ff"
    :row-size 6
    :col-size 6
    :text-size 50
    :margin-top 2))
(cl-defun my-dot-grid-boxes-template (&key (num-rows 5)
                                           (num-cols 7)
                                           (dot-size 3)
                                           (line-width 3)
                                           (dot-spacing 60)
                                           (grid-color "#a6d2ff")
                                           (row-size 6)
                                           (col-size 6)
                                           (text-size 50)
                                           (margin-top 2))
  "Prepare an SVG with a dot grid within a table with solid gridlines.
Each dot is a solid circle of DOT-SIZE filled with GRID-COLOR spaced DOT-SPACING apart.
The gridlines are also GRID-COLOR. They should divide the image into ROWS and COLUMNS, which are ROW-SIZE * DOT-SPACING and COL-SIZE * DOT-SPACING apart.
The table has a top margin with the dot grid, and this is MARGIN-TOP * DOT-SPACING tall.
All dots are centered on their x, y coordinates.
The rest of the image's background is white."
  (let* ((width (* num-cols col-size dot-spacing))
         (height (* dot-spacing (+ margin-top (* num-rows row-size))))
         (margin-top-height (* margin-top dot-spacing))
         (svg (svg-create width height)))
    (dotimes (row (+ (* num-rows row-size) margin-top))
      (dotimes (col (1+ (* num-cols col-size)))
        (let ((x (* col dot-spacing))
              (y (* row dot-spacing)))
          (svg-circle svg x y dot-size
                      :fill-color grid-color
                      :stroke-width 0))))
    (when (> text-size 0)
      (dotimes (i (* num-rows num-cols))
        (let ((x (* (% i num-cols) col-size dot-spacing))
              (y (+ margin-top-height (* (/ i num-cols) row-size dot-spacing))))
          (svg-text svg
                    (number-to-string (1+ i))
                    :x x :y (+ y text-size)
                    :fill-color grid-color
                    :font-size text-size
                    :stroke-width 0))))
    (dotimes (col (1+ num-cols))
      (let ((x (* col col-size dot-spacing)))
        (svg-line svg x margin-top-height x height
                  :stroke-color grid-color
                  :stroke-width line-width)))
    (dotimes (row (1+ num-rows))
      (let ((y (+ margin-top-height (* row row-size dot-spacing))))
        (svg-line svg 0 y width y
                  :stroke-color grid-color
                  :stroke-width line-width)))
    svg))

With that function defined, I can make a template with:

(with-temp-file "~/Dropbox/sketches/icon-grid.svg"
  (svg-print
   (my-dot-grid-boxes-template)))

I used that template to draw a bunch of little doodles. The Noteful app I use on my iPad makes it easy to import a template and then export my drawings without including the template.

(If this blog post is out of date, you can check the Dot-grid box templates section in my config for my current code.)

I've done this sort of thing before, when I made a font based on my handwriting. That time, I used Python to generate the template with sample characters, and I used Python again to cut the exported image into individual glyphs.

The drawings

Once I imported the template into Noteful, it was easy to draw using fragments of time. 35 boxes are a lot, but each icon was just a few minutes of drawing, and I enjoyed seeing the progress.

Stream of consciousness

Sometimes I drew whatever came to mind:

Text from sketch

Drawing practice 2025-09-24-09

me A+ pizza mom and kid flower witch hat pencil chopsticks rice bowl peach pillow desk fan folding fan pumpkin jack o' lantern ghost taxes broomstick bubbles candy bow bao bowl strawberry tomato cherries cake slice cake

Text from sketch

Drawing practice 2025-09-25-01

mug teacup tempest in a teapot skull poison cauldron tree baseball cap propeller beanie top hat magic magic wand cape playing card hanging towel folded towels soap dispenser bar soap picnic table picnic basket bread croissant donut donut sandwich soup bowl rice and eggs oatmeal

Text from sketch

Drawing practice 2025-09-26-01

clogs slippers slipper tic-tac-toe stockpot skillet crepe pan crepe pancakes cereal sun sailboat crown see saw ice cream cupcake with icing dress and pants rice cooker leap heart heart - anatomical eye headband hairpin bandage glasses glass straw air purifier mask - KN95 pie pie slice pie chart orange lemon

Text from sketch

Drawing practice 2025-09-26-02

trash can garbage can chef's knife paring knife steak knife bread knife butter knife egg egg shells scrambled egg toast bean peas peas hot dog in a bun hot dog octopus avocado taco milk yogurt applesauce chicken drumstick sushi - hand roll lamp present presentation audience applause almond bitter melon oil chopping board partly cloudy rainy cloudy

Learning from books

Other times, I tried systematically going through the doodling books I checked out from the library:

Text from sketch

From "How to Draw Almost Every Day" - Kamo 2025-09-26-05

sake bottle sake cup brush snowflake kite top cat sleeping orange rice cake ornament notebook kimono shopping bag pencil eraser thermometer medicine scarf mittens glove hat boot coat skate snowman shovel washer refrigerator microwave laundry convenience store blimp spatula hot pot bonsai coffee maker

Text from sketch

From "How to Draw Cute Doodles and Illustrations" - Kamo 2025-09-29-05

enjoyment crying happy or asleep making a mistake sleepy yum or cheeky cheerful or excited smiling confusion anger unsettled discomfort front view rear view side view sitting on a chair teacher baby kids (1-3) kids (4-5) walking running jumping raising a hand sitting on the floor swinging singing drawing sunny rain cloudy windy stormy snow moon and stars

Text from sketch

From "How to Draw Cute Doodles and Illustrations" – Kamo 2025-09-30-05

cat cat profile dog dog cat napping cat sitting upright dog dog (fluffy) rabbit monkey mouse cheetah bear raccoon dog fox squirrel lion koala pig elephant sheep giraffe horse bird (front) bird (profile) duck owl swan sparrow nest peacock chicken, chick, egg stork fish whale

Extracting icons from my other sketches

I also extracted the stick figures and cats I'd drawn for different emotions.

Text from sketch

Stick figure feelings 2025-09-30-05

playful content interested proud accepted powerful peaceful trusting optimistic startled confused tired busy amazed stressed stressed excited bored scared mad aggressive frustrated frustrated let down bitter weak weak anxious distant critical humiliated rejected threatened insecure insecure

Text from sketch

Stick figure and feline feelings 2025-09-30-06

lonely vulnerable despair guilty depressed hurt awful disapproving repelled disappointed startled confused bored scared excited tired let down rejected insecure anxious threatened humiliated cheeky interested peaceful successful content aggressive accepted trusting proud vulnerable optimistic lonely frustrated

Splitting up the drawings into individual components

Because I kept all my doodles within the template's boxes, it was easy to split up the images into individual files. First, I needed the text for all the labels. Sometimes I typed this in manually, and sometimes I used Google Cloud Vision to extract the text (editing it a little bit to put it in the right order and fix misrecognized text). Then I used Emacs Lisp to read the labels from the text file, calculate the coordinates, and use ImageMagick to extract that portion of the image into a file. I used filenames based on the label of the individual icon and the ID of the image it came from.

Code for extracting the icons

(cl-defun my-dot-grid-boxes-list (&key (num-rows 5)
                                       (num-cols 7)
                                       (dot-spacing 60)
                                       (row-size 6)
                                       (col-size 6)
                                       (text-bottom 1)
                                       (margin-top 2)
                                       filename
                                       &allow-other-keys)
  "Return a list of boxes."
  (let* ((margin-top-height (* margin-top dot-spacing))
         (max-image-size nil)
         (size (image-size (create-image filename nil nil :scale 1) t))
         (ratio (/ (car size) (* num-cols col-size dot-spacing 1.0)))
         results)
    (message "Expected adjusted height %f actual height %f"
             (* (+ margin-top (* num-rows row-size)) dot-spacing ratio)
             (cdr size))
    (dotimes (i (* num-rows num-cols))
      (let* ((r (/ i num-cols))
             (c (% i num-cols))
             (y (* (+ margin-top-height (* r col-size dot-spacing)) ratio))
             (x (* c row-size dot-spacing ratio))
             (width (* col-size dot-spacing ratio))
             (height (* (- row-size text-bottom) dot-spacing ratio)))
        (setq results (cons
                       `((r . ,r)
                         (c . ,c)
                         (i . ,i)
                         (x . ,(floor x))
                         (y . ,(floor y))
                         (w . ,(floor width))
                         (h . ,(floor height))
                         (x2 . ,(floor (+ x width)))
                         (y2 . ,(floor (+ y height))))
                       results))))
    (nreverse results)))

(defvar my-sketch-icon-directory "~/sync/sketches/icons")
(cl-defun my-dot-grid-boxes-extract (&rest args &key filename labels
                                           (output-dir my-sketch-icon-directory) force &allow-other-keys)
  (let* ((list (apply #'my-dot-grid-boxes-list args))
         (base (file-name-base filename))
         (ext (concat "." (file-name-extension filename)))
         (id
          (if (string-match "^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]" base)
              (match-string 0 base)
            ""))
         results
         args)
    (dolist (icon list)
      (let-alist icon
        (let ((new-filename (expand-file-name
                             (concat (my-make-slug (elt labels .i)) "--"
                                     id
                                     (format "-%d-%d"
                                             .r .c)
                                     ext)
                             output-dir)))
          (push `((term . ,(elt labels .i))
                  (icon . ,(file-name-nondirectory new-filename))
                  (source . ,(file-name-nondirectory filename)))
                results)
          (when (or force (not (file-exists-p new-filename)))
            (setq args
                  (list (expand-file-name filename)
                        "-crop"
                        (format "%dx%d+%d+%d" .w .h .x .y)
                        "+repage"
                        new-filename))
            (message "%s" (concat "convert " (mapconcat #'shell-quote-argument args " ")))
            (apply #'call-process "convert" nil nil nil args)))))
    (nreverse results)))

(defun my-dot-grid-boxes-labels (id)
  (with-temp-buffer
    (insert-file-contents (concat (file-name-sans-extension (my-get-sketch-filename id)) ".txt"))
    (goto-char (point-min))
    (re-search-forward "^ *$")
    (split-string (string-trim (buffer-substring (point) (point-max))) "\n")))

2025-09-30_13-13-52.png
Figure 1: Dired and image-dired in Emacs

I really liked being able to write code to extract and name images all in one go. If you don't want to dive into Emacs Lisp, though, you can slice up a large image into small ones using ImageMagick.

Thinking ahead: if I use a similar process for my daily drawings, I can extract an "on this day" slice like the one I have for blog posts and sketches (blog post about it).

I had worked on a similar visual vocabulary project in 2013, but I had made it as a shared notebook in Evernote. That's gone now, and I can't remember if I backed it up or where I would've saved a backup to. Ah well, no harm in starting again, with files under my control.

Looking up images

Now that I'd broken down the images into labelled components, I wanted to be able to quickly look up icons from a web browser; my own version of The Noun Project. First, I exported the label information into a JSON.

Code for processing a sketch and updating the index

(defun my-sketch-icon-update-index (list)
  (let (data
        (index-file (expand-file-name "index.json" my-sketch-icon-directory)))
    (with-temp-file index-file
      (setq data
            (if (file-exists-p index-file)
                (json-read-file index-file)
              '()))
      (dolist (entry list)
        ;; Remove current entry
        (setq data (seq-remove (lambda (o)
                                 (and (string-match (regexp-quote (alist-get 'source o)) (alist-get 'source entry))
                                      (string= (alist-get 'term o) (alist-get 'term entry))))
                               data))
        ;; Add a new entry
        (push
         `((term . ,(alist-get 'term entry))
           (icon . ,(alist-get 'icon entry))
           (source . ,(alist-get 'source entry)))
         data))
      (insert (json-encode (sort data :key (lambda (o) (alist-get 'term o)) :lessp #'string<))))))

(defun my-dot-grid-boxes-process (id &optional force)
  (interactive
   (list
    (my-complete-sketch-filename "drawing")
    current-prefix-arg))
  (let* ((labels (my-dot-grid-boxes-labels id))
         list)
    (cl-assert (= (% (length labels) 7) 0))
    (cl-assert (> (length labels) 1))
    (setq list
          (my-dot-grid-boxes-extract :output-dir my-sketch-icon-directory
                                     :num-rows (/ (length labels) 7)
                                     :filename (my-get-sketch-filename id)
                                     :labels labels
                                     :force force))
    (my-sketch-icon-update-index list)))

(defun my-dot-grid-boxes-process-all-icons ()
  (interactive)
  (dolist (source (my-sketches "icons")) (my-dot-grid-boxes-process source)))

Then I made a simple interface for looking up icons.

2025-10-01_10-09-32.png
Figure 2: Screencast showing my icon lookup interface

I can filter it by terms, and I can exclude the icons I've copied from illustration books for practice.

I can even use it as a rudimentary visual menu for showing A+ some choices.

Oatmeal, cereal, pancakes

2025-09-30_13-40-06.png

Reflections on doodling

My curves are shaky. I'm mostly learning to ignore that and draw anyway. Good thing redoing them is a matter of a two-finger tap with my left hand, and then I can redraw until it feels mostly right. I try up to three times before I say, fine, let's just go with that.

I often draw with my iPad balanced on my lap, so there's an inherent wobbliness to it. I think this is a reasonable trade-off. Then I can keep drawing cross-legged in the shade at the playground instead of sitting at the table in the sun. The shakiness is still there when I draw on a solid table, though. I have a Paperlike screen protector, which I like more than the slippery feel of the bare iPad screen. That helps a little.

It's possible to cover it up and pretend to confidence that I can't draw with. I could smooth out the shakiness of my curves by switching to Procreate, which has more stylus sensitivity settings than Noteful does. A+ loves the way Procreate converts her curves to arcs. She moves the endpoints around to where she wanted to put them. I'm tempted to do the same, but I see her sometimes get frustrated when she tries to draw without that feature, and I want to show her the possibilities that come with embracing imperfection. It's okay for these sketches to be a little shaky. These are small and quick. They don't have to be polished.

The Internet says to draw faster and with a looser grip, and that lots of practice will build fine motor skills. I'm not sure I'll get that much smoother. I think of my mom and her Parkinson's tremors, and I know that time doesn't necessarily bring improvement. But it's better to keep trying than to shy away from it. Maybe as I relax more into having my own time, working on my own things and moving past getting things done, I'll give myself more time for drawing exercise, like filling pages with just lines and circles.

Reflections on sources

I had fun coming up with words and drawing them. I could start with whatever was in front of me and go from there. I used my phone to look up the occasional reference image, like the heart. Sometimes A+ suggested things to draw. Sometimes she even took over.

The books were handy when I didn't feel like thinking much. I could just reproduce the already-simplified drawings. I often felt like I still wanted to tweak things a bit more to make them feel like my own, though, which was a useful way to figure out more about what I like.

Instead of mimicking other people's sketches, I can mine my sketchnotes and pull out the concepts I tend to think about a lot. If I've drawn them in Noteful, I can even copy them from their original sketches, resize them, and make the lines a consistent thickness. If I've drawn them elsewhere, it's easy enough to redraw.

Other resources

Ellane W's mustache post reminded me that Inktober has just started, so that's another source of ideas. Zsolt's 2021 post on sketchnoting for PKM led me to Quick, Draw!, which has 345 simple drawing prompts I can try. There's also a TU Berlin dataset with 250 drawing prompts. SketchDaily Reference Site could be good for randomness and inspiration, too.

Building a visual library is a great way to learn how to actually draw things. I'm curious about using this 30-minute drawing exercise to start paying attention to a few things, and maybe using the shrimp method if there's something I really want to nail down. Visual mnemonic links might be a way to explore the connections between things as I wander around ideas (even though this video is way more advanced than I am).

Next steps

I think I'll keep drawing these visual vocabulary practice sketches, focusing more on my own ways of drawing. It's fun. I have 324 icons at the moment. I wonder what the collection will be like when I have a thousand terms in it.

On the Emacs side, it might be interesting to quickly add a related doodle to the margin of a blog post, or to look up or copy a personal reference image as I untangle my thoughts in a sketch. I'm tempted to write some Emacs Lisp that searches for these terms in my draft blog posts and adds a little hint whenever it finds a match. Another small piece of code might identify recurring nouns and verbs in recent posts and suggest those if I haven't drawn them yet. Could be fun.

Check out my icon library if you're curious!

View org source for this post

Visual vocabulary practice - ABCs

| drawing

I've been giving myself more time to just enjoy drawing: not trying to untangle a thought, just wandering around and seeing where the lines and colours take me. While looking for examples of sketchnotes for self-facilitation for my post on finding the shape of my thoughts, I came across Sketchnotes: Changing The Way You See Your Thoughts — Creative Soul of Denise Nicole. I liked the ABC exercise near the bottom. For fun, I copied the same words and tried my own spin on things.

Text from sketch

Visual vocabulary practice - ABCs 2025-09-21-04

  • anchor
  • banner
  • calculate
  • DNA
  • energy
  • freeze
  • guitar
  • height
  • Instagram
  • judge
  • kid
  • ladder
  • meeting (A+ drew the details)
  • network
  • obstacle
  • planning
  • quote
  • repeat
  • scroll
  • think
  • universe
  • volley
  • weight
  • x-ray
  • yo-yo
  • zoo
  • extra: jar
  • extra: light

When A+ saw what I was doing, she asked me to swap out my meeting icon from "people around a table" to her online meetings at virtual school. She even added details: "This is the kid with the Minecraft background, this is the kid with big headphones…" I enjoyed watching her in this state of playful focus. I wonder what else I can draw that she might have fun taking over. "Meeting" is my favourite one in this set, but since that's mostly A+'s, my next favourite is "freeze." Canada gets even colder than -20C, but for me, -20C is definitely stay inside weather.

I've also been enjoying Kamo's books, like How to Draw Cute Doodles and Illustrations. Her style reminds me of the Illustration School series by Sachiko Umoto, which I also liked. I think I tend towards simple and approachable rather than realistic or technically impressive. Learning how to draw concrete things might help me get better at drawing abstract things. It's fun to slow down and pay attention to more details, too. Turns out I'd been drawing guitar holes in the wrong place all this time. Now I know!

Related posts:

Here are some other resources that might be helpful:

View org source for this post

Anchoring my thoughts with a sketch

| drawing, writing, blogging

Text and links from sketch

Anchoring my thoughts with a sketch

I keep most of my notes in text files. This is great for searching, but the sameness of the typography makes things blur together.

I have to read a lot to remember what things felt like, and I still feel so much is missing. Some people can evoke lush word-pictures. I'm not there yet.

Lately I've been giving myself more time to draw, to colour, to doodle.

"Today: A+ kept giving me hugs as we walked home from the supermarket."

Even my simple sketches give me a surprisingly good sense of what I felt, what I cared about.

I made a font from my handwriting, but real handwritten text says so much more.

Comics are very expressive. I wonder how they do that. How do they draw something so specific and yet so resonant?

I take a tangled thought, coax a bit of it into a drawing, and see where that takes me.

"A drawing is simply a line going for a walk." - Paul Klee

Sometimes I do an audio braindump to feel my way around it or to capture lots of details. That gives me a wall of text. Too much, and at the same time, not enough.

I might try to make an outline and expand it, but I often lose steam.

I like organizing and fleshing out the sketch. Drawing it is fun.

Then I can write the text. I often add lots of details and links. Sometimes I feel lost in the weeds. The sketch becomes my map.

I want to finish writing so that you can see my sketch! (and so it makes sense to you and my future self)

Sometimes I just keep playing with the drawing until something interesting emerges.

https://sach.ac/2025-09-12-07

I've been drawing more lately. It's slow, but more fun. I like looking at my sketches from years ago. I think I will like these ones years from now.

I feel like drawings do a good job of reminding me what I feel about a topic, why I want to write about it, and what the overall shape of the topic is, which is important so that I don't run out of steam a couple thousand words into a post. The drawing also encourages me to finish the post so that I can put it out there.

Other related posts:

Elsewhere:

View org source for this post

Writing into the quiet

Posted: - Modified: | blogging

Text and links from sketch

Writing into the quiet 2025-09-08-02

There's a conversation 1 about whether blogging is lonely and I wanted to reflect on that from the perspective of 24ish years of sharing notes on my idiosyncratic interests. Blog conversations remind me of the Great Conversation between book authors2 sometimes with centuries in between. In contrast, blogs. are quick, open, convivial.

When it comes to developing ideas, I like public writing more than the ephemeral cacophany of in-person conversations, social media @replies or private e-mails.

My notes are often for my present understanding and sometimes for my future selves. If they resonate with others: bonus!

I think this might be a useful way to think about it.

Write out of self-interest. Leave the door open for serendipity

Then it's not about "No one's liking or commenting" or even "Why can't I find other people like me"

It's more like: I'll keep exploring and taking notes, because it's fun. Maybe I'll bump into others and swap notes someday. Who knows?

There's a conversation about feeling lonely while blogging that echoes through the years. Here's a recent instance: Do blogs need to be so lonely? - The History of the Web; I also liked The silent applause | Robert Birming and Blogs don’t need to be so lonely – Manu. Me, I mostly write for myself, and I don't feel particularly lonely doing so. It's a pleasant surprise whenever I hear from someone, but it's not my main goal. I'm content to plod along, trying to untangle my thoughts and leave some breadcrumbs for my future self. This has been very handy not only for technical posts, but also for things like being able to remember what it was like to be a twenty-something. Writing into the quiet without expecting a reply is like enjoying a comfortably silent beach and occasionally being delighted when you discover someone else's message in a bottle.

Blog conversations are so much faster than book conversations. We don't have to pass through publishing gatekeepers, we don't have to wait years… just ideas bouncing back and forth. Marvelous.

Commenting is easier than writing from scratch, so it would be nice to give people that space to share their follow-on thoughts more easily, but it's becoming more of a hassle as parts of the Web become more hostile. (Thanks, spammers and advertising cookie-trackers.) I turned off comments on my blog back in March as Disqus had gotten overbearing with ads and tracking. I didn't feel like figuring out another commenting service or self-hosting my own. I don't miss wading through all the spam. I do miss the ease of public comments and the tips people shared, mostly because it was convenient to see and share those replies in one place. Still, there's space for commentary. Some people comment via Mastodon or their own blogs. Once in a blue moon, a post will strike enough of a chord to get shared via Reddit or something like that. And there's always e-mail.

I like blog carnivals: someone proposes a theme, people can choose to write about it, and the host links to all those posts for easier discovery. There's one for IndieWeb and there's one for Emacs. It's fun seeing all these different takes on the same topic.

I wish it was easier for more people to share what they've been figuring out. I don't think the technology is the limiting factor. My mom used to keep a blog on Blogger, and she also wrote some posts in the self-hosted Wordpress I'd set up for her before. My sister writes long stories on Facebook and Instagram so that she can untangle her thoughts and capture the memories. Never mind that Facebook is a walled garden that's hard to follow outside its algorithmic feed; at least she's writing. I think it's more that the process of sitting down and turning your thoughts into words takes time and energy. That's the hard part, but that's also what's worthwhile. You can't skip it by using a large language model.

Is writing lonely? I wish more people had the space to sit with their thoughts and figure them out, and I wish they were easier to find. I'll settle for reaching across time and space: to my future self, for sure, and maybe to others whom I may or may not interact with. Send enough bottles out to sea, comb the beach often enough, and I'll find plenty of people who like to take that quiet, thoughtful approach to life (even as we gently poke fun at ourselves for possibly overthinking things). Fortunately, if they blog, it's easy to keep in touch lightly: not limited by anyone's energy or interest at a particular point in time, but just open to serendipity.

A message in a bottle

: A few more thoughts I want to connect to this one:

  • Henrik Karlsson's essay on writing as a search query for people
  • I came across Twilight Journal via r/stoicism today, so I wanted to link to that too. Messages in bottles.
  • And another thought about the night sky and how it's filled with stars, even though there are unimaginable spaces between them… (Not that I've seen a clear night sky lately, but I have one clear memory of it as a child that stays with me.)

Footnotes

2

I picked up this idea from Adler and van Doren's How to Read a Book and the idea of syntopical reading.

View org source for this post

Considering these monthly emoji summaries

| writing, visualization

In February, I started adding emojis to my monthly summaries. I added emojis to the lines for the text versions of my monthly sketches, then used a little bit of Emacs Lisp to convert that into HTML code with the text as a tooltip. I wondered what it might be like to represent a lot of days very densely. Would the constrained vocabulary of emojis be enough to give me a sense of the time, combined with the ability to hover over the emojis to see the keywords I wrote for that day?

Feb: 👀💃🖼️🤖🐕📱📱🛷📸🎨🏢🛷🎤☃️❄️🍪🚲📝🧁🧁⛸️❄️🌀⛸️📈🤖🔍 Mar: 🔥🎵🥧🍎✏️⛸️📰😴⏲️🍕🖨️🏝️🎮📚🎵🎮🐒🦷👥🧁🏺💭📺🐟🚲🧁🥾🌧️📝🛒 Apr: 🎭🚲👕🤔🌱🎮🩹🏘️🪓🔥🌱🔧🎭🐠✍️🥚🌱🖩🚲🐒🫧🩹☀️🎮🛴🚲🍨📚 May: 🌧️🎨📰🚴🌼🐱🐸📰🦷🧵🚂🔥🐕🐒🏰🔥💡👗♻️🎮🌧️🎣🎪🏺💻🍦🎢🍓🛝🧵 June: 🖼️💦🪴🪡🪡🙃🍦🚲🪡🍪😴🍦🚲🥔👴👰🍓🌧️🦕🌡🥧😷🌡🍓🎵🪡🏊🏺🐸🪡 July: 🎇🏊🥖🎮🏊🎮🏖️🦈🛍️🗘🧺🏊🂡🏊🏊🏊🪄🤖⚔️👕🥣🤖🚴🏊🏊😃🏺🥣🎨🫐🚴 Aug: 🌻🛍️🐠🌊🎮💦🚴🦕🛒⛏️👓🎂🌹🏠🌻🎩🤸🏺🖍️🗄️🏺🎨😷🎂👧🎡🎨⛏️🎹🦁⛏️

Not bad. I can see the campfire and s'mores days (🔥), the time we were sick (🌡️), the shift from skating and sledding to biking and swimming, the days when I focused on sewing. In contrast, here are the monthly calendar sketches:

Hmm. I'm primarily interested in episodic memory retrieval and pattern recognition. The emoji summaries might be better at showing repetition because of the constrained vocabulary and the density is neat, but they're not quite expressive enough to resonate with me. I don't like hovering to see the tooltip, but by itself, the emoji doesn't usually have enough information to trigger my memory (either on its own or as part of the episodic context). Emojis and text also open up the possibility of an "on this day" slice, but I can get that with the plain text or by adding an on-this-day.rss to my web-based journal viewer with maybe some kind of private feed in our local network.

The sketches are more fun to flip through, especially now that I'm adding more colour to them. I can show repetition through background colour or icons in my monthly sketches. If I click on these images in my blog post or in my public sketchbook (ex: monthly sketches) using either my laptop or my tablet, I can page through them quickly, like the idea of rapid serial visual presentation 1. (This is great! Now I'm tempted to figure out how to disable all animations for BiggerPicture for just that bit of extra speed, which I think is a matter of tinkering with mediaTransition…) I wonder what it would take to have an automatic "on this day" slice for my monthly calendar sketches. Maybe if I was stricter about using a template so that I can automatically extract boxes from it, or maybe if I can use recognized numbers to figure out the layout… Definitely a someday thing, but could be an interesting challenge.

Do I want to do these emoji summaries long-term? Someone summarized 5 years of diary entries as emojis, and of course there's an app to do this too. Even on a larger scale, though, I think I might just get a few "huh, how about that" moments out of it rather than "wow, that's amazing." I think that if I continue with my daily sketches, that's probably more fun for me to make and review, and it still contains enough information to allow me to map the days to emojis later on if I want to. I can probably discontinue this emoji experiment. I'm glad I explored it, though.

In case you're curious about the Emacs Lisp code for extracting the emoji summaries, here's the function. It looks for the top-level blog post, scans for lines matching "dayNum. (emoji) text summary of day", and then turns that into the appropriate span, including links if there are any.

(defun my-org-emoji-summary (&optional label)
  (let (results)
    (save-excursion
      (goto-char (org-find-property "EXPORT_ELEVENTY_PERMALINK" (org-entry-get-with-inheritance "EXPORT_ELEVENTY_PERMALINK")))
      (let ((end (save-excursion (org-end-of-subtree))))
        (while (re-search-forward "^\\([0-9]+\\)\\. \\([^A-Za-z0-9]+\\) \\(.+?\\)\\(- weekly highlight\\)?\n" end t)
          (let ((day (match-string 1))
                (icon (match-string 2))
                (text (match-string 3)))
            (push
             (if (string-match org-link-bracket-re text)
                 (format "<a href=\"%s\" title=\"%s - %s\">%s</a>"
                         (match-string 1 text)
                         (match-string 2 text)
                         day
                         icon)
               (format "<span title=\"%s - %s\">%s</span>"
                       text
                       day
                       icon))
             results)))))
    (format "<div class=\"emoji-summary\">%s%s</div>"
            (if label (concat label ": ") "")
            (string-join (nreverse results) ""))))

Footnotes

1

Bruijn, Oscar & Spence, Robert. (2000). Rapid Serial Visual Presentation: A space-timed trade-off in information presentation. 189-192. 10.1145/345513.345309. PDF accessed 2025-09-05.

View org source for this post

Considering the format of daily sketches

| drawing

Text and links from sketch

Considering the format of daily sketches 2025-09-03-06

The iPad is comfortable to draw on in landscape mode, so for the past few months, I've been drawing my daily moments as monthly calendars. Before then, I used to draw a dozen daily sketches on one page. And long before that, daily index cards.

Some people draw fancier sketches. These ones are ArneBab's.

  • How he started in Aug 2022
  • Latest one: Aug 2025

I like the varied sizes, colours

Tanny McGregor has a colourful calendar. (5 minutes a day? Hmm…)

  • but this is from 2020

Here's Winnie Lim. This one's Jan 2025.

Maybe I'll try putting more time into it. Just doodle. It's okay to slow down.

What do I want from my sketches?

  • Moments I might not have photos of: sketches don't have to be photorealistic, although it might be good to get a better sense of what we feel like, and then what we look like
  • Playfully stretching my skills
    • details
    • shading
    • colour
  • Maybe I can try Procreate? Easy layers, colour fill.
  • Stick with Noteful for now - nice to work with notebooks

Feel free to use this sketch under the Creative Commons Attribution License.

I've been regularly drawing daily moments for a while now. Now that I have a little more time for myself, I want to think about how I can make this even better. I think I'd like to start with more colour, especially as the cooler months approach. (I used to struggle with the desaturated bleakness of winter, but now I'm beginning to realize I can add the colour myself.)

I also want to play around with more expressive faces and figures, and drawing more types of things. That probably means doing a daily drawing (or drawings) in addition to my moment of the day, so I can play with things that might not show up in our everyday life. I can start by focusing on cartoony illustrations: simple lines and curves and colours. It doesn't have to be realistic. Fancy shading can wait.

It's okay to keep things simple with a monthly grid. Maybe eventually I'll relax the grid and play with different sizes. Eventually I might start to mix in more text, like the way some people do travel journals. I tend to write a lot of text in my sketches by default, though. Starting with the grid forces me to keep text to a minimum.

Someday I'd like to be able to tell stories in comic form, like Drewscape does. I can develop an ear and an eye for stories. Much to learn.

Links for inspiration:

Who else should I add to my feed reader?

View org source for this post

Colours

| drawing

(View sketch)

Text and links from sketch

Colours (August IndieWeb Carnival theme) sach.ac/2025-08-31-02

I don't draw with lots of colours these days, even though I can have as many as I want. Usually:

  • black
  • highlight
  • maybe gray
  • maybe an accent colour

I've drawn with more colours before. I think it's when I feel more relaxed about time. A+ is playing Minecraft with her cousins. I could do many other things, but I want to draw.

I looked at 18 years of sketches and picked some things I like.

I came across this collection I made, too: highlighter (style I tend to use), decorations (Luigi Mengato), toned text (Kazumi Koyama), contrasting text (Timothy J. Reynolds), accent text (Eva-Lotta Lamm), spacer (Makayla Lewis), areas (Per Axbom), glow (Katharina Bluhm), background (Eva-Lotta Lamm), flood (ItsLilpeanut), text and outlines (Heather Willems), colourful outlines and fills (Liisa Sorsa), everything (Lynne Cazaly), shade (Makayla Lewis), shaded cartoon (Hamish MacDonald)

I circled the ones I want to try.

In Syllabus, Lynda Barry assigns colouring sheets. Don't rush. Students figure out that thicker colour = more fun.

The library always has crayons and sheets. I've been colouring while waiting for A+. I press hard and fill the space.

I like seeing these across the room as I draw in bed.

Someday I'll get the hang of this!

Feel free to use this sketch under the Creative Commons Attribution License.

Hmm… so many of the sketches from my post in 2014 are no longer accessible, or the sketchnoters haven't posted anything recently, or they no longer use that style, or I can't quite find an equivalent thing to link to. Time marches on, I guess.

More recent colour inspiration from active sketchnoters:

Check out the August IndieWeb Carnival for lots of other colour-related posts.

View org source for this post