Skip to content

Instantly share code, notes, and snippets.

@scaomath
Last active June 1, 2021 14:21
Show Gist options
  • Save scaomath/0bfba3871ec3fb5e95e29b77a78f17df to your computer and use it in GitHub Desktop.
Save scaomath/0bfba3871ec3fb5e95e29b77a78f17df to your computer and use it in GitHub Desktop.

Revisions

  1. scaomath revised this gist Jun 1, 2021. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions scribbling.md
    Original file line number Diff line number Diff line change
    @@ -11,12 +11,13 @@ Most jargons in Git have "literal" meanings.
    - head, stash, pop
    - (intermediate) merging conflict
    - (advanced) submodule
    - (advanced) pull request to others' repo, rebase, incoming vs current change

    ### GUI for git
    The best thing about GUI is difference viewer/editor integration:
    - Github desktop
    - SourceTree
    - GitKraken (written in Electron/NodeJS)
    - GitKraken (written in Electron/NodeJS, I recommend this one even it is paid sub, free for Github Edu users)

    ### GitHub
    - Statistics of the repo
    @@ -31,7 +32,7 @@ The best thing about GUI is difference viewer/editor integration:
    - Highly customizable b/c written in Electron/NodeJS
    - Machine-learning driven intelligent code autocompletion
    - Customized snippets
    - Nicely integrated with Git
    - Nicely integrated with Git (checkout to branches, resolving conflits)
    - Setting sync across different platforms (YMMV)

    ### Extensions
    @@ -44,7 +45,7 @@ The best thing about GUI is difference viewer/editor integration:
    - Docker
    - JS, TypeScript, C/C++, many others

    ### Good coding habit I wish I knew 13 years ago
    ## Good coding habit I wish I knew 13 years ago
    Here the examples are based on using Dr. Long Chen's [iFEM package](https://github.com/lyc102/ifem):
    - Categorize and summarize solutions to common problems, e.g., how to build the incidence matrix based on the topological relation between objects, or even just how to read a pickled file, etc.
    - Write lots of comments even to ourselves.
  2. scaomath revised this gist Mar 4, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions scribbling.md
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,7 @@

    ### Git
    What is version control?
    Most jargons in Git have "literal" meanings.
    - pull, commit, push
    - worktree
    - branch, pull request, merge, comments
  3. scaomath revised this gist Mar 4, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions scribbling.md
    Original file line number Diff line number Diff line change
    @@ -36,6 +36,7 @@ The best thing about GUI is difference viewer/editor integration:
    ### Extensions
    - LaTeX workshop
    - GitLens
    - Markdown
    - Python/Jupyter
    - Julia
    - Matlab
  4. scaomath revised this gist Mar 4, 2021. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion scribbling.md
    Original file line number Diff line number Diff line change
    @@ -47,4 +47,5 @@ Here the examples are based on using Dr. Long Chen's [iFEM package](https://gith
    - Categorize and summarize solutions to common problems, e.g., how to build the incidence matrix based on the topological relation between objects, or even just how to read a pickled file, etc.
    - Write lots of comments even to ourselves.
    - Set up common sandboxes for testing purposes: (example 1) set up explicit procedures (not function calls if in MATLAB) for getting `edge` related datastructures if we were to code something related to that, instead of directly writing functions. (example 2) set up common test meshes like 8x8 that labeling of the vertices are fixed.
    - To learn advanced vectorization is to come up with a `for` loop that produces the same thing first.
    - To learn advanced vectorization is to come up with a `for` loop that produces the same thing first.
    - Use Boolean indexing more often, avoid using absolute numerical indexing (more bug prone when concatenating).
  5. scaomath revised this gist Mar 4, 2021. 1 changed file with 13 additions and 1 deletion.
    14 changes: 13 additions & 1 deletion scribbling.md
    Original file line number Diff line number Diff line change
    @@ -28,11 +28,23 @@ The best thing about GUI is difference viewer/editor integration:
    - VS Code is an all-in-one package.
    - A pro debugging environment
    - Highly customizable b/c written in Electron/NodeJS
    - Machine-learning driven intelligent code autocompletion
    - Customized snippets
    - Nicely integrated with Git
    - Setting sync across different platforms (YMMV)

    ### Extensions
    - LaTeX workshop
    - GitLens
    - Python/Jupyter
    - Julia
    - Matlab
    - Docker
    - Docker
    - JS, TypeScript, C/C++, many others

    ### Good coding habit I wish I knew 13 years ago
    Here the examples are based on using Dr. Long Chen's [iFEM package](https://github.com/lyc102/ifem):
    - Categorize and summarize solutions to common problems, e.g., how to build the incidence matrix based on the topological relation between objects, or even just how to read a pickled file, etc.
    - Write lots of comments even to ourselves.
    - Set up common sandboxes for testing purposes: (example 1) set up explicit procedures (not function calls if in MATLAB) for getting `edge` related datastructures if we were to code something related to that, instead of directly writing functions. (example 2) set up common test meshes like 8x8 that labeling of the vertices are fixed.
    - To learn advanced vectorization is to come up with a `for` loop that produces the same thing first.
  6. scaomath revised this gist Mar 4, 2021. 1 changed file with 26 additions and 1 deletion.
    27 changes: 26 additions & 1 deletion scribbling.md
    Original file line number Diff line number Diff line change
    @@ -3,11 +3,36 @@
    ## GitHub 101

    ### Git
    What is version control?
    - pull, commit, push
    - worktree
    - branch, pull request, merge, comments
    - head, stash, pop
    - (intermediate) merging conflict
    - (advanced) submodule

    ### GUI for git
    The best thing about GUI is difference viewer/editor integration:
    - Github desktop
    - SourceTree
    - GitKraken (written in Electron/NodeJS)
    - GitKraken (written in Electron/NodeJS)

    ### GitHub
    - Statistics of the repo
    - GitHub website (we can use `jekyll` to "build" a site)
    - Making friends, expand the network
    - Submit bug report/feature request to other's package

    ## Visual Studio Code
    - We need a good editor, possible candidates: Atom, Sublime Text, JetBrains' bundle (PyCharm, etc).
    - VS Code is an all-in-one package.
    - A pro debugging environment
    - Highly customizable b/c written in Electron/NodeJS

    ### Extensions
    - LaTeX workshop
    - GitLens
    - Python/Jupyter
    - Julia
    - Matlab
    - Docker
  7. scaomath revised this gist Mar 4, 2021. 1 changed file with 13 additions and 1 deletion.
    14 changes: 13 additions & 1 deletion scribbling.md
    Original file line number Diff line number Diff line change
    @@ -1 +1,13 @@
    # Test
    # Survive as a grad student in scientific computing

    ## GitHub 101

    ### Git
    - pull, commit, push
    - branch, pull request, merge, comments
    - head, stash, pop

    ### GUI for git
    - Github desktop
    - SourceTree
    - GitKraken (written in Electron/NodeJS)
  8. scaomath created this gist Mar 4, 2021.
    1 change: 1 addition & 0 deletions scribbling.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    # Test