Nathaniel Brown's

Preferred Tools

I thought I'd share the tools I use when developing.

Tool Class Preffered Tool Why
Text Editor Visual Studio Code Before this Sublime Text and before that TextMate.
Backend Language Python I love python for it's readability, conciseness, and strong community.
Environment / Package Manager Conda Handy if you don't have a compiler. Install Anaconda or Miniconda to get it.
Backend Framework Flask I like flask because it is simple and extensible.
Database SQLAlchemy This is a python database toolkit, not a database. It allows you to treat all databases through a universal API, plus MUCH MORE! You will love it. It is the reason I am not opinionated about databases.
Frontend Library jQuery Handles lots of compatibility issues and makes Javascript fun.
Frontend Framework Angular.js/vue.js I'm cooling on Angular as it is slow and kind of complicated. Lately, I've been using vue.js and I really like it.
DNS/Registrar Namecheap Namecheap is honest and easy to use.
Cloud Provider Amazon EC2 I also use Amazon Web Service's EC2. They offer a free tier for one year.
Containers Docker Lately I've gone a bit container crazy. Almost all of my projects (including this website) are now run using docker.
Container Orchestration Kubernetes I've used docker swarm and its only advantage is that it's easier to get started. Kubernetes is what you want, and if you want it to be easy, then just use Google Kubernetes Engine.
Version Control Git + Sourcetree Git is great, and the Sourcetree GUI makes it easy to use.
Data Analysis Numpy
Pandas
Jupyter
The Python scientific community is really on a tear. These are my top three favorites, but check out this list.

Online Resources I Like

I am a huge fan of online education. The free resources available to programmers today are amazing and very good alternatives to traditional education. For example, Udacity has a free web development course taught by one of the founders of reddit, Steve Huffman!

I have found the following resources invaluable: