« SoundOfIzrael - Freaking (iOS jam) | App News | PhaseDelayArray by Neon Silicon »

Gnubesoft: Anyone Can Program

Today I'm proud to announce the launch of my third major website. Gnubesoft! In addition to being a catch-all for my various coding projects, Gnubesoft is where I'll be teaching programming.

Some of you may think that you don't want to program. You may even be annoyed that I'm now posting programming tutorials to my YouTube channel. For this reason I start the new series with a video explaining all of the reasons you want to strongly consider it! The first being that programming is fun!

I'm going to be focusing on that aspect in the same way I share my love of synthesis and music production. Solving challenges and making computers do things is a great hobby, and it might just save your life. I shit you not.

We are past Peak Jobs. Between corporate consolidation and career obsolescence we are shedding jobs left and right. Some industries are no longer necessary. Retail stores are closing by the thousands, and Malls are quickly being abandoned. To add to this crisis, automation is already upon us and is threatening many more careers. You might be thinking of truckers and taxi drivers, but they're not the only ones. Solid, high-paying, careers are threatened too. It is estimated that by the 2030's there will be 38%-50% fewer jobs.

If you're unemployed you can't buy apps, and if you can't buy apps I can't sell ads. This is an existential crisis, and I'm taking a very long view towards remedying it. You can be annoyed that my YouTube channel is now featuring stuff you don't care about, but you have to respect the Long Con.

The series starts the same way I launched discchord, with a proclamation that, "Anyone Can Program!" I go on to explain in detail, with charts, all of the reasons you should get interested. If you're already interested you can skip ahead to the second video, Introduction to Python. The third video, Automate the Criminal Stuff, is essentially Episode 1 and is more representative of how other videos in the series will be.

Reader Comments 25

Superb initiative, Tim. I’ll definitely check this out.
August 02, 2019  | person nreyes
Hey Tim This looks interesting. Best of luck with it. I’ll be keeping an eye out for videos. Tiny bit of feedback on that. If you’ll be uploading multiple videos, perhaps have a ‘lesson number’ in the thumbnail. For me, on YouTube the videos were out of order. Cool stuff!
August 02, 2019  | person_outline Spookyzoo
On August 02, 2019 - @Spookyzoo said:
If you’ll be uploading multiple videos, perhaps have a ‘lesson number’ in the thumbnail. For me, on YouTube the videos were out of order. Cool stuff!

That is a fantastic suggestion! I'm going to get on that now to hopefully clear that up.
I'm going to go with the opioid overdose, Monty.
I applaud the rationale and sentiment... stick with it because it’s a slow burn. But if you can help 1 person you’ve done a service.

Signed

A technology teacher for 30 years.. I’ll be following.
August 02, 2019  | person lee faulkner
I want to learn to program music apps, and eventually games. I've been working on a few scripts for Mozaic. Do you plan to do tutorials on how to make music apps?

I'm working through Will Pirkle's synth programming book, and taking a course on Digital Signal Processing on Coursera. Eventually, I would like to make music app tutorials...I might make videos showing off the code for my Mozaic scripts, though they may not be the best examples of good code. There's not a ton of content out there now for people who want to make music apps.
August 02, 2019  | person WilliamC
On August 02, 2019 - @WilliamC said:
I want to learn to program music apps, and eventually games. I've been working on a few scripts for Mozaic. Do you plan to do tutorials on how to make music apps?

This is a distinct possibility, but I will not make any promises at this time.

Last year when I learned to Swift and wrote api_hack.cmd, the goal was to go from that to making music apps. Then Apple became a Trillion Dollar company and celebrated by cutting my funding. I spent 7 years selling apps for them and they just cut the legs out from under me. I'm still pretty sore about that, and would like to have as little to do with Apple as possible.

The reason I started down that path in the first place was because I had ideas for music apps. I've still got those ideas, and I would really like to make them. So we'll see what the future holds, but it is not in my immediate plans.
I've been long aspiring to one-day learn to program. I think I need a very specific kind of "hand-holding" combined with my own initiative to figure things out as I go. I've procrastinated partly because I've gotten busy (which is a good thing!)-- but also, I've been uncertain about my leaping off point.

