DataRaccoon

Machine

Macbook Pro, 2018 edition, 15.6 inch!


Terminal Config

  • Uses zsh instead of bash. (Note, newer macbooks all comes with zsh)
  • Using Iterm2.
    • Mainly because of the tabs and panels

Oh-my-zsh

  • On top of zsh, i am using this to manage my zsh config.

The main reason for using this is the plugins management.

These are my current plugins:

plugins=(
    git
    git-prompt
    docker
    iterm2
    )

Powerlevel10k

Cli-tools

Tree

For writing nice documentation and/or checking my files organization, i like to use tree

In tests, you usually try to mirror your src directory. Rather than using ls (list files), you can:

tree .

├── src
│   ├── __init__.py
│   └── hello.py
└── tests
    ├── __init__.py
    └── test_hello.py

2 directories, 4 files

Or if you only one level down,

tree - L 1 (Feel free to change the level of files to show)

.
├── src
└── tests

2 directories, 0 files

the_silver_searcher

Github repo

Suppose within the current directory you want to search for lines of code, you can ag <code> <dir>. For eg:

ag hello_world .

❯ ag hello_world .
tests/test_hello.py
1:def test_hello_world(x):

src/hello.py
1:def hello_world(x):

CDPATH

To navigate to a directory, you would typically open your terminal in $HOME, and cd dir1/folder1. If you then want to navigate to another in another project, you would then cd ../dir2/folder2.

Tired of changing paths and managing directory? give CDPATH a try. Add these to your .zshrc:

CDPATH=:$HOME/dir1:$HOME/dir2
export CDPATH

And you will be able to cd folder1 and cd folder2 from anywhere in terminal!

Launch IDE via cli

I have also enabled cli for the following commands:

command purpose
code launch vs code in directory
charm launch pycharm
subl open files in sublime text

Note: other commands are added to your path as part of installation, such as Anaconda.


Editors

These are my current text editors and markdown editors.

Sublime

Download here

MacDown

This is my markdown editor that has some pretty neat plugins. You can download it here. Unfortunately, it is only for mac users. I also enable the following two plugins in MacDown.

  • Mathjax
  • Graphviz

Programming

R

No explanation required!

Python (Anaconda)

My friend (yxtay) and I wrote this guide as part of setting up python environment. You can check it out here.


IDE

Pycharm

I am generally a fan of jetbrain products and if your company provides the professional license, awesome!

Download here

Vscode

Download here

I recently check out vscode again in 2020 and decided to seriously consider switching to Vscode as my main ide.

This is mainly because of the remote development plugin.

The support remote intepreter is one of the top requested features. The Vscode team released this in 2019, featuring on the vscode blog and ms devblog.

Here is a short gist to illustrate:

Show gist

Rstudio

No explanation required!


Engineering related

Docker

Containers are awesome!

Download here

Postman

I mainly use postman because of the collection features and the nice UI formatting.

Download here


Productivity

Rectangle

Allows me to move and resize my windows with ease, especially when you need to look at documenation and coding at the same time.

Download here