Skip to content

Collaborating with Liquid Carrot

Christian Echevarria edited this page Jun 8, 2019 · 50 revisions

Hello prospective carrot! πŸ‘‹

Thanks for considering collaborating with us in making Carrot the best JavaScript library for AI in the world 🌍

To help you get started we've curated a list of guides and steps to follow. Please take some time to read them and feel free to reach out with any questions you might have: [email protected]

Setting up your Development Environment

πŸ’» OS: Ubuntu Linux

πŸ“œ Installing Node.js + NPM on Ubuntu

Make sure to use "Install Node.js from the NodeSource repository"

https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/

πŸ“œ Installing VisualStudio Code on Ubuntu

https://linuxize.com/post/how-to-install-visual-studio-code-on-ubuntu-18-04/

Notes:

  1. Comes with Git installed
  2. We love this IDE, but you can use whatever you want!

πŸ“œ Installing Git

Use: "Installing Git with Default Packages"

https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-18-04

Notes:

  1. If you're already using VSCode you don't need this

πŸ’» OS: All

πŸŽ₯ Quick intro to VSCode IDE

https://www.youtube.com/watch?v=Sdg0ef2PpBw

πŸ“œ Configuring Git after it's Downloaded

Use: "Setting your git username for every repository"

https://help.github.com/en/articles/setting-your-username-in-git#setting-your-git-username-for-every-repository-on-your-computer

πŸ›  Tools

JavaScript Sandbox Environments

A software sandbox is no different than a sandbox built for a child to play. We simulate a real environment but with restrictions on what can happen. source (adapted)

⛏️ Codepen

Online code editor and front-end web developer community

https://codepen.io/


Terminals

πŸ“œ Generating SSH Keys | πŸ’» OS: Linux & Mac

https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54

Notes:

  1. SSH Keys are like passwords, don't share them!
  2. SSH Keys are a good way to connect to things through your terminal

πŸŽ₯ Beginner's Guide to the Bash Terminal | πŸ’» OS: Linux

https://www.youtube.com/watch?v=oxuRxtrO2Ag


Version Control Systems

Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. source

▢️ How to Use Git: Interactive Git Tutorials

You can go straight to lesson one here

https://www.katacoda.com/courses/git/

πŸ“œ Git & Github: How to fork & clone a repo

Try doing this with https://github.com/liquidcarrot/carrot

https://help.github.com/en/articles/fork-a-repo

Immediately after successfully cloning your fork

Go into the new folder carrot using cd carrot/

And then, set πŸ₯• Carrot as your upstream

git remote add upstream [email protected]:liquidcarrot/carrot.git

To check if it was successful:

git remote -v

Notes:

  1. This well help keep your local copy of carrot synced with the latest changes
  2. If this was successful you should see upstream when you run git remote -v

✨ Custom Git Configuration

We use this configuration as our default

[user]
    email = [email protected]
    name = Your Name
[push]
    default = simple
[core]
    autocrlf = input
[alias]
    s = status -s
    lg = log --oneline --decorate --graph
    g = grep --break --heading --line-number
[pull]
    rebase = true

To edit your git configuration file type this into your terminal git config --edit --global

For some crazy git config settings, check this out! πŸ“œ https://gist.github.com/scottnonnenberg/fefa3f65fdb3715d25882f3023b31c29

πŸ‘©β€πŸ’» Getting familiar with JavaScript

▢️ Introduction to JavaScript

https://scrimba.com/g/gintrotojavascript

▢️ "Advanced" JavaScript Features

https://scrimba.com/g/gintrotoes6

▢️ Modern JavaScript (ES6+)

https://scrimba.com/g/ges6

🧠 Getting familiar with Neural Networks

πŸ“œ Absolute Basic Explanation of Neural Networks

https://becominghuman.ai/making-a-simple-neural-network-2ea1de81ec20

πŸŽ₯ Intro to mechanics of Neural Networks (playlist)

https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi

πŸ’― Best practices

πŸ“œ Test Driven Development by Eric Elliot

https://medium.com/javascript-scene/tdd-changed-my-life-5af0ce099f80

πŸ“œ Unit Testing with Mocha and Chai

https://codeburst.io/javascript-unit-testing-using-mocha-and-chai-1d97d9f18e71

πŸ“œ Composing Software by Eric Elliot (Comprehensive Series)

https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea

πŸ“œ Writing Good Commit Messages

https://chris.beams.io/posts/git-commit/

Clone this wiki locally