This is absolutely fantastic. It also highlights that I spend most of my time these days hopping between 6.A/B, 3.B, and 4.A, with occasional progress. But seriously – I’ve lately been feeling like my norns and lua skills have been dulled somewhat this year, but this skill tree is putting things back into context for me in a really helpful way. One of these Saturdays I’ll join the study group!! :rocket:

5 Likes

i kinda skipped 4.A and 4.B :sweat_smile:

yeah come on out! we’d love to have you. next one is this sat

this is very helpful for me.
being able to visualize this entire process will give me places to search out new information when I feel as if I’ve hit a wall in one area.

I’m really looking at giving norns some of my time this upcoming year (I just got a shield from the latest batch).

I programmed a video synth for the raspberry pi with openframeworks this year and have spent tons of time with the shbobo shnth. I used to mess around with PD and MAX a lot and have released a couple things. One of my favorite max patches was an extension of Aalto that made use of a TouchOSC layout. I have a feeling hooking up TouchOSC to the norns will be lots of fun.

So I’m starting to see some similarities and have lots of things I’d like to make for norns.

looking forward to joining in

2 Likes

this really makes the idea of creating my own simple scripts some time in the future so much more approachable. imagine if school had a more similar approach? hopeful. ticking off the boxes where you already feel somewhat confident, and getting an overview to more easily find the direction of where to focus next is very helpful. i must start at 2.C and 3.B next i think : )

1 Like

YES!!

yes yes!!


ok cool this is great feedback. expect a v1.0.2 soon… :3

4 Likes

Totally skipped the 4’s too. Glad I came back to them though

slowly working my way from the right side to the left side, as per usual : )

1 Like

to know if this is this helpful?

very! great way to organize and if there were a visual like this with links, as noted by others, it would make for a great reference even if not followed in strict order

how does this make you feel about approaching norns?

mixed…i’ll explain below

anything particularly scary?

all in col 2 except 2c

anything exciting/fun?

3a & all of columns 4, 5 and 7


i can only speak for myself and know i’m in a weird middle ground of having interest in this without following through so far

what i know already makes me unafraid of certain blocks because i can see how they’d be valuable…but others might want a different path

some decisions might make more sense if i knew the value

i’d consider consolidating columns 1 & 2 and eliminating some to read something like:

1a. MAIDEN
1b. LUA SYNTAX
1c. THE DEVS MINDSET

2a. BASICS OF LUA PROGRAMMING
2b. SOFTCUT
2c. SUPERCOLLIDER FOR NORNS
2d. NORNS API & DOCS

3a. LUA TABLES
3b. FUNCTIONAL PROGRAMMING BASICS
3c. OBJECT ORIENTED PROGRAMMING BASICS
3d. DEBUGGING LUA

4a. LUA METATABLES
4b. LUA “CLASSES”

5a. SOFTWARE ARCHITECTURE
5b. SCREEN / UI BASICS *

the last item is something i’d like to see included and seems to fit with the section on planning the apps we develop

last two notes…i feel like most of the blocks listed in row with “the developers mindset” would be better served in a separate resource OR woven into these small guides as inset blurbs to encourage a beginner along the path

same could be said of the more complex CLI and git operations

a bonus learning section at the end of the series (sixth column?) OR to close certain articles w/ links and step-by-step tutorials might be cool

3 Likes

I tend to think of 4a + 4b coming last in this particular flow. 5-7 come out of 3 (and aren’t totally necessary to know outside of basics to accomplish most immediate ideas) to serve/flesh out the sound (softcut/sc). IMO supercollider/engines is most lacking in general to this point - I know I need to spend more time learning it.

maybe put another way, I think if you focus on 1-4, do the studies (4e?) etc, you’ll end up learning a lot of 5-7 without even realizing it.

all that said, I’m sure my inherent biases are at play here. ie I don’t really care about learning 5c, 6a, 6b in my free time.

2 Likes

I am not very far up this tree, just have had some 2a and 2b as a consequence of having to know it to access the internet in the olden days, but I really like this format for thinking about learning. it helps me so much to have it all laid out in front of me like this for both current and alternate paths of study and could be a model for me with other projects as well. looks nice too. I usually just make a list but this is better.

