Software is a tool to help accomplish something for people – many programmers never understood that. Keep your eyes on the delivered value, and don't over-focus on the specifics of the tools.
– John Carmack
- Create and share beautiful images of your source code.
- Learn markdownLearn markdown
How to reference local files
Obsidian opens the file if it can, otherwise it opens in default app
Same folder: Read more [here](./another_file.xlsx)
Diff folder: Read more [here](../another_folder/another_file.xlsx)
List of markdown presentation tools
Markdown to GSlides
- Learn GitLearn Git
It is a standardised way of tracking your code and analyses (plus history thereof).
Mrshu says that it's a good idea to learn Git, because it:
Helps avoid "versioning hell" (you know, files like essay.doc, essay_v2.doc, essay_final.doc)
Gives you the ability to "jump in time"
Helps you make your work "reproducible"
Makes it a bit more straightforward to work on common (larger) projects with others
And don't forget that Git != GitHub != GitLab....
- Learn CLILearn CLI
Become shell literate: Attempt at trying to persuade you that this whole thing makes sense. Full disclosure: the author of the article is a well-known free software advocate, so he is far from impartial in his article. That said, he is certainly not alone in suggesting it; here is another example from Letters To A New Developer
Unix philosophy (by Doug McIlroy, creator of Unix pipes) is to:
Write programs that do one thing and do it well
- Learn SQLLearn SQL
Lost at SQL
Window Functions – intro, questions
Keep in mind that relational database is just one of several database paradigms, even though one of the most commonly used.
Learn why SQL should be the default choice for data transformation logic
I don't want to learn your garbage query language. I just want my SQL back.
[[Understand that SQL queries start with FROM]]
[[Understand that CROSS JOIN UNNEST works through value ta...
- Learn PythonLearn Python
Automate the Boring Stuff with Python or book – a practical programming course for office workers, academics, and administrators who want to improve their productivity
Learn Python The Hard Way, 3rd Edition.pdf
81 Python Code Snippets for Everyday Problems
Should you choose Python over R?
How to Use Generators and yield in Python, together with yield from
[[Create pip-installable packages]]
[[Use virtual environments...
- Learn RLearn R
First and foremost, consider whether to learn it all
TidyTuesday by R4DS Online Learning Community
Submissions by Ijeamaka Anyene.
How to use R with Tableau (and when you should)
[Connect Tableau to R and Using R scripts in Tableau
[R Programming A-Z™: R For D...
- Learn DockerLearn Docker
The Missing Semester:
What is the difference between Docker and a Virtual Machine?
Docker is based on a more general concept called containers. The main difference between containers and virtual machines is that virtual machines will execute an entire OS stack, including the kernel, even if the kernel is the same as the host machine. Unlike VMs, containers avoid running another instance of the kernel and instead share the kernel with the host. In Linux, this is achi...
- Learn VimLearn Vim
Optimise for reading code/text, not writing
Be programmable by itself (keystrokes are composable commands)
Avoid the mouse (too slow) or even the arrow keys (too much hand movement)
In practice this means using different "modes of operation" for different kinds of tasks.
NORMAL (<ESC>, sometimes double)
Default mode the editor starts in; one should spend most of the time here
Each keypress is equivalent to an editor command