// Moving Away From Github


This will just be a quick post explaining why I (River) and CodeCommune will be moving away from using Github as a host for any and all code. Today I learned via Twitter that not only does Github have a very clear contract with ICE (The US Immigrations and Customs Enforcement), they have also now shown clear bias and support for white supremacist, nazi behavior. I was very disappointed to hear about this, as Github is a service I've been using for many years now, but as with most things, there are plenty of alternatives that can be migrated to without much hastle and without having to support this type of problematic company. Code Commune will be moving all of our code to Bitbucket as of today (01/15/2021). If you'd like to do the same, I will be posting instructions in the Discord.
Sources: Nazi Behavior, ICE Contract, @githubbers on Twitter

// hello, 2021


Welcome to Code Commune 2021! It's a new year and after 2020, I think we're all hoping for some peace. Going into 2021 and beyond, I'd like to continue to make this blog, as well as our Discord community, more robust. Whether you're a newbie or a 10x coder, everyone is welcome to join the goup. For anyone new, please check out the '#resources' and '#wiki' channels. Take the time to learn some basics on w3schools, try out some challenges on leetcode, and just have some fun coding! If there's a project you'd like to work on as a group, let us know in the '#projects' channel. We are hoping to get some open source code out into the wild this year. This post is really just to say happy new year, let's make some shit and as always, happy coding <3.

// Git Basics - Getting Your Code Pushed


In this video, I talk about how to create a Github repository and get your code saved to it.

Commands I go over in this video:

  • `git clone` - Creates a local version of the repository.

  • `git status` - Displays the status of the files in the current repo.

  • `git add .` - Stages changes in the local directory to be commited to the repo.

  • `git commit -m "[message]"` - Commits the staged files.

  • `git push` - Pushes the files to the repository.

  • `git pull` - Pulls current version in the repo to the local directory. (forgot to go over this one)

// Linking Javascript and HTML


In this video I talk about how to link your HTML and Javascript files to make your webpages dynamic. I also talk a little bit about the DOM (Document Object Model) and IF Satements.

// The Shell


In the following video I go over some basics of using the shell. Written instructions are below.

The shell is a program that presents a command line interface to let you control your computer by typing commands. I recommend using CMDER if you're on Windows and Terminal if you're on a mac. CMDER lets you use some more universal commands that aren't available on Windows by default.

A directory is the same thing as a folder on your computer. When you are using your shell, you will always have a current working directory, which is the folder that you're currently in. You can view, edit, and run files that are in the current working directory. Your shell will show you what directory you're in right before the prompt. The format of the directory is parentDirectory/childDirectory and these can be nested just like folders. When I refer to the root directory, I'm talking about the folder where the files and folders for your program are stored. You always want to keep the files for your program or website in separate directories.

Let's go over some basic commands.

`ls` shows you all the non hidden files and folders in your current working directory You can supply the argument -a (`ls -a`) which will show you the hidden files and folders as well. Hidden files start with a `.` You can also give ls a path to the directory you want to list.

To navigate into a folder you use the command `cd`, which stands for "change directory". You give the `cd` command a folder you want to navigate to and it will change your current working directory to the argument you give. Like so: `cd MyFolder` To navigate "backwards" or up a directory you use `..`. `.` refers to the current working directory and `..` refers to the parent directory.

To create a directory, use the command `mkdir [name of folder]`, that will create a folder in the current working directory. To create a file, use the command `touch [name of file]`.

To open a file or folder, on windows use the command `start [name of file or folder]` and on mac use the command `open [name of file or folder]`.

To open Visual Studio code use the command `code [name of folder]`.

The `clear` command will clear out all the output that is currently displayed in the shell.

That's all I have for today. Happy coding!

// Session 1 - The Web Stack


Tonight, we talked about the web stack. We discussed how the client passes data to the server and then moved on to HTML/CSS/Javascript fundamentals. My audio is a little quiet in this one, I'll figure out my recording software before the next session.


For the presented slides click here.

For some more in depth reading on HTML click here.

For a css reference sheet click here.

And for more on Javascript click here.

// Starting a Group For Future Programmers


This week I received three separate messages from friends wondering how I learned programming and where to start. The answer is that I was super lucky to be able to attend a bootcamp when I was 17 years old and sort of tricked my way into the tech industry. It's not an uncommon path and it worked out really well for me, however, I think that if you really want to learn how to code you should be able to do so at your own pace using resources from the internet. The frustrating thing to me is that the services that are online (at least the good ones) tend to ask for a hefty subscription fee and if you don't pay for one of these services, the only way to really learn is to dig through messy documentation that doesn't really tell you how to actually put a website/game/piece of software together. I figured, why not start a collaborative group where we can learn together? A group for freely sharing useful information.

This is Code Commune Version 1.0.0 - a discord server for programmers and future programmers, open to any and all who are interested in coding. I will be hosting classes that will be available live and will also be posted online in video and text format. I will also be doing 1 on 1 code reviews, bug squashing, question answering, and whatever else folks need to be able to learn effectively. I'm really excited about this project and I hope you consider joining. Happy coding! <3