Tutorial
  • Research Skill Bootcamp
    • Overview
    • Introduction to Research
    • Literature Review
    • Latex, Overleaf and Template
    • Latex, use TikZ to draw diagram
    • Introduction to Pytorch
    • Introduction to Neural Networks, MLP, CNN, RNN, Transformer
    • Problem Formulation and Experiment Design
    • Before Vision Becomes Reality
  • AI Engineer Bootcamp
    • Poster
    • Introduction
    • Development Environment Setup
    • Docker
    • Git, GitHub and Agile
    • Introduction to RAG
    • Full Stack Intro, Demo and Setup
    • Python Package Development
    • Databases
    • React
    • Django
    • GraphQL and Hasura
    • Authentication and Authorization
    • Deploy and CI/CD
    • Project Demo
    • External Resources
    • Knowledge Graph and GraphRAG
  • Dev Setup
    • How to install Docker
    • Docker 101
  • GPU Resources
    • HPC 101
    • Kaya
      • Demo project
      • Interactively use Kaya with JetBrains Gateway
      • Battle notes
      • Run experiment on Multiple GPU in Kaya
    • DUG
      • DUG HPC FastX connection Guide for Linux
  • Background Knowledge
    • Public Available LLM
      • Self-Hosted LLM
      • Quantization demo
      • Public Open LLM API
Powered by GitBook
On this page
  • Introduction and Disclaimer
  • Terminal
  • Mac Setup
  • Windows Setup
  • WSL2 + Ubuntu22.04
  • MobaXTerm
  • brew on Linux
  • Linux Setup
  • IDE
  • VSCODE
  • Jetbrain Toolbox
  • Git and GitHub
  • Git
  • Github
  • Github Copilot
  • Use it in VSCODE
  • Use it in PyCharm
  • Docker and Docker Compose

Dev Setup

Recommendations, you can borrow ideas here, but no need to totally follow it

PreviousKnowledge Graph and GraphRAGNextHow to install Docker

Last updated 9 months ago

This is not required section for any units

You DO NOT NEED to follow this one to setup your local development environment.

Here, we're demonstrating the common practices followed by most developers in the industry.

Introduction and Disclaimer

Nowadays

  • Google Chrome's Dominance Across Platforms

  • Windows Embraces the Linux Subsystem

Most of the daily tasks required by developers can now be accomplished using any platform or cloud service, with minimal differences between MacOS, Windows or Linux regarding user experience.

If we had to do so, for an optimal daily workflow, the operating systems can be ranked as follows: macOS, followed by Windows with the Linux Subsystem, and then Linux.

I am using all of them natively these days, and switch between them, so I am essentially able to configure them to have very similar settings, and happy with that.

This document is showing you what I have done, so can give you some ideas about what you can do with your setup. Espeically if you are new in the IT space, then hopefully this can save you some headache, get you focus on writing the code, changing the world dream.

From personal and colleagues' experiences, an effective developer setup comprises, but is not limited to, the following tools:

  • Terminal

    • Mac

    • Windows

      • and then install

    • Linux

  • IDE

    • : for example

  • and

    • Docker

    • docker compose v2


Terminal

Mac Setup

While Macs come equipped with a highly capable terminal tool, iTerm2 is widely regarded as the best option available for Mac users.

Unzip the file, and the copy the iTerm2 to Application folder

After you have the iTerm2, it is not the end of the trip.

I think you heard about sh,bash,zsh, as developers, we prefer zsh, especailly with on-my-zsh

Because we can do a lot of customization and make us look more like a fancy hacker.

Zsh and On My Zsh

So, after you installed the zsh and on my zsh, you can try this zsh theme.

HomeBrew

For Mac, if we want to install applications, packages, we need to go through the way mentioned above, download it, unzip it, and copy to the Application folder, the App Store do not hold many(actually is None) useful applications for developers.

All you need to do to install it is: Open the iTerm2 we just installed, and then run

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

It should work.

You can test the install by run

brew

Until now, you should be able to have your terminal setup ready.

Windows Setup

Windows do not have a good terminal, that's the reason why people do not like to use Windows to do development.

But still, in my opinion, the best setup under Windows is to use WSL2 + Ubuntu22.04

WSL2 + Ubuntu22.04

Two steps

MobaXTerm

Open the Ubuntu22.04 inside the MobaXTerm (Personally I think this is the best one under Windows)

