vitaly-pavlenko
Joined 7 years ago
Joined 7 years ago
Comes with Robot, Turtle, HTML/CSS (pixel diff tasks) and a gradual introduction into programming concepts. Currently on JS, literally right now GPT-5.2 helps me adding Python.
I've integrated a simplified clone of Replicube. I hope to integrate ideas from Human Resource Machine and Turing Complete later this year.
I bear heritage of Eastern Bloc-typa math/programming olympiads, combined with front-end/product skills. So I kinda owe to ship this thing to community of fellow secondary school CS teachers.
Surprisingly, nothing comes closer in terms of depth and usability in the classroom for ordinary 12yo kids.
I test this thing 5 times a week in my classroom and I constantly polish it at night. 100% vibe-coding.
I have exercises:
- on turtle, using my DSL with three commands: 4[100 r90] draws a square
- on robot (blockly)
- a 2D replica of Replicube to teach conditions in JS.
I've started vibe-coding it two months ago and I add new stuff whenever I need it for my classroom.
I'll soon add signups.
The platform will be free forever, monetized via banner ads somewhere in the future. The target audience is middle school teachers of CS.
I briefly explored this appoach: https://rawl.vercel.app/edit?a=beethoven_op10no1mov1 (Although it was a mess.)
In current Rawl terms I call it "annotate modulation at every chord".
Back in the days I thought it's better.
It turned out that:
- You need to do tedious annotation. So you can only work with classical repertoire datasets like https://github.com/MarkGotham/When-in-Rome
- Worse even, you need to look at two places simultaneously: to the score and to the string of Roman numerals
- And worse still, all chords then look the same. The score itself becomes bland. Most of the time, if you aren't deep inside the jazz repertoire, there isn't that many alterations. So you'd mostly see the same four colors - root, minor third, major third, perfect fifth.
- And, as evident in Mozart-Beethoven repertoire, you need to decide what to do with fully diminished chords. Because they sorta don't have a root, acoustically.
You can always manually "probe", minutely "recolor": click on a measure number and hover a potential new tonic.
Being a jazz college dropout, I stopped building around standard notation when after two years of training - and I started learning piano at 25 - I still didn't get any fluency in instantly seeing harmonic structure in the scores.
I don't care that much about articulation. I can hear articulation anyways. What I care about is the elusive layer of harmony which is so hard to reason about without the right tools.
That's why people do Roman numerals, figured bass, all sorts of annotation: https://github.com/vpavlenko/study-music/blob/main/parts/cla...
And that's what I was chasing. Something that gives me, a guy who didn't spent formative years of K-12 by sight-reading at the piano, a way to build mental models of how Western harmony works.
And here, I believe, I'm with the majority of people.
Here's the question. If we can allow one color not to be "colorful" (chromatic), what pitch would that be? It's the tonic (pitch 1).
If we allow two such colors? 5 is a good candidate, it's present in almost all popular scales. (Locrian isn't very popular.)
The rest 10 colors go in rainbow by thirds, as you proposed.
So, using two grayscale colors, I've reduced the demand to make distinct enough color palette from 12 colors to 10 chromatic + 2 grayscale.
Which (10), in my experience fighting with different screens and projectors, is almost the limit of having something stable, distinguishable, nameable and memorable.
Funny enough, those 10 can be further split into 5 brighter and 5 darker pitches. Exactly as they turn from bright to dark if we go from bright to dark modes: https://www.dropbox.com/scl/fi/dku7jezn00yltb607j2un/Screens...
In my approach I got very dense yet readable information density on the screen. Eg. the entire Mov. 1 of Moonlight sonata is a single screen on my 16" Mac, yet all tonal effects are there, visible: https://rawl.rocks/f/Sonate_No._14_Moonlight_1st_Movement
One downside of hooktheory is that it's a reduction which someone should make for you beforehand. That is:
- it's losing information
- if no one analyzed a song yet, there's nothing you can do about it
And, although I don't have an easy way to upload MIDIs yet rather than "you ask me to upload it and I'll do it", I don't do any reduction of the (sonic) score itself.
This makes main triads be smooth gradients instead of random three-color flags.
1 and 5 pitches are neutral because:
- they are neutral (a hollow tonic power chord)
- they don't convey any information about the scale. they only give a reference point to measure everything else against