# Tech Stuff
[Python setup options](https://hackmd.io/CVAwFCGhTOuHpfB3UBo4NQ#Python-Setup), [tech tips](https://hackmd.io/CVAwFCGhTOuHpfB3UBo4NQ#Tech-Tips1), and some [bonus stuff](https://hackmd.io/CVAwFCGhTOuHpfB3UBo4NQ#Bonus) at the end!
## Python Setup
### Offline Setup
You have two choices: either VSCode or JupyterNotebook. I would highly recommend VSCode.
1. **VSCode Setup**
VSCode is highly recommended as it has a lot of great features including [live collaboration](https://code.visualstudio.com/learn/collaboration/live-share)!
To setup Python, the anaconda distribution is unnecessarily quite heavy so here's my recommended Python installation flow.
Follow these simple 5 minute videos in order:
1. [Installing Python](https://www.youtube.com/watch?v=82le04m6Hhs)
2. [Installing VSCode](https://youtu.be/JGsyJI8XG0Y)
3. [Add Python to environment variables](https://youtu.be/4bUOrMj88Pc)
4. [Setting up VSCode settings for Python]( https://www.youtube.com/watch?v=vUWz-7hSlMk)
5. [Setting up virtual environments](https://www.youtube.com/watch?v=6dujYX8Yye0) (Google the meaning) in VSCode.
This is important to do so - otherwise you and your laptop both are gonna have a tough time later on - telling from personal experience.
2. [**Jupyter Notebook**](https://jupyter.org/install)
If you want a minimal Jupyter notebook environment, you can go ahead with a direct installation of Jupyter after [installing Python](https://www.youtube.com/watch?v=82le04m6Hhs).
However, since it does not have much needed features, I would not recommend this unless your laptop can't run VSCode smoothly.
You have two options - JupyterLab or Jupyter Notebook.
I would suggest JupyterLab as that is newer and has some more features.
Eitherway, you have to follow only the `Installation with pip` by pasting the given one line command in admin command prompt (Google it).

### Online Alternatives
1. [**Google Colab**](colab.research.google.com)
If your laptop is old and slow, I would highly recommend to check out Colab for online, hassle-free coding.
But since it requires a stable net, it's not recommended for data users.
- Go to Tools -> Settings -> Editor so you can get dark theme, increased font size, line numbers, code folding, etc.

- You can download your colab file as `.py` file as thats required for assignment submissions.
- To upload and perform operations on images and files, copy paste this code and dont forget to EDIT it accordingly.
```
from google.colab import drive
drive.mount('/content/drive')
# changing directory in Colab
import os
os.chdir('/content/drive/My Drive/<whatever is your folder location>')
# upload the images to your Google Drive and then change the above directory
# for image display in Colab
from google.colab.patches import cv2_imshow
```
2. [**Replit**](https://repl.it/)
Another great online site where you can code in multiple languages easily.
## Tech Tips
1. **C/C++ Setup**
To install C/C++, first follow [this video](https://youtu.be/0HD0pqVtsmw), then [download VSCode](https://youtu.be/JGsyJI8XG0Y), then set up [VSCode for C/C++](https://www.youtube.com/watch?v=77v-Poud_io) programming.
2. **Track installations**
Since we are installing a lot of softwares now, I highly recommend to install IOBit Uninstaller and track installations. So it will automatically keep a track of all the files and changes made in the system so later on at anytime you can refer to that to completely uninstall the softwares in a clean manner without residual files.
It's one added step but saves a lot of headache - again, saying from personal experience.
- In the pic given below, drag and drop your `.exe` files in the Manual Monitor part or switch on Auto Monitor.
Do this while installing anything Python, VSCode, MATLAB, Multisim, etc.

3. Microsoft Edge uses lesser RAM than Google Chrome with better features.
3. **Keyboard Shortcuts**
- Since we type messages and code all day, learn keyboard shortcuts [**specificly for text editing**](https://www.howtogeek.com/115664/42-text-editing-keyboard-shortcuts-that-work-almost-everywhere/). The efficiency boost is _immense_. I use _all_ these shortcuts all day, everyday.
- If you dont know other [**basic Windows shortcuts**](https://www.popsci.com/windows-keyboard-shortcuts/), well, it's high time you do!
4. **Recordings**
Download [OBS Studio](https://obsproject.com/download) to record anything.
You can [see this video](https://youtu.be/2OUyLrjCx40) to see how to record lectures for Webex:
Although OBS wont give you very large files, you can use VLC media player (can also use HandBrake) if you want to compress your video along with other basic operations like video trim, audio mixing, etc.
Compressing Videos:
- In VLC, go to `Media` menu on the top left, then click on `Convert/Save`, then add your video file, then click on `Convert/Save`, then under `Profile` click `YouTube for HD`, then click `Browse` and change the name of the file, then click `Start`.
5. [Ubuntu dual boot guide](https://youtu.be/aKKdiqVHNqw)
6. [IvLabs resources page](https://github.com/IvLabs/resources) for various fields from `Computer Vision` to `NLP`.
7. Use [Discord](https://discord.com/app) - you will know why its great when you use it.
8. Most of you guyz might be having a SSD and HDD both.
Your SSD should be only for Windows and very important applications you use daily, no files, just apps. Rest all files should go to HDD.
Set the default locations of downloads, app file saves, etc. to a folder in HDD.
9. Learn [touch typing](https://edu.gcfglobal.org/en/typing/typing/1/). Even a little practice can make you quite efficient.
10. **[GCFLearnFree](https://edu.gcfglobal.org/en/topics/)** has one of the best short and sweet tutorials on a really wide variety of topics from basic computer skills and softwares to English and work life skills.
Do share this site with others who need it.
## Bonus
- [Here](https://hackmd.io/@70HhYl1ZRgeQ9ODSznZZwA/Sy4lstpmK) is a compilation of all the posts I have made so far.
- [This folder](https://drive.google.com/drive/u/0/folders/1i2Kxl2UnnKrMXVCBSduK1kDJNDsVA2Ci) has the resources to my content writing workshop - PPT, recording, and other material. Do have a look!
- Some great [Graphic Designing Resources](https://hackmd.io/ptpXUgf-T_2MRMfyvPuovw) for both beginners and skilled ones.
- [Here](https://hackmd.io/yzaUjVRpRem_jvcQXoLD4w), I have put up methods and resources to improve your writing skills, and overall English fluency, and book recommendations. Check it out!
- Why and how to start reading, and some [book recommendations](https://hackmd.io/eixiFmuDRvWNChITjoUJsA)
### Note
To improve this post, any and all suggestions are welcome :)