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

Learn specifically

  • Learn markdownLearn markdown
    General

    CommonMark
    GitHub Markdown, incl. things like alerts


    Snippets

    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)


    Enhancements

    Presentations

    List of markdown presentation tools
    Slidev
    Marp

    Docs


    Markdown to GSlides

  • Learn GitLearn Git
    Intro

    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
    W...
  • Learn SQLLearn SQL
    Learning

    SQL Climber
    SQL Zoo
    DataCamp
    Lost at SQL
    Window Functions – intro, questions


    Reading

    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
    Links

    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
    Intro

    First and foremost, consider whether to learn it all


    Dataviz

    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)






    Coding





    [R Programming A-Z™: R For D...
  • Learn DockerLearn Docker
    Intro

    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
    Philosophy

    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


    IN...
Metadata