Skip to content

Commit 90647da

Browse files
Merge pull request #232 from monicagiraldochica/create_advanceGitGuide
advanced github guide
2 parents cb1f29b + 05daecd commit 90647da

File tree

10 files changed

+201
-13
lines changed

10 files changed

+201
-13
lines changed
287 KB
Loading
105 KB
Loading

docs/_static/img/branches.png

50.6 KB
Loading

docs/_static/img/create_gprepo.png

240 KB
Loading

docs/_static/img/rebasing.png

51.1 KB
Loading

docs/cluster/jobs/running-jobs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Most applications do not use more than one CPU core. Single-thread jobs that req
9090

9191
#### Multi-thread
9292

93-
A multi-thread application is able to use multiple cores on a single server by spawning multiple threads from a single process. Each thread uses one CPU core, and all share memory. For a multi-thread application, we can use a single task, and specify multiple cpus per task.
93+
A multi-thread application is able to use multiple cores on a single server by spawning multiple threads from a single process. Each thread uses one CPU core, and all share memory. For a multi-thread application, we can use a single task, and specify multiple CPUs per task.
9494

9595
```txt
9696
#SBATCH --ntasks=1
@@ -166,7 +166,7 @@ Job scheduling policies include resource limits on partitions and QOS's, and a f
166166

167167
### Fairshare
168168

169-
Fairshare is a scheduler algorithm that manages job priority, based on a comparison of all cluster utilization, to promote equal use the cluster. Fairshare tracks daily usage and uses data from the previous 7 days to adjust job priority. The effect of fairshare data is reduced each day using a decay factor. In practice, when a user increases their cluster utilization, their job priority is lowered compared to other users.
169+
Fairshare is a scheduler algorithm that manages job priority, based on a comparison of all cluster utilization, to promote equal use of the cluster. Fairshare tracks daily usage and uses data from the previous 7 days to adjust job priority. The effect of fairshare data is reduced each day using a decay factor. In practice, when a user increases their cluster utilization, their job priority is lowered compared to other users.
170170

171171
Fairshare effectively allows infrequent users a fair chance to run their jobs on the cluster among the many jobs of more frequent users.
172172

docs/learning/jupyter.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# How to use Jupyter Notebook in the cluster
1+
# Jupyter Notebook
22

33
## Connect to OnDemand
44

55
In our cluster, **Jupyter can only be run through OnDemand**. To connect to Open OnDemand, please follow our [Connecting Guide](../cluster/access/ondemand.md).
66

7-
## Open the Jupyter Notebook App inside OnDemand
7+
## Open the Jupyter Notebook
88

99
To open Jupyter Notebook, please follow the instructions in our [Open OnDemand Guide](../cluster/access/ondemand.md#jupyter-notebook-example).
1010

@@ -19,7 +19,7 @@ pip install matplotlib --user
1919

2020
**You will need to restart your Kernel** in Jupyter Notebook to capture the changes. In the top menu, click Kernel and then Restart Kernel.
2121

22-
## Activate a python environment
22+
## Activate python environment
2323

2424
If you have installed a Python environment in your home directory, you can use it inside Jupyter Notebook. Go to the Terminal and login to the cluster. Then, run the following commands, replacing `myenv` by the name of your python environment. This name should be unique, if another Kernel with the same name exists, it will be replaced. If you get a `No module named ipykernel` error message, install ipykernel in the python environment, like so:
2525

@@ -39,7 +39,7 @@ deactivate
3939

4040
Now you can open a new or an existing Jupyter Notebook. In the upper menu, click on Kernel, then Change Kernel, and select "Python (myenv)". Now Jupyter Notebook will use your selected Python environment. You may need to restart the kernel to use updated packages.
4141

42-
## Activate a conda environment
42+
## Activate conda environment
4343

4444
If you have a Conda environment in your home directory, you can use it inside Jupyter Notebook. Go to the Terminal and login to the cluster. Then, run the following commands, replacing `mycondaenv` by the name of your conda environment. This name should be unique, if another Kernel with the same name exists, it will be replaced. The last step, deactivating your conda environment, is important. Otherwise, you will have problems opening Jupyter Notebook.
4545

@@ -127,11 +127,11 @@ IPython magic commands provide shortcuts for common tasks. To see the list of al
127127
| `%time` | Print the execution time of a line. |
128128
| `%who` | See list of environment variables. |
129129

130-
### Executing shell commands
130+
### Shell commands
131131

132132
As we saw in the table above, you can execute a cell as Bash instead of Python using the `%%bash` magic command. But you can also execute a single line as bash by preceding the line with `!`.
133133

134-
If the current Kernel is from a [Conda environment](#activate-a-conda-environment), you might get `command not found` errors when trying to run binaries included in your conda environment. This is because the command is not available in the default shell environment used by Jupyter Notebook. Jupyter Notebook will not automatically activate your Conda environment when using shell commands with `!`. In order to do that you would have to add the following code to a cell and then execute it:
134+
If the current Kernel is from a [Conda environment](#activate-conda-environment), you might get `command not found` errors when trying to run binaries included in your conda environment. This is because the command is not available in the default shell environment used by Jupyter Notebook. Jupyter Notebook will not automatically activate your Conda environment when using shell commands with `!`. In order to do that you would have to add the following code to a cell and then execute it:
135135

136136
```python
137137
import os
@@ -148,11 +148,11 @@ myfiles = !ls
148148
print(myfiles[2])
149149
```
150150

151-
### Writing cells using Markdown
151+
### Markdown cells
152152

153153
You can run cells as Markdown using the magic command shown in the table above `%%markdown` or selecting Markdown as the language of the current cell. [The Markdown Guide](https://www.markdownguide.org/getting-started/){:target="_blank"} is a great place to start learning Markdown.
154154

155-
### Use Latex to display formulas
155+
### Latex formulas
156156

157157
You can use Latex to display formulas within Markdown cells. To display Latex code within the current line, surround your expression with a dollar sign on each side. For example: `$x2+y2=8$`. To display the formula in a separate line, wrap it with two dollar signs before and after the Latex code.
158158

@@ -164,7 +164,7 @@ Will generate the following output when run:
164164

165165
![Latex example output](LatexExampleOutput.png)
166166

167-
### Display media inside your notebook
167+
### Display media
168168

169169
You can display different type of media in your Jupyter Notebook, including images, audio, video or PDF files.
170170

docs/learning/programming.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ Bash and Python are among the most commonly used programming languages in data s
88

99
[Python guide](https://www.w3schools.com/python/){:target="_blank"}: This guide provides everything you need to know to become a Python programmer capable of analyzing, manipulating, and visualizing large datasets. Key topics widely used in data science are covered, including modules such as NumPy, pandas, SciPy, Django, and the Matplotlib library. You'll also find information on machine learning, working with databases, and much more.
1010

11-
[Markdown Guide](https://www.markdownguide.org/getting-started/){:target="_blank"}: This is a comprehensive guide that covers everything from how does it work and its most common applications to explanations of basic and extended syntax and some useful hacks.
11+
[Markdown guide](https://www.markdownguide.org/getting-started/){:target="_blank"}: This is a comprehensive guide that covers everything from how does it work and its most common applications to explanations of basic and extended syntax and some useful hacks.
12+
13+
[HTML guide](https://www.w3schools.com/Html/){:target="_blank"}: In this tutorial you will find anything you need about html. It is targeted to programmers with any level of experience as it covers a very wide range of topics.
1214

1315
## Tools
1416

@@ -26,7 +28,9 @@ An IDE, or Integrated Development Environment, is an application for software de
2628

2729
The most commonly used version control tools by software developers are Git and GitHub. They can be used in research to organize and share scripts, recover from accidental loss of data, create excellent documentation on your projects, showcase your work, and keep track of changes in your code. It is important to note that Git and GitHub are different things even though they work hand by hand. On one hand, Git is a version control tool that can be used outside Github and allows you to track changes in files. On the other hand, GitHub is a web-based platform that hosts repositories and uses Git.
2830

29-
[Our Git and GitHub Guide](../software/git.md): This complete guide will take you through the steps on how to configure git, create a new repository and host it on GitHub, as well as creating and managing branches and merging changes with your main remote branch.
31+
[Our Beginners Git and GitHub Guide](../software/git.md): This guide will take you through the steps on how to configure git, create a new repository and host it on GitHub. It is a good place to start if you have no experience with git.
32+
33+
[Our Advanced Git and GitHub Guide](../software/advanced_git.md): This guide covers how to create a GitHub page, use branches to edit your documentation and collaborate with others, and how to resolve merge conflicts and other issues.
3034

3135
### Time Management Tools
3236

0 commit comments

Comments
 (0)