feat: first semester tips and tricks, things to try
This commit is contained in:
@@ -33,6 +33,7 @@ export default defineConfig({
|
|||||||
{ text: 'Exam (Preparation)', link: '/exams' },
|
{ text: 'Exam (Preparation)', link: '/exams' },
|
||||||
{ text: 'Buildings', link: '/buildings' },
|
{ text: 'Buildings', link: '/buildings' },
|
||||||
{ text: 'Semester Planning', link: '/semester-planning' },
|
{ text: 'Semester Planning', link: '/semester-planning' },
|
||||||
|
{ text: 'Things to consider / try', link: '/things-to-try' },
|
||||||
{ text: 'Reference / Useful links', link: '/reference' },
|
{ text: 'Reference / Useful links', link: '/reference' },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ Chances are that if you are reading this, you are starting with ETH, so here a f
|
|||||||
- Make sure to switch exercise classes if you don't like a TA's teaching style. You don't have to change the registration on MyStudies, you can go to any class you like.
|
- Make sure to switch exercise classes if you don't like a TA's teaching style. You don't have to change the registration on MyStudies, you can go to any class you like.
|
||||||
- Don't hesitate to ask questions in exercise classes
|
- Don't hesitate to ask questions in exercise classes
|
||||||
|
|
||||||
|
::: warning DISCLAIMER
|
||||||
|
Semester 1 is *not* indicative of the workload in later semesters. It is (by far) the highest workload semester.
|
||||||
|
:::
|
||||||
|
|
||||||
## Discrete Maths (DM)
|
## Discrete Maths (DM)
|
||||||
<small>Managed via Moodle</small>
|
<small>Managed via Moodle</small>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
## 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).
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## Tiling Window Managers
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## 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 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.
|
||||||
|
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.
|
||||||
|
|
||||||
|
If you are to give NeoVim (or Vim, or Emacs or another terminal editor) a try, just be aware that they have a *very* steep learning curve compared to things like VSCode.
|
||||||
|
However, if you push through, you will gain superpowers, and your IDE won't use half a gigabyte or more of RAM just sitting there.
|
||||||
Reference in New Issue
Block a user