Adam Learns FAQ

The show




The-show answers

What is "Adam Learns"?

Adam Learns is an edutainment show. I tackle various projects/topics and focus on the learning process live on Twitch, then I teach that material as courses here on The AcAdamy.

If you're watching right now on Twitch, check out the !today command; that is always updated with the current day's task.

What happened to the show? Why aren't there new courses?

In mid-2020, I started looking for a full-time, traditional job. As such, I'm dedicating much less time to producing content for this site. Topics would take anywhere from 20-60 hours to learn the content, then each course would be an additional 50-150 hours. It's not the kind of work that's easy to weave into another job.

I would still love to eventually come back to Adam Learns as a full-time endeavor, but I don't see that happening until at least 2023. In the meantime, I'll try to produce blog posts, live-streams, and maybe some free YouTube videos, but I can't make any promises.

What is the schedule?

I made a Google Calendar specifically for this!

(you may also be interested in past or upcoming projects without necessarily seeing a calendar)

When did this start?

The first episode aired on Monday, February 17th, 2020. Here's every project ever covered on Adam Learns since then.

What inspired you to start this show?

Back in April of 2019, I was approached by a non-profit called FIRST to produce content for their robotics championship. I agreed, and we settled on what the content would look like—I'd be doing game development streams live from their stages in Houston and Detroit. I also had to interview students participating in the competition to find out their motivations, the robots they'd made, etc.

I got a lot of positive feedback from the event, and it got me wondering if game development was the best application of my skills. It reminded me of comedian/musician Reggie Watts, whom I believe figured out a unique way of combining his talents into something commercial. So in May of 2019, I created a note called "Adam Learns" and started adding ideas to it when inspiration struck.

How can I help?

If you want to help without spending any money, then you can follow any of these social-media platforms that you're interested in:

If you're looking to spend money, then buy a course!

What used to happen on this channel?

I originally started streaming on my Twitch channel on September 8th, 2015. Back then, I had just started work on a game named Bot Land. I worked on it for about five years before coming to the conclusion that it wouldn't be monetarily viable. You can read more in this post-mortem that I wrote.

In case you're curious, here was the FAQ for Bot Land, which had gotten pretty exhaustive by the end of 5 years.

How can I suggest a topic or project?

For now, there's no formal process in place, so feel free to suggest it on Discord.

Have you considered putting your content on a site like Udemy?

I did end up putting my Firebase course on Udemy. However, project #7 was to make the site that you're on: The AcAdamy. I host my own courses here.

As for why I made my own site vs. using an existing one:

  • Pros of using an existing site
    • I get access to their audience too. I don't think many people from my YouTube or Twitch are going to want to buy my content given that they're already experiencing it through my channel.
    • It's easier to prove whether the idea of selling courses it'll work.
    • I don't have the responsibility for making the site, maintaining it, securing it, hosting it, adding features, handling payments.
  • Cons
    • I have to abide by their rules. E.g. on Udemy, the minimum content length is 30 minutes, which would be tough to hit for some topics. They also have certain exclusivity rules since they don't want you giving the material away for free on another site, and that may stop me from uploading the first video in a series to YouTube.
    • I lack any extra freedom/benefits that I may want to add. For example, I may want a custom layout in one course, an embedded Twitch stream, bonus credit when you subscribe to YouTube, etc.
    • I can't necessarily offer free courses.
    • My courses may get lost in a sea of other courses, especially if people are sorting by review counts or ratings.
    • I may not be able to grant free/cheaper access to Patreon/Twitch subs.
    • The platforms have their own reputations. Many viewers have said to me that they don't like Udemy.
    • I would need to be accepted onto the platform. I applied to PluralSight while considering all of this and got rejected.
    • I don't get to make a site from the ground up, which is fun and provides content for a future course.
    • I have to split revenue with the site.

In the end, both lists have compelling points, but my gut steered me toward making my own site. Eventually, it can become the one-stop shop for everything to do with the show (a blog, the schedule, etc.), so it's nice to start building it out early on.

How do you plan on marketing The AcAdamy?

Everything that I do outside of The AcAdamy is essentially just to market The AcAdamy. This is a large reason why I'm producing so much free content alongside the paid content: all of the Twitch live-streaming time, pseudo-open-source notes and repos while a project is ongoing, etc.—they're to spread the word about the paid courses. On top of that, I'll encourage the community to post on social media, and I'll be running traditional ads as well.

Stream answers

Are there any rules that I have to follow in chat?

There are three major rules for chat:

  1. Don't be a jerk
  2. Don't post personal information of anybody (including me)
  3. Don't segment your messages—type one long message instead of 6 short ones.

I've always said that I'm the arbiter of my own time, meaning you shouldn't have to worry about whether you're derailing me with a question. Depending on how fast chat is moving, I won't be able to respond to everything.

What are loyalty points for?

They were for controlling Adam's lights, but I started using a green screen on April 20th, 2020, so now they're just for fun. Maybe they'll be used in the future. 👀

You get points by sticking around in chat (1 point every 10 minutes).

Are you standing? Why? What desk do you have?

