SmolChalk :: if SmallTalk and Erlang had a baby and it was web components for kids and it composed itself out of markdown and YAML

https://smolchalk.dev/

Just a bunch of little things that mostly don't suck all doing their best to give your children a place to learn whatever you can think of, and letting them explore and learn from the environment they're learning in while they do so.

#humantools #computingforlittles #smoldata #smolchalk #wanderland

How to seriously over-engineer a typing tutor for a five year old.

[I love it]

#humantools #computingforlittles

Aww... smol-button

Look how helpful smol-button is. Just a general purpose event emitter.

Now... all I need is a general purpose stuff doer to wire up to a general purpose stuff starter. Where can I find one of those I wander?

[https://wanderland.dev]

Oh right

#ruby #devops #computingforlittles #platformengineering #humantools

If you can describe your architecture as just a bunch of little things that mostly don't suck, then it probably works just fine

smol-settings[-typography|sound] :: settings w/ optional submodules
smol-letter-canvas :: themeable textarea with output character stream
smol-emoji-picker :: kids like emojis
smol-pattern-matcher :: looks for character patterns in streams, emits emojis
smol-discoveries :: card list for matched patterns
smol-speak :: did you know your brower sounds like simon?
smol-celebrate :: cellies for littles
smol-help :: for mom and teacher
smol-page :: hold a thing
smol-footer :: modeline for curious minds

#humantools #computingforlittles

Once you break everything down to components and messages, the rest is just wiring :: events and streams are the two envelope primitives with scalars, lists and typed objects inside

- Typography settings events are consumed by the text panel and the local-store for persistence. The local-store emits on load to hydrate. Same event, different source, full lifecycle
- Character stream events are emitted on key-up and consumed by a compute only pattern-matcher, it's emissions are consumed by the text panel for highlighting and by the card panel for a pictorial update of the same event
- The same pattern-matcher events are captured by a wee toast which filters and displays only the first instance of each word

etc

Neat

#humantools #computingforlittles

That's one way to to it. Read/write keys directly to the smol-data store and they immediately take effect, captured in the user-overlay and applied wherever the site cares about it.

Now to hide a little button somewhere that pops a form. Maybe challenges unlock different keys.

Are kids motivated by unlocking customizability of their own learning platform or is that just something I'm projecting?

#computingforlittles #humantools

So... what happened was I sat down to update the design language and then stuff gets a little hazy and before you know these things showed up

We're calling it `SmolChalk` :: a blessingful crossing of SmallTalk and computing for littles where everything is a component, they speak in messages and they look like chalk drawings on the sidewalk

Data driven site design, including a schema for the data model and the events. I want the whole thing to be inspectable by curious minds. The core site config is read-only, everyone gets their own append-only log on top for edits.

iPads are for consumption. Computers are for learning. SmolChalk should be fun

#computingforlittles #humantools

The Government of Canada has a design language published here https://design.canada.ca/. I've always found the design of government websites fascinating, the UK government has a similar language in their properties.

The idea is that you need to communicate your desire in a way that's able to be interpreted by as wide an audience as possible so that they can navigate a process they may need a lot of help navigating.

I've borrowed what I can as the "Elephant Design Language" and I think it's time we take another pass at it.

It's just vanilla web components. I'm going to extract out a suite of common elements, text areas, font + typography config, state emitters etc. Add a YAML provider for state data and a wee event bus to wire it all up.

I'm calling it SmolChalk for reasons I find adorable

#humantools #computingforlittles #smolchalk

Lazy Sunday and Daddy misses his 🩷🐘

She loves typing, mostly making shapes with the letters

Daddy used to do it with PETSCII on his C64

Going to steal some of that desire to teach :: typing | reading

Pick a word, simple guidance :: LETTER | row | position | highlighted key

Colour coded row | position references for quick recognition

She loves to type :)

#humantools #computingforlittles

How to ADHD and be Productive: pt 6632

Automate the tasks that distract. In this case screencasts. I wanted to be able to post a few terminal captures to illustrate just how cool it is to ask your system to describe itself and have it answer, in just about any form you want.

Enter `showtime`, a little bit of Ruby, YAML and BubbleTea (yay! bubbletea on Ruby :))

Predefined scripts, narration, scene control, stage direction (in the form of banner text) and commands that either run live or display captured output (depending on the state of your Depends and the size of the audience for your demo ;))

Neat

#ruby #adhd #humantools #devops #platformengineering