37 lines
2.6 KiB
Markdown
37 lines
2.6 KiB
Markdown
# 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.
|