11 Likes

Coming from a visual arts background and having already tinkered (without much success) in norns scripting, I’m coming to realize that maybe I’m lacking some of that 1.C, (among several other things hehe) I’d be grateful for any pointers or references for where to start to grab that Developer’s Mindset.

Also thank you for laying out this information, I had no idea about all I was missing. Eager to learn now :slight_smile:

1 Like

Same here! I have been moonlighting as a designer for a while and it’s humbling (but frustrating at times) trying to make something visual live outside of a static image / concept.
Even Eagle is making me go bonkers (learning not to defy all laws of physics and electrical engineering)

Thank you @tyleretters for all the beautiful design / wisdom.
Makes the herculean task of starting from zero much more encouraging.

1 Like

11 Likes

I have to say I miss having Software Architecthure/OOP on the skill tree, because I feel pretty comfy with learning syntax and lua from the docs but creating a larger-scale script with objects and things is still outside of the scope of my ability, and something I’m desperate to learn more about.

3 Likes

I preferred the original gridded approach but I am the least informed about the topic so I don’t understand why it was problematic beyond that there were more nodes to be added than was feasible in that format.

1 Like

50 page slack conversation we’re still trying to summarize

6 Likes

of all the leaves, supercollider is the most daunting from my approach. i haven’t found a resonant entrypoint for my brand of doc, but i’m assuming there’s an idea of a form of this tree with links at each leaf to a solid introductory primer. same time if you pressed me for the best primer for the things i know cold i’d sputter.

2 Likes

i think this is a crucial an insight.


as a new norns user, SC was one of the most attractive aspects of the platform. i tried learning SC on the norns first. i quickly realized that was not a friendly way to learn due to so much restarting. i moved to my desktop and then realized how deep the thing was. i put out various calls for help (dronecaster) and then pretty much gave up learning it.


@license is an inspiration, tho. you learned it pretty recently and have a very deep command of the thing. what was your path?

3 Likes

Thank you @tyleretters , you are too kind!

So this rings very true in my case:

I learned SC in 2019 because of norns, but fates and the shield weren’t really a thing yet, and the OG norns was a bit spendy for me. SC was the most intriguing aspect to me as well. As I got my bearings with the SC IDE, I found the syntax pretty awkward, but I set bite-sized targets, working toward those and making daily progress until { SinOsc.ar(55) }.play; became a reflex.

I kept a code journal to create good habits and build a reference. I also went through some tutorials built into the (great) documentation, striving to write code for each section and add them to the journal. After a while (less than a month for sure) I felt fluent enough to make “windchimes” or simple generative, heavily randomized sketches - think of Why? from norns.

This became boring after a while, mostly due to not knowing how to make interesting sequences. I started playing with TidalCycles, a nice change of pace with its fast, terse sequencing. After a while, I realized I could use any SC synth with TC, and the synth side of SC became more interesting again.

I started to feel restricted by some of TC’s limitations, so eventually I returned to SCIDE to explore SC by itself. I still felt limited by my sequencing vocabulary, but with a slight sense of resignation I just decided to enjoy the things I could do and try to be patient with learning. One time I was on the couch with SCIDE while my wife watched TV. I patched up a mouse-controlled delay line, with mic input as source, and right then something clicked in a big way. Latency was so low, and control felt so fluid, and it ran flawlessly on my battered old Thinkpad. I had a dozen different ideas to build from there, so build I did.

Shortly after that I strung a rubber band from the latches of the laptop lid and turned SC into a 1-string guitar. The rubber band is still there as a souvenir.

The real key for me was that moment it stopped feeling like a big ugly thing to learn, an academic exercise, and more like a playground to jump right into, on my own terms. Since then, I guess I just trust SC, and nothing seems insurmountable, just a matter of breaking things down into the right pieces, and reaching out when I need help - scsynth.org is great for this.

That said, this path is fairly winding and probably not what I’d recommend. I’d love to make some simple engines or other examples to help share what knowledge I do have. I think that sense of an infinite collection of audio Lego pieces is the key - once you really feel that, you’re ready for anything.

17 Likes