Now I think I'm going to start out with microprocessor programming first, like Arduino, Raspberry Pi and/or Beagle Bone. I got a good book recently that should help me with foundations, and then I can use stuff like Tim's site & vids to help me expand.
August 03, 2019  | favorite_border stub
@stub: Arduino, and other micro-processors, can be quite difficult to code for. It is typically written in C; which is powerful, but clumsy. You also need to account for the miniature processor and tiny amount of RAM they can pack.

Basically programming anything else is going to be easier than a micro-processor.

A Raspberry Pi is a different beast. You can do that in any language since it is just a tiny computer... but once again, you need to account for the slow processor and small memory. If you have a computer, you have a better environment for development than a Pi. Also Pi's are shit. Look to one of the other tiny computers, that doesn't use SD cards as their main storage. Our first two Pis were always corrupting themselves. The other System on a Chip (SoC) computers will still be a pain to program on, but at least you won't have SD card nonsense to deal with.
Thanks, @Tim Webb

That's REALLY helpful to know. You're the first person to offer that perspective, and I needed to know that.

My first project (which I'll have help with) is software on a Beagle Bone to run a MIDI controller box I built. It'll have lots of inputs for pedals (as well as alternate sensors) and will have 8 inpts with 16-bit resolution. Fortunately, we aren't starting from scratch-- there's an open-source browser based config tool we can adapt.

My long-term goal would be to build that dream step sequencer. For that, I'd want tight timing, and an efficient UI.

Thanks for those warnings. I'll move on with caution!
August 03, 2019  | favorite_border stub
On August 03, 2019 - @stub said:
Thanks, @Tim Webb

That's REALLY helpful to know. You're the first person to offer that perspective, and I needed to know that.

My first project (which I'll have help with) is software on a Beagle Bone to run a MIDI controller box I built. It'll have lots of inputs for pedals (as well as alternate sensors) and will have 8 inpts with 16-bit resolution. Fortunately, we aren't starting from scratch-- there's an open-source browser based config tool we can adapt.

My long-term goal would be to build that dream step sequencer. For that, I'd want tight timing, and an efficient UI.

Thanks for those warnings. I'll move on with caution!

If you never programmed before I suggest you learn the basics on a pc or mac. You’ll be over complicating things if you dive straight into such a project as the one you described. There are some concepts you need to grasp first.
If I learned Python I could program stuff for Cinema4d.

Back in the 80's I was programming Z80 assembler.

I should watch your Python video.
Thank you for not calling this "Anyone Can Code"! :/
On August 05, 2019 - @Almost Aviation said:
Thank you for not calling this "Anyone Can Code"! :/
LOL! I liked the ACP acronym, so that's why I went that route. Same with ECPM for Everyone Can Play Music. I just like the way the acronym sounds. The real tough choices were picking between Everyone, Everybody, or Anyone.

Out of curiosity... Why would it have bothered you if it were Anyone Can Code?
Thanks for starting Gnubesoft Tim!!!
On August 05, 2019 - @Sonakinesis said:
Thanks for starting Gnubesoft Tim!!!

And thank you for saying that! I've been getting some tepid reactions to this, so it is nice to know some people are genuinely excited at the prospect.
On August 05, 2019 - @Tim Webb said:
Out of curiosity... Why would it have bothered you if it were Anyone Can Code?

Because I'm of the generation where "programming" was the intellectual part and "coding" was the grunt work, the tip of the software development iceberg.
On August 05, 2019 - @Almost Aviation said:

Because I'm of the generation where "programming" was the intellectual part and "coding" was the grunt work, the tip of the software development iceberg.

Oh, wow! That's fascinating to learn. I've always thought about them as being synonymous. Coding was just a little less formal... and easier for most people to spell.
On August 05, 2019 - @Tim Webb said:

Oh, wow! That's fascinating to learn. I've always thought about them as being synonymous. Coding was just a little less formal... and easier for most people to spell.

Yeah, I guess it's just language drift :) I should say that when I learned programming we had to write the code on paper forms, which would be typed onto a stack of punched cards by an admin assistant and then taken to where the computer was. We'd collect the output the next day. I kid you not! That was 1981.
On August 05, 2019 - @Almost Aviation said:

Yeah, I guess it's just language drift :) I should say that when I learned programming we had to write the code on paper forms, which would be typed onto a stack of punched cards by an admin assistant and then taken to where the computer was. We'd collect the output the next day. I kid you not! That was 1981.
Oh yeah, I believe you. That's how my dad learned! I even got to see some of the punch cards. I'm a second-generation programmer! Looking back at the languages he was using; like FORTRAN, COBOL, and eventually C/C++ ... it is no wonder he hates programming today!

Thinking about it in that context though, I see how "coders" were grunts. They're the ones "encoding" while the programmers are doing the heavy (mental) lifting.

Thanks for helping me learn this historical context! Computer and technology nomenclature fascinates me. It's full of great stories once you dig passed the surface. Take "Skids" ... which sounds like something you need to wash out of your underwear, and that isn't far off the mark. It is the modern hacker term for "script kiddies", which is itself slang for a neophyte who knows just enough about hacking to be a danger to himself and others. The name comes from their simple programs, called scripts, which were dangerous but simple enough that even a kid could use them to cause havoc. The term is also used as a generic pejorative for anyone that doesn't rank with the elite members of a hacker clique. "Get this Skid out of here before he nukes himself."
Im really interested in learning more about electrical engineering and coding in the context of building hardware synths, and samplers, midi controller sequencers,ooo..................
August 05, 2019  | person_outline Cyp3
Hi Tim, I like the initiative, watched the first 2 videos and already learned something (f-strings), so thanks! Some feedback:
Recording your screen at a lower resolution / bigger font size would be great, as I can hardly read the code or differentiate single and double quotes.
And starting out with datetime and string formatting seems a bit daunting for new programmers, as these are some rather cryptic topics where I always need to check the documentation.
Looking forward to future videos!
August 06, 2019  | person_outline ctrlw
On August 06, 2019 - @ctrlw said:
Hi Tim, I like the initiative, watched the first 2 videos and already learned something (f-strings), so thanks! Some feedback:
Recording your screen at a lower resolution / bigger font size would be great, as I can hardly read the code or differentiate single and double quotes.
And starting out with datetime and string formatting seems a bit daunting for new programmers, as these are some rather cryptic topics where I always need to check the documentation.
Looking forward to future videos!

Thanks for this feedback! What device (specifically screen size/resolution) are you viewing this on? I'm recording in 1440p, but I've cranked up the font size by 125%. I had hoped that this would out well so people on desktops would get a nice big high res picture, and everyone else could still read the text.
My bad. I‘ve been watching the videos in Safari on my ipad mini 5th gen on ios 12.3.1, and by default it would use 360p. Switching to 720p in the video‘s settings makes the difference.
August 08, 2019  | person_outline ctrlw
On August 08, 2019 - @ctrlw said:
My bad. I‘ve been watching the videos in Safari on my ipad mini 5th gen on ios 12.3.1, and by default it would use 360p. Switching to 720p in the video‘s settings makes the difference.

Glad to hear it! My husband had a similar problem with his browser forcing 360p. He was like "Your font is weird... and the grey on grey makes it hard to read." I look over at his monitor and was shocked by how ugly 360p is. His monitor is also 1440p, so the jump from 360p was akin to putting on your glasses and discovering you can see like the Hubble Telescope.
comment

  Post a New Comment

You are not currently logged in. Would you like to login or register?
Enter your information below to add a new comment anonymously.

I'm not a racist, but...
Usernames need to be at least 2 characters!
I'm not a racist, but...
Please don't use weird characters in usernames!
{[ Ctrl.useravailable[Ctrl.userselector] ]}
{[ Ctrl.useravailabletext[Ctrl.userselector] ]}
Wow, that's a short email address!

Comment:

Do not use HTML in your comments. Tags: [b] Bold Text [/b] [i] Italic Text [/i]
Links will be generated if you include http:// or https:// at the beginning of a URL.
Submit

Contact | Privacy Policy | Developer Services | Advertise
discchord.com is a service of Gnubesoft