#computingforlittles — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #computingforlittles, aggregated by home.social.
-
I just had a lovely chat about the meaning of meaning and why it can't be the same for everyone.
And in the midst of it all, I managed to bang out a few more pages of component reference
And they all have a lovely REPL pre-loaded with a few things to try out. Exciting things.... like toasts ;)
It's a YAML based declarative programming environment for the web and it's on sr.ht
-
"""
But why?
"""
--- you, someone who has seen me post about SmolChalkBecause computing shouldn't be opaque, it shouldn't be scary, and it shouldn't be buried behind a wall of prompt based ritual that leaves the user dumber than when they started.
We have a name for that kind of thing already - AM Talk Radio
===
Take this for example. The component carousel normally shows you all the ways that a button can be a button and just how exciting a form's input elements can really be.
SmolChalk does that too. And then goes on to embed another component that enumerates and runs the test scenarios that were created for the component. Live. In the browser. So your children understand how to verify what they're seeing for Talk Radio ^TM gets a chance at them.
-
"""
Hello World
"""
--- smolscript, to you===
SmolChalk :: when SmallTalk met Erlang and they had a baby and it was made of web components and ate markdown and cried in YAML
smolscript is what you get if you take that mess and you shake a programming language for littles out of it. Three operations `peek`, `poke` & `call`.
Some of you might know them by their formal name: The Three R's of Reading, Writing and Reckoning.
Observe state, emit state, transform state.
SmallChalk :: when Alan met Alonzo, the cathedral met the tape
-
Super lovely.
Scenarios store to the same `smol-store` as everyone else with a conventional name. Show button auto-enables when the record is found, and look at this lovely thing :)
SmolChalk :: have a play
-
YAML is /almost/ the perfect programming language. Just needs a bit of indirection
!ref <reference> in a raw data file is preprocessed to { $ref: "<reference>" } when into storage (our example cheats since the embedded fences don't yet use the same preprocessor). Fetch using `smol-node` automatically resolves the references against the source data, in this case the type dictionary.
#yamlislove #yamlislife #smolchalkisfriendy #computingforlittles
-
How fun is that? Put the scenarios right on the page that describes the component. Now all we need is a results dialog and we've got `smol-toast` the Musical (or at least a component page with reference, examples, the scenarios that verify it in its regression suite as live tests and a REPL to poke at it)
-
SmolChalk :: if SmallTalk and Erlang had a baby and it was web components for kids and it composed itself out of markdown and YAML
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]
-
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?
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 -
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 wordetc
Neat
-
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?
-
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
-
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
-
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 :)
-
🌱 Sprout Garden 🌱
I made this for my kids, I think I have more fun with it.
It's a Fisher Price My First IDE that teaches spatial programming through a judicious application of middleware
The seed has a shape and a colour.
The plots are pass-through identities with direction or transformative middleware.
The goal is to get the seed to the harvest with the right shape and colour
+++
"""
It's more fun than the sermon
"""
--- an honest, timely review -
"""
Would you believe... a kids game?
"""
--- Max to 99, notorious disbeliever===
"""
There's a leader board and everything
"""
--- he to his children, also disbelieving+++
Thought it might be fun to turn a Merkle chain into a kids game.
===
"""
I'm a believer
"""
--- he, as to himself with a tamborine, because he could -
This is such a lovely way of injecting a bit of chance into an otherwise dreary YAML
Conditional value injection, external influence. Who needs control logic when you've got a config file and just enough sugar to make it Turing complete
#programming #computingforlittles #wanderland #yamlislove #yamlislife
-
"""
The fuck is this?
"""
--- my kids, as to me, after I mistakenly thought the fun I'm having was universal and replaced all of their tablet games with what the fuck this is -
🛋️🤔
Y'all keep exploring the substrate and getting confused why it doesn't resolve.
The game is no fun if there aren't any constraints
-
🛋️🤔
Y'all keep exploring the substrate and getting confused why it doesn't resolve.
The game is no fun if there aren't any constraints
-
🌱 Sprout Garden 🌱
Y'all
Sprout Garden y'all
Sprout Garden got a Maze button y'all
I think 56% is nice this time of year 🗓️
-
🌱 Sprout Garden 🌱
🎺 Saddest Trombone...
I used to have coworkers stunned by how little i would look at my work before I ran it.
Make a change, commit and push. Trigger a build
"You're not even going to look at it?"
...
[when your work is pipelines, Jenkins is your compiler... what, you guys don't user your compiler to check for typos?]
#devops #computingforlittles #programming #education #failfastismorefun
-
🌱 Sprout Garden 🌱
🎺 Saddest Trombone...
I used to have coworkers stunned by how little i would look at my work before I ran it.
Make a change, commit and push. Trigger a build
"You're not even going to look at it?"
...
[when your work is pipelines, Jenkins is your compiler... what, you guys don't user your compiler to check for typos?]
#devops #computingforlittles #programming #education #failfastismorefun
-
That should do.
I'll play test it first and then fix rendering
#computingforlittles #education #thisishowyougamifysomething
-
🌱 Sprout Garden 🌱
This is intended to be the closing level of the first phase, which means of course it's a BOSS LEVEL!!@!
In this case, it's the idea that a shape can cycle back to itself. Somehow, the idea of a shape cycling through the start point to land later in the sequence is easier to digest than landing back on itself. Part of teaching process is teaching what change is sometimes required to occur in the first place.
The first pass through, we hadn't implemented constraints so the BOSS LEVEL!!@! turned out to be
Transform Blue Triangle into Blue Triangle
!!@!
Thus constraints were born.
Now to make this into a true BOSS LEVEL <|:o(::)>
-
🌱 Sprout Garden 🌱
This is intended to be the closing level of the first phase, which means of course it's a BOSS LEVEL!!@!
In this case, it's the idea that a shape can cycle back to itself. Somehow, the idea of a shape cycling through the start point to land later in the sequence is easier to digest than landing back on itself. Part of teaching process is teaching what change is sometimes required to occur in the first place.
The first pass through, we hadn't implemented constraints so the BOSS LEVEL!!@! turned out to be
Transform Blue Triangle into Blue Triangle
!!@!
Thus constraints were born, he must use at least one cycler - which means he must use all four
Now to make this into a true BOSS LEVEL <|:o(::)>
-
"""
The solution of course is to plan ahead, ensure enough room to recover from the transformation for the twists and turns life is sure to throw at you afterwards.
"""
--- Bob Ross or summin[and pack lots of snacks for the ride]
#devops #whyisthisdevops #iwishmypipelineslookedlikethat #minedo #programming #computingforlittles #education
-
🌱 Sprout Garden 🌱
By now he should be used to the mechanics of the thing.
The identity arrows progress without transformation
The cyclers change the shape of the thing:
- colour : red > green > yellow > blue
- shape : cicle > square > triangle > starBy now we've learned about function, now it's time for composition.
How you construct something within the constraints is important. There are often hidden constraints in how a tool is used.
For example, a cycler is configured to pass through a sprout to its cardinally opposite edge.
[we teach our littles to RTFM at a young age in this house]
The guide says a Grower seeds in all directions and sprouts as a pass through. This precludes its use in the corners as shown below.
One must teach constraints before one can teach constraint based thinking.
We cannot being our journey until we have reached the a base camp of understanding.
#curwen #pianoforte #computingforlittles #education #programming
-
🌱 Sprout Garden 🌱
By now he should be used to the mechanics of the thing.
The identity arrows progress without transformation
The cyclers change the shape of the thing:
- colour : red > green > yellow > blue
- shape : cicle > square > triangle > starBy now we've learned about function, now it's time for composition.
How you construct something within the constraints is important. There are often hidden constraints in how a tool is used.
For example, a cycler is configured to pass through a sprout to its cardinally opposite edge.
[we teach our littles to RTFM at a young age in this house]
The guide says a Grower seeds in all directions and sprouts as a pass through. This precludes its use in the corners as shown below.
One must teach constraints before one can teach constraint based thinking.
We cannot being our journey until we have reached the a base camp of understanding.
#curwen #pianoforte #computingforlittles #education #programming
-
There's a certain beauty in the symmetry
-
There's a certain beauty in the symmetry
-
🌱 Sprout Garden 🌱
Oh no! A wild super hard Daddy level has appeared
[there's a 4 step shape sequence that cycles. the level requires you to cycle through plus take one more step. the full cycle is guaranteed by the locked plots, so he only needs to work out that one additional transformer is required]
-
🌱 Sprout Garden 🌱
Oh no! A wild super hard Daddy level has appeared
[there's a 4 step shape sequence that cycles. the level requires you to cycle through plus take one more step. the full cycle is guaranteed by the locked plots, so he only needs to work out that one additional transformer is required]
-
🌱 Sprout Garden 🌱
This is very relaxing.
It's like colouring
Except there's only one colour, and it's rock.
But then you get to play with it.
Making shapes out of A1:B4 rectangles, and then drawing transforms through it
Maybe that's just my idea of a good time
Is it yours? There's always room for more in #wanderland. We make space for all here
#programming #education #computingforlittles #middlewareforyourmind
-
🌱 Sprout Garden 🌱
This is very relaxing.
It's like colouring
Except there's only one colour, and it's rock.
But then you get to play with it.
Making shapes out of A1:B4 rectangles, and then drawing transforms through it
Maybe that's just my idea of a good time
Is it yours? There's always room for more in #wanderland. We make space for all here
#programming #education #computingforlittles #middlewareforyourmind
-
A well tended garden doesn't mean it's free to grow wherever.
Even #wanderland, where intent meets reality at the speed of conversational thought, has to have rules
It's not a game if there aren't rules to follow, the rules provide the structure that fosters creativity.
If the game provides the player a set of tools and no constraints, that's not a game but a sandbox. Also a useful tool, but not at this stage of the education. And only as a little treat on Fridays, if we've been good
-
I just posted an update on 🌱 Sprout Garden 🌱
About how constraints are required to make the board into a game, without them the stark possibility doesn't provide the structure that allows creativity.
Too much choice is no choice at all
[🦶and now for something completely different 🦶]
Bluey:
Shadowlands. Season 1, Episode 5.
"They arrive and collapse in a fit of giggles realizing that having the rules has made the game more fun."
Daddy's got layers man
#programming #teaching #computingforlittles #composingthought
-
🌱 Sprout Garden 🌱
[still adorable, sleepy Daddy is slightly less giggly]
Constraints just make it more fun. The level seems somehow more inviting with structure.
Compare the difference.
Level 3 teaches the other transformer, this one colours. A four colour cycle to compliment the four shape variant taught in level 2.
A branching path is offered for construction, the player given room to build within constraint.
Level four requires combining both transforms into a sequence, shape and colour required to match to pass through the verification gate.
The empty board invites boundaries, too little structure overwhelms a mind used to exploring possibility. The constraint both requires and provides focus.
#programming #teaching #computingforlittles #neurodivergent #kiND #neuroawesome
-
🌱 Sprout Garden 🌱
Y'all, it's adorable and he's got a sister
Did y'all know you can teach language spatially?
Eagle eyed readers might be able to spot the fact that I might have a slightly different relationship with language than most
Did you know it can be hereditary?
No worries, Daddy's whole jam is isomorphic systems made of middleware
Grammar is grammar right?
Context is context right?
Does it matter if you're collecting the shape of a sprout, the verb, subject and object or a sentence or a build artifact and its associated infrastructure resources along the way?
#programming #language #computingforlittles #spatiallearning #contextiseverything
-
-
🌱 Sprout Garden 🌱
Y'all isn't it adorable?
[he's going to keep saying that isn't he]
It's got a level editor yo... Daddy embedded the konami code
^^vv<><>ba
Export the updated JSON.
I have a feeling it won't be long before we're just editing the JSON raw, it looks lovely on its own.
This is going to be a fun way to spend a slightly sickly Sunday afternoon. Developing a curriculum to teach programming from spatially oriented first principles, through the medium of play.
[the for loop is a racetrack you build to race the car you've built through composition, a blue rectangle and four red circles]
Brain training for a functor factory mind.
I mean, it's just middleware after all
#programming #teaching #computingforlittles #thewayitshouldbe
-
🌱 Sprout Garden 🌱
Y'all, isn't it adorable?
Fisher Price My First Spatial Computing IDE
New feature drop:
Users! ... I mean Rocks!
[now why would he go model users as rocks?]
Constraints my dear 🪿 constraints, why else?