Kids NCurses Messenger

May 22nd, 2021
house, kids, tech
Yesterday I wrote a program that lets me and Lily (7y) send messages back and forth:

The laptop is an eeepc 700. It was the first mass produced netbook and I liked it a lot. By 2010 I wasn't using it anymore, and it ended up in the basement. Recently I found it, and noticed that while it is still a ridiculously tiny computer, it is a good size for a child:

It still booted, and was apparently running Debian 7. I'm not sure where that came from; I had thought it had been in a box since before Debian 7 came out in 2013, but I guess not. I wasn't entirely sure what I wanted to do with it, but started by upgrading it to something recent. It was too old for apt-get dist-upgrade on its own, but by putting first 8, then 9, then 10 in /etc/apt/sources.list I was able to get it up to date with apt-get update && apt-get upgrade.

Thinking more about what to do with it, I thought Lily would be excited to have something her size, which might get her more interested in typing and writing. After over a year of remote school (and a bit of parental lessons) she could use the practice!

I started by writing a simple chat TUI in python with curses. It has a section at the bottom for input, and the rest is for the conversation so far. I added exec python3 simplechat/client.py to the end of her .bashrc, so it starts automatically when she logs in.

I initially wanted to make it send texts, but everything seems to cost at least $1/m for a phone number. Thinking over the chat apps already on my computer/phone, Slack would work well: they prioritize making it easy to integrate with.

Posting to Slack directly from the client was straightforward, but there wasn't a great way to receive messages. I decided to write an intermediate server to receive messages with Slack's Events API, and have the client poll it. I didn't use any of their libraries; it was simple enough to send and receive JSON.

Our house Slack now has a #kids channel, and any of us who join it can talk to Lily. I could potentially add external guests, but I'd want to teach her about @-ing people first. I could also potentially build support for other kids to join; perhaps her cousins when they're literate?

She's pretty happy with it, though I am curious how much she ends up using it.

(The code is on github.)

Comment via: facebook, lesswrong

Recent posts on blogs I like:

What are the results of more parental supervision and less outdoor play?

Ups and downs for mental health and injury rates The post What are the results of more parental supervision and less outdoor play? appeared first on Otherwise.

via Otherwise November 24, 2023

My startup advice

I sat down for a conversation with Alex Long. He took notes and sent them to me, and it seemed worth lightly-editing the notes and posting. I’ve left it quite raw, more like a tweet thread than a proper blog post.

via Home October 23, 2023

A Big Problem With The Going To Bed Book

One day my dad was reading this book called the "Going to Bed Book" to my sister Nora. The book is basically about a bunch of animals who are getting ready for bed on a boat. They go down the stairs, take a bath, hang their towels on the wall, find…

via Lily Wise's Blog Posts September 18, 2023

more     (via openring)