Background Knowledge

This covers some of what I would consider useful to know when working with Neorg & co. Most of the sections are in the form of 'learning roadmaps' - some key readings to get up to speed, sometimes also activities or questions to guide one's acquisition of the material.

Markdown

  1. Markdown Guide
  2. Markdown Tutorial
  3. Learn Markdown in Y Minutes - available in many different languages here
  4. the official documentation, as needed
    1. Basics
    2. Syntax
    3. Online Markdown-to-HTML Converter, Cheatsheet

emacs orgmode

  1. Org mode beginning at the basics
  2. Org Mode Compact Guide - reading Emacs Lisp isn't too bad if you have had any exposure to a lisp-family language before, and if not, this will will help you make sense of it
  3. .org File Syntax Specification

Neovim

General

WIP

Plugins

WIP

Treesitter

nvim-treesitter

WIP

Programming Languages

Multilinugual

Good selection of problems from Rosetta Code

Lua

  1. Why Lua?
  2. A Look at the Design of Lua
  3. Hyperpolyglot - comparison with other scripting languages, see here for the same examples in 4 more languages
  4. Learn Lua in Y Minutes
  5. nvim Lua guide - excellent tutorial

Janet

  1. Learn Janet in Y Minutes
  2. Official Site - read the main page and skim the documentation
  3. Community Docs - browse and search examples

Scheme

  1. Scheme is Fun - quick video on Scheme syntax
  2. decent short intro
  3. longer intro
  4. Learn Racket in Y Minutes - Racket is closely related to Scheme, so this is a good way to get a feel for the language - just don't memorize all the the details here; focus on generalities
  5. nice little video course
  6. Official Guide - very well-written and worth reading - not too long
  7. Cookbook - one of the better ways to get a feel for the language
  8. Teach Yourself Scheme in Fixnum Days - probably more than is needed for the small amount of Scheme used in Neorg, but well-written and worth leafing through

Zig

  1. Why Zig When There is Already C++, D, and Rust? - to get motivated
  2. ziglearn.org
  3. Learn Zig in Y Minutes
  4. In-depth Overview - really nice read
  5. Zig Docs - worth skimming
  6. Examples - to get a practical feel for the language

Rust

  1. Learn Rust in Y Minutes
  2. Hyperpolyglot
  3. The Rust Programming Language - the Bible of Rust, worth at least skimming
  4. Rust by Example - my preferred way to learn, especially when a language is new to me
  5. The Rust Cookbook - another nice format, and the third member of the Holy Trinity of Rust books

Haskell

  1. Learn Haskell in Y Minutes - worth going through for exposure to Haskell syntax
  2. Hyperpolyglot - good examples of basic tasks, even if the other 3 languages are unfamiliar
  3. Learn You a Haskell for Great Good - a classic
  4. Happy Learn Haskell Tutorial - another highly recommended resource
  5. Real-World Haskell - worth going through to solidify what has already been learned and to go from theory to practice

Dart (→ Flutter)

  1. FreeCodeCamp - very basic
  2. Another quick 1-page intro

GTD Framework

  1. Wikipedia - good concise overview
  2. Official site - 5 Steps
  3. a GTD implementation in Orgmode
  4. GTD in Taskwarrior - interesting tutorial series

Zettelkasten System

  1. Wikipedia - as always, Wikipedia has an excellent introduction
  2. Zettelkasten 101 (good blog post)

Parsing and Formal Language Theory

  1. James Power Notes - impressively concise and readable

WIP: Read through and sort