💾 Archived View for soviet.circumlunar.space › rwl › gemlog › 2021-03-16-noradraw.gmi captured on 2023-03-20 at 18:25:48. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

-=-=-=-=-=-=-

nora

I have a niece named Nora. She just turned three. We live in different

countries and, despite the ease of international video calling these

days, the time difference and the attention span of a three year old

mean that we don't see much of each other.

I'm still figuring out how to be an uncle. Nora is the first of her

generation in my family. It's been a while since I've had to have any

kind of meaningful relationship with someone who does not have at

least a high school education. I'm out of practice, to say the least.

I like kids! Or so I always thought. But somehow interacting with them

doesn't seem to work. Like there's a part of my brain that has long since

switched off, and now simply sputters and recoils a little when it has

to respond to this person who can't sit still long enough to finish a

thought more complicated than "I want X NOW".

Unless there's a book. Or a screen with a story on it.

noradraw

https://git.sr.ht/~wyleyr/noradraw

I tried to solve the problems of being an uncle recently by writing a

program. It is called noradraw. It's a drawing program for the

terminal. You move the cursor to draw lines. You can use eight colors,

and a variety of ASCII characters for textures. You can save a drawing

that you made, or load a saved drawing. And that's about it. My stroke

of brilliance was adding a feature that plays back a drawing exactly

as it was drawn. Whenever you load a drawing, it feels like the person

who drew it is drawing it again. This, at least, is fascinating for kids.

I tried to make the interface as simple as possible, but I don't think

I made it simple enough for a three year old to use unattended. The

limitations of keyboard input mean that one needs at least some

conception of the alphabet and the mappings between letters, sounds,

and words, which is tough for a person who cannot read on her own. The

upside is that it can run over ssh from a very minimal server. So it's

great for interacting with someone nine timezones away.

The program is, at the moment, about 300 lines of Python 3. It uses

the ncurses library to do all the terminal interaction. The code is

hacked together and needs cleanup.

And it's fun.