chore: improve wording, grammar fixes
This commit is contained in:
+13
-4
@@ -2,6 +2,7 @@
|
||||
::: details {open}
|
||||
If you are already familiar with this, all you need to know is that the D-INFK GitLab can be found at https://gitlab.inf.ethz.ch
|
||||
:::
|
||||
<!-- TODO: SSH -->
|
||||
|
||||
|
||||
Git is a Version Control System, short VCS. It enables you to *version* your code, allowing you to effectively, safely and efficiently work on software together with other people.
|
||||
@@ -21,7 +22,7 @@ First a few terms to remember:
|
||||
- Commit: The act of making changes "permanent" in a git repo. Permanent in quotes, because this can be undone
|
||||
- Remote: A Remote is a computer different from the local one (typically referred to as server) that has a copy of the repo and is connected to the current repo
|
||||
- Stage: The act of preparing changes for commit. This is used to decide which changes to commit together or not to commit yet
|
||||
- Diff: Short for difference, a comparison of two versions of a file
|
||||
- Diff: Short for difference, a comparison of two versions of a file (or multiple files)
|
||||
- Pull: Pulls commits synced to the remote into the current tree
|
||||
- Push: Pushes local commits to the remote
|
||||
- Rebase: If you have committed changes to the repo locally and somebody in the mean time has pushed changes to the remote, your own copy needs to be *rebased* on that version
|
||||
@@ -32,17 +33,17 @@ that can't yet be added to `main` due to possibly needing to fix issues in `main
|
||||
- Merge: The act of combining two development histories, typically of two branches
|
||||
- Dirty tree: If there are uncommitted changes in your file tree.
|
||||
- Stash: A stack on which you can store changes that are not ready to be committed, for example to pull in changes without having to a rebase straight away,
|
||||
or if you are working on something, then notice a different issue, but your changes are not ready to commit.
|
||||
or if you are working on something, then notice a different issue, but your changes are not ready to be commited.
|
||||
|
||||
You download a new repo (called cloning) using `git clone <url to repo>`, or use your IDE (see below)
|
||||
|
||||
|
||||
## The art of Commits
|
||||
Many people, even EProg TAs (trust me, I asked one) would tell you that what you write as your *commit message* doesn't matter much.
|
||||
They'd be right that for EProg, it doesn't matter much, but if you work in a larger project yourself, or worse still, together with other people,
|
||||
They'd be right that for EProg it doesn't matter much, but if you work on a larger project yourself, or worse still, together with other people,
|
||||
writing proper commit messages is VERY important.
|
||||
|
||||
I myself have been doing it wrong for years and still am not doing it right in my summaries repo (because there it doesn't matter as much).
|
||||
I myself have been doing it wrong for years and still am not doing it right in my summaries repo (because there it doesn't matter as much and I am following a consistent style).
|
||||
|
||||
In early 2026 I have finally learned how to write proper commit messages,
|
||||
according to the [Conventional Commit V1.0.0 Specification](https://www.conventionalcommits.org/en/v1.0.0/#pecification).
|
||||
@@ -103,3 +104,11 @@ If you use an IDE, chances are that it has its own authentication manager.
|
||||
If you use the CLI, you can use `git-credential-manager` if you want to use HTTPS authentication,
|
||||
or you can create an SSH key using `ssh-keygen -f ~/.ssh/gitlab`, then copy the public key to your GitLab account's SSH key settings panel.
|
||||
This is much more secure.
|
||||
|
||||
|
||||
## Cloning
|
||||
The act of `cloning` for `git` is downloading a repo for use with the `git`.
|
||||
There are two primary means of cloning, either via HTTP(S) or SSH. Whenever possible, SSH should be used due to it being a lot more secure.
|
||||
Set up authentication as mentioned above, then the clone URL is of the form `git@<git service host>:<repo owner>/<repo>`, e.g. `git@github.com:janishutz/eth-summaries`
|
||||
|
||||
For HTTP(S) cloning, it's simply the URL in the browser's address bar, e.g. `https://github.com/janishutz/eth-summaries`
|
||||
|
||||
+13
-7
@@ -1,7 +1,7 @@
|
||||
# Infrastructure
|
||||
ETH's infrastructure has some quirks that you should be aware of.
|
||||
For example, you have two different passwords, one for network stuff, called the Radius Password,
|
||||
and one for everything else, called the Active Directory (AD), or LDAP password (such as Email, Moodle, MyStudies, etc).
|
||||
and one for everything else, called the Active Directory (AD), or LDAP password (for Email, Moodle, MyStudies, etc).
|
||||
|
||||
Your ETH username is also sometimes referred to as your NETHZ username.
|
||||
|
||||
@@ -9,7 +9,13 @@ Since `git` and GitLab are this important to understand and get used to, there i
|
||||
|
||||
## Email
|
||||
You can access emails online at https://outlook.office.com (yes, I don't like it either), your email address is `<nethz>@ethz.ch`
|
||||
and you log in using the normal application (Active Directory) password.
|
||||
and you log in using the normal web application (Active Directory) password.
|
||||
|
||||
|
||||
## Moodle
|
||||
Moodle can be found at https://moodle-app2.let.ethz.ch. You log in using your AD/LDAP password via AAI.
|
||||
|
||||
Take some time to familiarize yourself with Moodle if you have not previously used it. Also make sure to update your email notification preferences.
|
||||
|
||||
|
||||
## WiFi
|
||||
@@ -23,16 +29,16 @@ tick "No CA certificate is required" and for Inner authentication, set it to `MS
|
||||
|
||||
|
||||
## VPN
|
||||
The official guide for the VPN is useful for MacOS and Winslop: https://unlimited.ethz.ch/en/help/network/vpn
|
||||
The official guide for the VPN is (probably) useful for MacOS and Winslop: https://unlimited.ethz.ch/en/help/network/vpn
|
||||
|
||||
For Linux, you may use [my script](https://git.janishutz.com/janishutz/dotfiles/src/branch/main/scripts/ethz-vpn). For it to work, you need to have `openconnect` installed
|
||||
|
||||
For the credentials you need both your radius password, as well as a two-factor code from your authenticator.
|
||||
The username is the same as for the WiFi.
|
||||
For the credentials you need your radius password, as well as a two-factor code from your authenticator.
|
||||
The username is the same as for the WiFi (see above)
|
||||
|
||||
|
||||
## EduApp
|
||||
The EduApp is a PWA (Progressive Web App) to see your schedule, access clicker questions, a map of the campus and more.
|
||||
The EduApp is a PWA (Progressive Web App) where you can view your schedule, access clicker questions, a map of the campus and more.
|
||||
|
||||
You can access it at https://eduapp.ethz.ch and you can log in using your AD password.
|
||||
|
||||
@@ -49,4 +55,4 @@ You can then access CodeExpert via https://expert.ethz.ch. Note that you won't h
|
||||
access link to join the course. Be sure to do that as soon as possible for each course, as there are two first year courses that use CodeExpert for the bonus.
|
||||
|
||||
|
||||
<small>Fun fact, in the code expert docs you remove the git ref slug from the URLs, a `418 - I'm not a Teapot` response status code is returned!</small>
|
||||
<small>Fun fact, if in the code expert docs you remove the git ref slug from the URLs, a `418 - I'm not a Teapot` response status code is returned</small>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Things to consider / try
|
||||
## LaTeX / Typst
|
||||
While handing in hand-written notes is accepted in almost all cases, it is still a good idea to hand things in that are typeset using LaTeX or Typst.
|
||||
For LaTeX, you may use my LaTeX helpers, found at https://github.com/janishutz/latex
|
||||
While handing in hand-written notes is accepted in almost all cases, it is still a good idea to hand things in that are typeset using LaTeX or Typst
|
||||
(because that way the TAs don't have to read your handwriting, which may or may not be ugly). For LaTeX, you may use my LaTeX helpers, found at https://github.com/janishutz/latex
|
||||
|
||||
|
||||
## Linux
|
||||
Development is *much* easier on Linux compared to Windows in about 95% of cases. There even are some courses where you absolutely *need* to use Linux (though you can use WSL also).
|
||||
Development is *much* easier on Linux compared to Windows in about 95% of cases. There even are some courses where you absolutely *need* to use Linux (though you can use WSL or Docker as well).
|
||||
Installing new dev tools is as easy as running a single command (such as `pacman -S <pkgname>` or `apt install <pkgname>`), or updating a config file (in case of Nix),
|
||||
no need to click "Next" a lot of times, it all *just works*.
|
||||
Docker is also a first-class citizen, Virtual Machines are much faster, etc.
|
||||
@@ -16,19 +16,19 @@ Using a mouse is *objectively* slow if you use things on a regular basis.
|
||||
Always fighting to put windows into the correct position using a mouse can get annoying and time consuming if you use them all day, every day.
|
||||
|
||||
This is where tiling window managers come into play. They automatically split your screen and you can navigate between windows entirely using a keyboard.
|
||||
Good examples include `bspwm`, `i3` (an `sway` for Wayland), `Hyprland` (albeit that isn't *necessarily* a full-blown tiling WM), `dwm` and more.
|
||||
Good examples include `bspwm`, `i3` (and `sway` for Wayland), `Hyprland` (albeit that isn't *necessarily* a full-blown tiling WM), `dwm` and more.
|
||||
|
||||
|
||||
## NeoVim (or Emacs)
|
||||
Using a good text editor will massively improve your developer experience and speed.
|
||||
Thus, choosing a fast editor is important. VSCode, JetBrains IDEs or Sublime Text are the "easy", slow and boring options, which are called "user friendly" options.
|
||||
|
||||
User friendly in general refers to applications that are easily approachable, by providing a legible, good looking graphical interface, while sacrificing usability,
|
||||
speed and customizability, thus meaning that the user isn't *really* in control of the software.
|
||||
User friendly in general refers to applications (or operating sysyems) that are easily approachable, by providing a legible, good looking (optional) graphical interface,
|
||||
while sacrificing usability, speed and customizability, thus meaning that the user isn't *really* in control of the software.
|
||||
|
||||
User focused software on the contrary is meant to be easily and extensively configurable and (typically) highly extensible.
|
||||
This means that the application is minimal by design, only providing features that the greatest portion of users will use.
|
||||
In the case of NeoVim, this means that things like AI completion are not included at all and need to be added using plugins.
|
||||
In the case of NeoVim, this means that things like AI completion are not included at all and need to be added using plugins (though why would you want that, anyway?).
|
||||
Language Servers on the other hand can be added natively because it is an entirely optional feature, as is syntax highlighting,
|
||||
which most, if not all developers use.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user