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.)

Referenced in:

Comment via: facebook, lesswrong

Recent posts on blogs I like:

Contra Scott Alexander On Apologies

I really need a short word for "complicatedly in favor of"

via Thing of Things September 12, 2024

Don't Help Kids With Contra Dancing If They Don't Need Help

If you're a kid like me, most kids have probably never heard of contra dancing before. You're probably wondering: contra dance -- what's that? Contra dancing is in some ways similar to square dancing. It's a group dance with a caller and…

via Lily Wise's Blog Posts September 9, 2024

Two 19th-century missionary memoirs in China

Life for an American family in 1860s China The post Two 19th-century missionary memoirs in China appeared first on Otherwise.

via Otherwise August 24, 2024

more     (via openring)