Welcome to the Coding Garden Frequently Asked Questions! If you are new here and you have a general question, it's very likely I've answered it already.
If you have a question that is not listed here, feel free to ask it on discord, in the twitch chat or at https://vox.coding.garden/
If you have a question that you believe should be listed here, please open an issue.
- Most Asked
- Twitch / Stream
- What is your schedule?
- Do you do this fulltime?
- What are the rules of the chat?
- What are the available commands in the chat?
- Why is everyone typing !drop?
- Why is the chat in slow mode?
- How is your chair green?
- What are cjClap POGGERS PogU OMEGALUL etc. I see in the chat?
- How is your twitch avatar animated?
- What are channel points / seedlings?
- How did you make those overlays / chat window?
- Will this stream be available later?
- Can I be a mod?
- Why are you standing (sometimes)?
- History of Coding Garden
- Personal
- Tech Preferences
- Setup / Computer
- What do you use to live stream?
- What Macbook do you have?
- Why do you use a Mac?
- Are you left-handed? Why do you use a left handed mouse?
- Where are those
gss
andgaa
git shortcuts defined? - What do you use to show all those stats in the menu bar?
- What window manager / window switcher do you use?
- What browser do you use? What extensions do you use?
- Why do you use DuckDuckGo?
- How is your YouTube green themed?
- Miscellaneous
Right now, Just Black (with a few modifications).
You can get a link to my current theme (including the settings to modify it), as well as theme's I've used in the past in my settings repo:
https://github.com/CodingGarden/vscode-settings
Anonymous Pro:
https://www.marksimonson.com/fonts/view/anonymous-pro
This is not a VSCode plugin. This is just built in to a Mac and works anywhere:
- Mac: CMD + CTRL + Space
This also works on Windows 10:
- Windows: Windows Key + Period or Windows Key + Colon
It's called Time Out by Dejal. It is Mac only software.
I have it setup to show:
- 10 second micro break every 15 minutes
- 5 minute long break every 60 minutes
There is also a cross platform break timer call Stretchly. I have not used it but a lot of people have recommended it.
RK ROYAL KLUDGE RK G68 65% Mechanical Keyboard. It has brown switches.
- Affiliate link (support me) - https://amzn.to/3uwvKRF
- Direct link (protect your privacy) - https://www.amazon.com/gp/product/B08JCSPYBX/
Also checkout https://coding.garden/gear for other keyboards I've used and more info on my setup.
This is not an extension. I have DuckDuckGo set as my default search engine, and these are called bang commands.
Some of the ones I use most often:
- !npm - npm
- !mdn - Mozilla Developer Network
- !gh - Github
- !w - Wikipedia
- !g - google
No.
- View the schedule on twitch: https://cdg.sh/schedule
- View the calendar on google: https://cdg.sh/calendar
- Download the calendar ics: https://cdg.sh/ics
Also, join the discord for updates, unplanned streams and go live notifications: https://coding.garden/discord
Coding Garden is part-time. I work for Syntax fulltime as a Senior Creator. Read more about that here
All chat messages should abide by the Coding Garden code of conduct: https://cdg.sh/conduct
In summary:
- Be kind.
- Be mindful of your language.
- Be respectful.
- Be considerate.
- Be open minded.
See the list of chat commands here: https://streamlabs.com/codinggarden/v2
This is the drop game! The garden of seedlings at the bottom center of my screen are all of the drops that have landed there.
You can:
- Drop a seed: !drop
- Drop your twitch avatar: !drop me
- Drop any twitch / BTTV / FFZ emote: !drop codinggHeart
- Drop an emoji: !drop đ
This game was coded live on stream and was inspired by the PenguinDrop game created by Instafluff. More on that in the stream overlays section.
I used to be able to respond to every single message in the chat, but this is just not possible anymore. Slow mode gives me a fighting chance đ .
The mods (and I) adjust slow mode based on how many people are watching and how busy the chat is.
Whatever the slow mode is set to, use that time to construct a beautiful and thoughtful message instead of just spamming.
I use a blue screen. In the early days, I used a green screen, but with the garden theme, things are often green, so I switched to a blue screen.
These are Better Twitch TV, Frankerfacez or 7tv emotes! You can install a browser extension that renders these types of emotes all across twitch. (I use the Frankerfacez extension which has a BTTV and 7tv addon).
You can see a list of the Frankerfacez emotes enabled for my channel here.
You can see the list of BTTV emotes enabled for my channel here.
I am a 7tv subscriber and animated avatars are one of the perks. If you're seeing my animated avatar, that means you have the 7tv extension or 7tv addon enabled.
You can earn channel points (seedlings) by watching the stream. Learn more about how much you will earn here.
Seedlings can be used to redeem rewards like stretch, hydrate, focus mode, code reviews and more.
Click the icon below the twitch chat to redeem them.
All of my overlays were created live on stream and all of the code is open source under the MIT license! Read more about that here.
Yes. You can find the most recent live streams on youtube and my twitch video page.
Live streams from January 2022 and August 2023 are uploaded to The Coding Garden Archive on YouTube. Live streams before January 2022 and after August 2023 are available on the main Coding Garden YouTube channel.
The first rule of being a mod, is you do not ask to be a mod.
All of my mods are long time viewers of the stream, have gained my trust over time and positively contribute to the streams / chat.
We also have a channel point reward called "Request to be a mod" that costs 200K seedlings. Redeeming this will start the conversation, but there are no guarantees. The points will be refunded regardless of the outcome.
- It keeps my energy / enthusiasm up.
- I can point at the screen weather man style.
I have been live streaming for 6+ years.
My first live stream was broadcasted to YouTube on February 19th, 2018. My YouTube channel had about 300 subscribers at the time, and there were a max of 3 people in the chat.
Between February 2018 and October 2019, I did 158 live streams on YouTube only.
On October 2nd, 2019, I did my first live stream on Twitch + YouTube. I was using some open source software called docker-multistreamer to do this. At the time I was not a twitch affiliate, so I was able to cross-stream without violating any terms.
This began my slow transition from YouTube to Twitch.
Between October 2019 and April 2020, I did 100 live streams on YouTube + Twitch.
On April 27th 2020, I signed the Twitch affiliate agreement and started streaming only on Twitch.
Between April 2020 and July 2020, I did 52 live streams on Twitch only.
On July 20th 2020, I got accepted into the Twitch Partner program.
In total between February 2018 and February 16th 2024, I have done 668 live streams.
Twitch updated their Partner agreement in August 2023, so I have since resumed cross streaming to both platforms.
I'm an educator at heart. My live streams started as a way for me to continue teaching outside of the classroom.
I taught Full Stack Web Development at a code school for ~3 years. I taught 150+ students and 6+ cohorts. That's over 700+ in person lessons, breakouts, presentations and 1 on 1s with students. During this time, I honed my teaching, mentoring and presentation skills. My live streams are very similar to how I ran and structured my in person lessons.
My students were often at many different stages of learning, so my teaching style reflected that. Instead of pre-planning all of my lessons, my lessons were planned the day of, based on where my students were and based on what they needed to learn next. This was the beginnings of my improvisational style. My lessons were often live code-alongs, and I often would need to quickly code an example from scratch to demonstrate a concept.
My early YouTube videos were actually meant for my students. I was teaching a class of 30 students with 1 assistant, and we needed a way to efficiently provide help to all of the students in a timely manner. My YouTube videos were a way for me to "clone" myself. If a student was having trouble with a topic, I could point them to a video.
I took a 3 month break from that job in early 2018, and my live streams were a way for me to continue teaching outside of the classroom. I returned to that job in mid 2018, but I continued to live stream in my spare time, and continued to grow my channel.
In terms of getting started with live streaming hardware / tech / logistics: I used to play and record music, so I already had microphones / audio recording equipment on hand. Also, before I began live streaming myself, I had started to live stream my students' project presentations, so I already had an HDMI capture card on hand. I'm also just generally knowledgeable / handy when it comes to computers / tech, so setting up live stream equipment was second nature for me.
The same way I name most of my projects đ. I searched for a domain!
The coding.garden domain was available, so I went with that. The garden theme is nice because it plays right into the idea of growing as a software developer.
I have a highly technical education / background, but I've been self learning all my life. I started teaching myself basic programming and building websites when I was in middle school.
I have a Bachelor of Science in Computer Science and a Minor in Mathematics. My university did not offer any CS specializations at the time, but I did take a few courses in Cybersecurity / Computer Forensics.
Over 20 years! I started coding HTML / CSS websites as a kid. Learned Java, C, C++ in college. Wrote C# / .NET desktop applications for a while. Started learning modern web technologies in my spare time, taught JavaScript full stack web development for 3+ years, worked as a Chief Full Stack Engineer / Architect for 3+ years and now I am a full time content creator.
I work for Syntax fulltime as a Senior Creator. Read more about that here
Everyone has always called me CJ. Just call me CJ.
Please don't ask about my full name, or share my full name in the chat if you do know it.
The oldest I've ever been.
You don't want to know. You will either be disappointed, surprised, or it will have no effect. Either way, you really don't want to know.
I usually say I'm 75+ on stream as a joke. I'm a bit younger than that. Please don't ask about my age, or share my age in the chat if you do know it.
I do have a dog! His name is Panzer. He is a ~8 year old Saint Bernard. He weighs about 130+ lbs. He is a very good boy, but he is afraid of the stairs, so he will not come down stairs to where I stream.
I was streaming at an undisclosed location once, and he did make an appearance.
I also did an IRL dog walk you can watch here
Several reasons:
- The days of needing to ssh into a remote computer to edit code in a terminal are long gone.
- Terminal based editors make it very hard for viewers to follow what is happening, especially beginners.
- I prefer to not memorize specific / custom keyboard shortcuts and instead rely on global / universal keyboard shortcuts.
- I also prefer to use the intellisense / autocomplete / snippets provided by VSCode. I realize these can be setup in VIM, but this requires a lot of setup / configuration / tweaking that I do not want to do.
I have talked about this in depth on many different live streams.
Here are a few timestamped links that will answer your question:
It's fine. I use it when it makes sense to.
It really depends. Some services I use:
- Surge
- Good for static websites (hosted on a CDN)
- Vercel formerly now.sh
- Good for static websites (hosted on a CDN)
- Serverless functions
- AWS Lightsail
- Cheap VPS, requires linux system administration / setup
Resources with full curriculums:
Great for complete beginners and non technical people:
There are many college courses with free online class materials and recorded lessons. CS50 from Harvard is well known and really good: https://cs50.harvard.edu/
Just search YouTube!
I recorded a short video going over these resources here.
I have done a live stream where I setup my Macbook for development from scratch and answer several of the questions you see below here.
I documented all of the settings and apps I use here
You can see all of the gear I use to stream here, also, checkout the diagram at the bottom of that page.
I have streamed myself setting up / talking about my equipment here. My setup these days is mostly the same, I just use a desktop gaming PC for streaming instead of a gaming laptop, and I stream at home in my basement instead of in an office space.
I have the 2021 14" Macbook Pro
These are the specs at a glance:
- Apple M1 Pro
- 16GB RAM
- 500GB SSD
Read more about this Macbook here
Everything just worksâ˘ď¸ on my Mac. I spent 6+ years in Windows IT support. I've used Windows 95, 98, XP, Me, 7, Vista, 8 and 10. The amount of things that have gone wrong on my Windows machines is immeasurable. Most of my old windows laptops have become linux machines. I prefer Ubuntu because I'm used to it and it mostly just works.
My Macbook is the only thing from the Apple ecosystem:
- I used a 2015 Macbook Pro for 7 years. I finally upgraded to a 14" M1 Pro in January 2023.
- I don't have an icloud account.
- I don't use siri.
- I have some old iPhones I use for testing occasionally, but I use an Android phone as my daily driver.
Other reasons I use a mac:
- OS X is based on FreeBSD.
- Most tools / utilities for linux are supported / work out of the box.
- I can use a native Bash shell.
- I can run Xcode and build / test iOS / mac apps without the need for any 3rd party tools / services.
- I do creative things outside of coding. The Adobe Suite, Ableton live / logic pro all work flawlessly on my Mac.
- If I want to use Windows / Linux, I can dual boot or use a virtual machine.
I am not left-handed. I started using a left handed mouse about 8 years ago when I started getting wrist pain in my right wrist.
I continue to use a left-handed mouse today as this continues to prevent issues with my right hand.
You can read more about the mouse I use on the gear page.
Bash is my preferred shell. I have aliases setup in my .bash_profile
.
You can see my .bash_profile
including all of my aliases here.
I use a tool called iStat Menus. I have version 5.
On my mac, I use Rectangle to manage windows and Alt-Tab to switch between apps. You can read more about them here.
I currently use Mozilla Firefox. The Mozilla Foundation is a great organization with a great cause.
I switched to Google Chrome for a while, but Firefox has caught up in terms of performance / features, so I'm back to Firefox.
I use the following Privacy Related Extensions. Firefox + these extensions is my preferred way of browsing the web instead of using a browser that has these features "bundled" in:
- Adblocker - uBlock Origin
- Tracker Blocker - Privacy Badger
- Firefox now includes tracker blocking, but I leave Privacy Badger enabled.
- Cookie Autodelete
- Removes cookies from websites that are not in my allowlist whenever a tab is closed. An additional precaution to tracker blocking.
- Decentraleyes
- Caches CDN links locally and intercepts requests to serve from the cache. Prevents CDNs from tracking you across websites.
Themes / customization:
- Automatic Dark theme on websites - Dark Reader
- Custom CSS on websites - Stylus
- Custom JavaScript on websites - Tampermonkey
They respect my privacy.
They have a great way to search across other websites with bang commands.
I use an extension called Enhancer for Youtube
You can search across all of my past videos / livestreams here.
You can also try searching on YouTube directly.
If you don't find anything, feel free to ask in the chat, on discord or suggest a video idea here: https://vox.coding.garden/
I use an Ikea Markus chair. They don't sell the green one anymore, but you can still get a black / grey one here.
I have an IKEA LINNMON tabletop with OLOV adjustable legs set to a standing height (I'm short, so the maximum height of these legs works for me...).
When I'm not standing, I use the same tabletop with ADILS legs.
It's not. The measurement displayed is in degrees fahrenheit.
This seems to be an issue a lot of people have at random.
- Try refreshing the page.
- Log out / Log in.
- Try a different browser.
- Try using a different device.
- Try disabling extensions.
- Try a different operating system.
- Try using the twitch app instead of the browser.
- Try using a twitch chat client like Chatty or Chatterino.
- Write your own twitch client with tmi.js...
- Try all the things.
Sorry this is happening. If none of these things work, contact twitch support: https://help.twitch.tv/s/contactsupport