Zsh and On My Zsh

Then install the zsh and on my zsh with the same process we mentioned in Mac, configure it probably with them under the opened terminal

brew on Linux

Main tool you use under the Ubuntu22.04 to install package is still

apt-get install package_name

Linux Setup

If you already use Linux, I do not think you need my opinion.

It will be the same as the step for Windows after installed the WSL2 and Ubuntu22.04

IDE

VSCODE

You can install it via download it, it is cross platform, it can run on Linux, Mac, Windows, without any differences.

Or you can install it via brew command for Linux and Mac

brew install --cask visual-studio-code

There are a lot of the setting tools you can find and try online, here is one of the helpful links:

Jetbrain Toolbox

Other than VSCODE, which is a free and open source version, provided a lot of features by the effort from the open source communities.

Student has free access to all tools.

Jetbrain is also cross platform, it can run on Linux, Mac, Windows, without any differences.

For beginners, JetBrains offers enhanced usability over VSCode, notably by suggesting best practices for programmers. This guidance fosters good habits from the start.

Git and GitHub

Git

You must know git, how to merge, branch, pr, etc as a developer.

It is for you the teamwork, if you are work on the same codebase, and potentially are changing the same file, you will need to understand how can each of you finish your individual work without affecting another people's work.

Git is designed by the big name: Linus Torvalds (who is the father of Linux) to solve the problem above.

Github

So when we have the codebase, we need somewhere to store it and backup it. This idea brings the Github.

  • So you can have a copy of your code locally

  • and when you finish the work on your local repo, commit it

  • you can then push to the github specific branch

  • do a PR

  • your co-worker can review your PR

  • approve it or declien it

  • and then deliver the code to production or you go back to improve your code

A lot of open source projects are hosted on GitHub, so open communities can all contribute to it if they want.

It is the social media for developers, so register an account today, and explore it.

Github Copilot

This is the code version ChatGPT, it can auto complete the code for you. Write decent code, and allow you to learn from code.

Use it, if you are junior developers, when you use it, think about it.

Student have free access to it, use your Github account to login

Use it in VSCODE

Login with your Github account, and follow the instruction to set it up.

Use it in PyCharm

Login with your GitHub account.

Docker and Docker Compose

The docker and docker compose installation instruction is here

Installation link:

The installation guide is in the README.md here:

Zsh also have a lot of different themes you can try, this is one of the popular one:

This medium post is holding the same opinion as me:

So we need something to do it in terminal, one of the options is HomeBrew, the link is:

It does provide a better terminal than PowerShell:

install WSL2:

install Ubuntu in Microsoft Store:

Then install MobaXTerm:

Then install the brew for Linux version, which will allow you to install some packages:

You will at least need a code editor, the most popular one nowadays is VSCODE: developed by Microsoft.

We also have paid version of the IDE, which provide more features out-of-box, for example, the most popular one in paid version world: Jetbrain,

You can try download and install the and install other applications from there.

This is where you can download git:

A good post about the concepts in git:

Install the plugin for vscode:

Install the plugin for JetBrain tools:

iTerm2
zsh
on-my-zsh
HomeBrew
WSL2
Ubuntu22.04
MobaXTerm
zsh
on-my-zsh
brew under WSL2
brew
zsh
on-my-zsh
VSCODE
Jetbrain family
PyCharm
Git
Github
Github Copilot
Docker and docker compose
https://iterm2.com/
https://github.com/ohmyzsh/ohmyzsh
https://github.com/romkatv/powerlevel10k
https://medium.com/@Clovis_app/configuration-of-a-beautiful-efficient-terminal-and-prompt-on-osx-in-7-minutes-827c29391961
https://brew.sh/
https://apps.microsoft.com/detail/9n0dx20hk701?hl=en-us&gl=AU
WSL2
Ubuntu22.04
https://mobaxterm.mobatek.net/
https://docs.brew.sh/Homebrew-on-Linux
https://code.visualstudio.com/
https://www.jetbrains.com/
https://www.jetbrains.com/toolbox-app/
https://git-scm.com/
https://medium.com/free-code-camp/learn-the-basics-of-git-in-under-10-minutes-da548267cc91
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
https://plugins.jetbrains.com/plugin/17718-github-copilot
How to install Docker
How to Set Up VS Code for Web Development in A Few Simple StepsfreeCodeCamp.org
Logo
Click the download