Learn coding

  • data-coding
  • learn
  • spring

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

General Tools

  • carbon
    • Create and share beautiful images of your source code.

Learn specifically

  • Learn markdownLearn markdown

    GitHub Markdown, incl. things like alerts


    How to reference local files

    Obsidian opens the file if it can, otherwise it opens in default app
    Obsidian, Syntax

    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
    Why, really?

    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

    Unix philosophy (by Doug McIlroy, creator of Unix pipes) is to:

    Write programs that do one thing and do it well
  • Learn SQLLearn SQL

    SQL Climber
    SQL Zoo
    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

    Quora Discussion
    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
    Jupyter Samples
    Should you choose Python over R?

    Specific topics

    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


    Shiny Dashboard
    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
    Tableau Community](https://community.tableau.com/thread/236068)


    [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.

    Vim modes

    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