Resources

In today’s world, there is no limit to the content that we can access for learning new things. I have often burnt many days simply collecting and vetting these resources, making it quite hard to make tangible progress in actually learning the content. This page is dedicated to compiling any useful resources that I have found, in the hopes that someone else may find it helpful.


Table of contents



Scientific Programming with Julia


Intro to language features

Numerical techniques

YouTube Channels

  • Official Julia Language: A literal treasure trove of information containing lectures from most Julia related events (most notably, the annual JuliaCon). It is certainly worth going through the ~4 hour workshops from previous JuliaCons. These cover a large variety of topics spanning from basic language features, metaprogramming and interactive plotting to developing and publishing your own packages.

  • Doggo.jl: Regular exploration into various random Julia concepts and packages.

Communities

  • Discourse: The primary forum for discussion
  • Zulip: A more texting oriented platform
  • Discord: Unofficial server for discussion

Package ecosystem



Game Development


Godot

  • Official documentation: Fairly good as far as documentation goes. There are also few text tutorials for beginner projects.
  • The ultimate introduction to Godot 4: An excellent introduction to what Godot offers if already familiar with programming.
  • Godot 4 - Code Architecture: An intermediate course on how to make good design choices to write a scalable and maintainable codebase for your Godot game.
  • Godotneers: Assortment of tutorials on general concepts and systems in games.
  • KidsCanCode:: A really useful resource for implementation of specific mechanics/systems in games (despite the rather goofy name!).
  • GDQuest: Similar to KidsCanCode.

Assets

  • Lospec: Color palettes for pixel art: https://lospec.com/
  • Kenney’s asset packs: A vaaaast collection of art that is free to use.
  • Aseprite:: A paid (but source available) software to make pixel art. Follow this for build instructions.
  • Pixelorama:: An open source pixel art software made with Godot.
  • jsfxr: 8-bit retro sfx generator.

Procedural Animation

Misc.



Visualization


Scientific Visualization

Shaders

Graphics Programming

Creative Coding



Quantum Many-Body Physics


Blogs

Notes

Lectures

Misc.


Computer Science and Mathematics


Formal verification and Automated theorem proving

  • Xena Project: An excellent blog with various articles on dependant type theory and automated theorem proving with Lean 4.
  • Automated reasoning: An introduction to how Amazon utilizes formal verification with Lean 4 in their test suite for various software products. There are several links therein containing further details as well as other resources.
  • Busy Beavers: An interactive (paid) course introducing computability theory incuding practical demonstrations using Lean 4 and SAT solvers.

Learning a new language

  • Learn C++: A series of text based tutorials to learn C++ from scratch.

Software development

  • Third bit: A couple of excellent books covering things from writing good python code for scientific research to how open source projects design their architecture.




Random tools


Type-setting

  • Typst: A very promising $\LaTeX$ alternative in early development.
  • Tex2Typst: A web-app to quickly convert math syntax from TeX to Typst.
  • Approach Zero: A website that lets you search all the Stack Exchange forums by $\LaTeX$ equations.
  • Tables Generator: A website to generate $\LaTeX$ tables with ease.
  • Mathcha: A WYSIWYG editor to create math diagrams for use in $\LaTeX$ documents.

Visualization tools

  • Excalidraw: An online whiteboard application w/ live collaboration features.
  • REXpaint: A user-friendly ASCII art editor.
  • Mermaid: A JavaScript based diagramming and charting tool using markdown-like inputs.
  • p5.js: A javascript library for creative coding (check out The Coding Train for fun projects using p5.js)
  • Explorables: A collection of various tools for creating explorable/interactive explanations.
  • Friends don’t let Friends: A guide on designing good visualizations of data.

General programming stuff