I may be standing! I try to stand for a few hours every day if I can. I find that I move more when I'm standing, so I think it's better for my posture. The desk that I have is from Costco, and the approximate link is here, (the link kept changing, so I'm now linking to the Wayback Machine).

Personal answers

How old are you?

You're not going to like this answer!

How long have you been coding for? How did you get started with programming?

I started out as a hobbyist probably around the age of 13. After coding as a hobby for a while, I started taking classes, went to college (got a bachelor's degree), got some professional jobs, then quit to work full-time on Twitch.

What is that keyboard? Why are you using it?

I use a Microsoft Ergonomic Keyboard (Amazon affiliate link here). It's curved like that so that your wrists are positioned more naturally which should cause less strain.

Is Adam Learns your full-time job?

As of mid-2020, no. I was originally trying to grow Adam Learns as much as I could in a short period of time (~3-4 months). I think that it was a great proof of concept, but I need to make money again, so I've re-entered the world of traditional jobs. For more information, check out this document I wrote.

Why do you use Bing?

Because it works well and I get Bing Rewards for free money.

Why do you use Windows?

The main reason why I use Windows (or Visual Studio Code, or insert program here) is because I've gotten used to it and I don't think I'm lacking much in terms of efficiency. The only thing I'd really like to improve about my Windows experience is the terminal.

Sometimes people ask me this question in a leading way, e.g. "why don't you use Linux?" My general response is "why do you think I should switch?"

Where do you live?

I live in the Greater Seattle Area.

Technical answers

What's the TODO list plug-in for Visual Studio Code?

The TODO list plug-in is called Todo+. Here's a full list of plug-ins/extensions/add-ons/settings (gotta include all of the words people search for!).

The plug-in that I used to use for Sublime was called PlainTasks. I wrote a blog post on Sublime plug-ins here.

What program are you using for ____? (i.e. "what's that in the taskbar?")

(keywords: IDE, programs)

  • The text editor that I use is Visual Studio Code.
  • The orange icon is Postman (main page). It's an application used for testing REST services.
  • The terminal/console that I use is ConEmu (main page). I just wanted something that gave me tabbed console windows.
    • The MySQL command line that I use is mycli.
  • The lock icon that you see in the taskbar is KeePass (main page). I use it for creating and storing passwords.
  • The blue file cabinets belong to Hyper-V, a hypervisor for running virtual machines. I used to use VirtualBox (main page), but Docker on Windows requires the use of Hyper-V, and enabling Hyper-V prevents the use of VirtualBox.
  • For source control, I use Git with a private GitLab repo to host it that supporters can get access to.
  • The black circle is for OBS. I use this for streaming.
  • The rainbow-y circle that you may see some of the time is ShareX. I use this for capturing screenshots, recording GIFs, picking colors, measuring pixels on the screen, etc.
  • The keyboard shortcuts that show up on the bottom of the stream are from Carnac. I tried to make these as subtle as possible, so I had to build my own custom version of it.
  • The purple "N" icon that you see belongs to OneNote. It's what I use for taking formatted notes so that they synchronize between all of my devices.
  • I use YaTA for Twitch chat, which is hosted in a Chrome window usually. YaTA was made by our very own HiDeoo.
  • The orange-ish pepper that you see is from FruityLoops. I rarely use this program, but when I do it's for music creation.
  • You probably won't see an icon for this, but I use AutoHotkey to automate Windows. Examples include: popping up the TortoiseGit commit dialog, resizing windows to fit next to the webcam, typing out "hot strings" (e.g. typing "`r" will turn into "→"). I'm happy to share most of these scripts with you!
  • The green headphone icon is Nvidia's RTX Voice for noise cancellation.

How can I get started on programming?

(keywords: learn, learncoding)

I wrote a blog post on this that I highly suggest reading. There aren't many specifics in there, but I find that it's good information for any new programmer to read through.

How can I get faster at typing or using shortcuts?

I made a course specifically on this topic that I suggest you take a look at!

Why do you have so many TODO lists and note-taking applications?

  • I use TODO+ inside Visual Studio Code for items that will eventually turn into commits. I commit the TODO lists themselves as well, that way I can tell what I was thinking at a particular time. Also, it's nice to have these TODO items directly inside my code editor.
  • I use Google Docs for notes that I want chat to have access to in realtime. These typically turn into documents that are only relevant to the stream.
  • I use OneNote for notes that become references for later (i.e. not necessarily commits). They're more generic and transferable than the Google Docs notes, e.g. there are notes for Node or React. My notes from the first ~5 years of streaming are shared publicly here, but some of the notes from Adam Learns are sold as part of courses.
  • I use Notepad for ephemeral post-stream notes. For example, someone may say "you should check out this YouTube video", and I'll add it to Notepad for later. The reason I use Notepad is because I want a separate program so that it's off-screen, and Notepad doesn't allow closing it without saving the contents, so I'm forced to handle the notes each day.

What are your computer's specs?

Here's the spreadsheet.

Why do you use GitLab?

One of the goals of Adam Learns was to be able to share code with supporters of the show. As more and more coding projects are completed, we may end up with tens of repos eventually. I don't want to manage gaining/revoking access manually, so I needed an automated way of doing this.

Before mid-April 2020, you were limited to adding fifty collaborators per day to a GitHub repo. This meant that if I eventually had, say, 500 supporters and 100 of them wanted access to a new repo, half of them would have to wait for a day. GitHub supported another way of adding as many collaborators as you want via organizations. However, the code either needed to be completely open-source or you needed to pay \$9 per user.

In April, that changed, but by then, I'd already gone with GitLab. GitLab has a free hosted plan which lets you add as many collaborators as you want. What's more is that I only have to add them to a group, then they'll get access to all projects in that group, so it's a very simple API call.

Enough changed with the show from February to April that I may eventually go back to GitHub (I certainly prefer it over GitLab as just a regular user).

What language are you coding in?

The language that I use varies from project to project, so you'll have to use the !language command in the Twitch stream.

Note: as an Amazon Associate I earn from qualifying purchases. You may find these affiliate links on Twitch, on this site, or through resources that you find (e.g. my notes or in spreadsheets).