Handling user input with structured concurrency
I just published a new blog post: Handling user input with structured concurrency:
In my last post, I looked at three different ways of handling user input in a web-based interface. The last approach I discussed was based on concurrent processes, using a small, proof-of-concept library I built called Abro.
Since writing the post, I discovered a Python library called Trio, which enables a form of structured concurrency that’s similar to what I was attempting with Abro. The ideas behind Trio have influenced a number of other languages, including Swift, Kotlin, and Java.
(It's a follow-up post to Three ways of handling user input, so you should read that first if you haven't already.)
A meta note
I've really enjoyed working on these two posts. I took a bit of a different approach than I normally would: rather than starting with a point that I wanted to make, it was more of an open-ended exploration. The only goal I had was to build up a more concrete understanding of some different ways of handling user input. I certainly didn't anticipate that I'd end up building two different versions of my own concurrency library, but it turned out to be a really valuable learning process.
In Science as Subject-Matter and as Method (1910), John Dewey wrote:
Science teaching has suffered because science has been so frequently presented just as so much ready-made knowledge, so much subject-matter of fact and law, rather than as the effective method of inquiry into any subject-matter.
The same could be said of most technical content that you can find online. There's no shortage of tutorials, how-tos, and Fizzbuzz considered harmful posts. I'm trying to cultivate a more curious, open-minded perspective that's focused on understanding why things are the way they are.
Reading and listening
- 📄 Real-Time Programming and the Big Ideas of Computational Literacy (2003). Christopher Hancock's thesis, "a critical design inquiry into the nature and potential of real-time programming by children". I've read large chunks of this before, but I find new insights every time I come back to it.
- 🎧 Off-Trail Learning podcast - Alfie Kohn on Progressive Education — a interesting discussion of the major philosophical differences between progressive education and unschooling.
Take care,
Pat