Programming
github
khan academy
chat room
ToC
Frontend development
Backend development
Computer Science
Mathematics
Datastructures & Algorithms
ThreeJS demos I
ThreeJS demos II
Computer graphics
Game programming
Example 2D games
Example 3D games
3D modelling
various web apps
Frontend development
HTML
HTML intro
HTML DOM
HTML reference
online editor 1
online editor 2
various API docs
CSS
CSS intro
CSS overview
CSS Grid intro
CSS Grid playground
CSS Grid links
CSS position
CSS media queries
CSS transform
CSS 3D example
Design
visual design intro
UX design intro
JavaScript I
JS intro
online JS books
JS cheatsheet
JS API reference
JS this
(
more info
)
JS scope
jQuery scripting
(old school) (
without-jQuery
)
JavaScript II
new JS features
(aka ES6)
ES6 links
Upcoming JS features
Web apps
jQuery ToDo app
progressive web apps intro
(PWA)
HyperApp framework
(
docs
)
various projects
todo app
connectfour app
hacker-news app
qim
(functional library to read and modify complex JS objects)
ThreeJS library
threejs docs
essential-threejs book code
learning-threejs book code
threejs-cookbook code
stemkoski demos
(old three.js used)
code style formatter
useful abstracted snippets
Backend development
intro
Linux operating system
commandline tips
SSH
(secure shell)
learn Vim editing
Gedit editor
Atom IDE
regular expressions intro
regular expressions tester
Git version control
git basics
learn git
Git cheat sheet
a good git branching model
syncing a fork
configure a remote for a fork
git merge / git rebase
reset & revert
git revert
git reset
NodeJS (server-side JS)
NodeJS API
Express docs
Socket.io
(websockets)
SailsJS
(app framework)
PHP
PHP intro
Computer Science
Computer Science Education
intro
KhanAcademy CS
CourseBuffet CS
MIT CS
edX CS
CSonline CS
Computer Hardware
intro
video: how a CPU works
circuit design tool I
circuit design tool II
Rasberry Pi
official site
wikipedia info
hardware overview
GPIO pin layout
raspian
(Debian OS)
magic-mirror
(smart mirror libraries)
breadboard
(for custom hardware)
System programming (low-level)
intro
compiler intro
assembly intro
(
more
)
Linux & Assembly
video: Assembly intro
video: C-to-Assembly example
x86 registers
(
more
)
video: using ghex
(hex editor)
operating system programming intro
System programming (high-level)
intro
C
(
compile process
)
Rust
(C/C++ alternative)
documentation
crates.io
(modules)
links
Redox
(operating system)
Servo
(web browser)
Functional programming I
the idea of LISP
FP intro:
part 1
,
part 2
pdf: "
Introduction to FP
"
pdf: "
Introduction to lambda calculus
"
lambda calculus
intro 1
intro 2
Functional programming II
Racket
Rosette
(Racket extension)
Security
cryptography
khan academy course
university video course
crypto notes
web security
web authentication intro
SSL certificates
JSON web token
site security configuration check
Database systems
SQL intro
MariaDB
(MySQL fork)
PostgreSQL
NoSQL databases
MongoDB
(JSON store) (see also:
Mongoose
,
restify-mongoose
)
GUN
(distributed cache: offline-first, graph)
GraphQL intro
Sysadmin & Scaling
Site reliability engineering
Mathematics
math
trigonometry visualization
fourier transform
Datastructures & Algorithms
overview
A* shortest path finding
various algorithms visualized
analyzing algorithms
(
Big-O intro
)
(
Big-O cheat sheet
) (
big-Θ, big-O, and big-Ω
)
sorting
Graphs
graph theory intro
(todo: binary trees, binary heaps, etc.)
sorting
Sorting algorithms
visual
...
state machines
Finite-State Machine
(
JS based FSM
)
xstate library
graphics
Perline noise
intro
...
fractals
intro
...
AI
AI books
minimax algorithm
video
tic-tac-toe demo
monte carlo method
intro
approximating Pi
machine learning
Neural Networks intro
visual introduction
intro
Google TensorFlow
ThreeJS demos I
basic cube 1
basic cube 2
keyboard input
first person
cube drive
basic raycast collision detection
vertex shader
fragment shader
morph targets
tween cube
WebVR boilerplate demo (
source
)
ThreeJS demos II
bowling v1 (PhysiJS physics engine intro)
bowling v2 (with VR) (
source
)
websocket multiplayer client-server demo
multiplayer FPS VR demo (in progress)
AmmoJS basic demo
AmmoJS FPS
AmmoJS breakable physics
AmmoJS softbody physics
spotlight clock (volumetric lights, extrusion)
line-grapher app
surface-grapher app
canvas renderer demo
windmills (advanced geometry, render effect)
smart overlay
Computer graphics
Graphics math I
betterexplained.com
(math concepts)
3D graphics tutorial
(using plain functions, not matrices)
Object rotation
Angle sum proofs:
sine
and
cosine
matrices:
intro
,
addition
,
transpose
,
multiplication
,
identity matrix
transformation matrix
list of matrix math videos
Graphics math II
3D Graphics with OpenGL
homogeneous coordinates
2D matrices
3D matrix multiplication
3D matrices: Orthographic 3D
3D matrices: Perspective
video series:
triangles
,
matrices
,
trianges to pixels
,
visibility problem
scene graph matrices
OpenGL shaders
GLSL shader language
shader tut. 1
and
tut. 2
ThreeJS: ShaderMaterial
GLSL Sandbox
Book of Shaders
modern rendering
WebVR
intro
browser support status
demos:
1
,
2
3
,
4
WebVR Polyfill
GamePad API
Archos VR headset
DaisyWheelJS
(VR text-input widget)
Game programming
Game Design
wikipedia:
video game design
(todo: story telling, graphics, audio, networking, AI, ...)
2D Breakout game tutorial
side-scroller
(
tutorial
)
Game Input
todo: responsive game input (keyboard, mouse, touch, VR)
threex.keyboardstate
(keyboard input library)
Canvas user input
Keypress.js
(fancy keyboard input library)
touch events intro
Hammer.js
(multi-touch input library)
Pointer Events
(unified pointer-input standard)
virtual game-controller UI
Game Networking
todo: session matching/joining, ...
Game Assets
todo: asset creation, asset loading / saving, ...
glTF
(WebGL asset file format)
Game Sound
Howler.js
(sound play library)
audiosprite
(audio sprite generator)
todo: sound synthesis
Game physics
wikipedia:
physics engine
collision detection in 3D notes
raycast physics
(ThreeJS code example)
PhysiJS
(ThreeJS extension)
AABB physics engine
(not ThreeJS compatible)
Example 2D games
canvas pong! (
see also
)
space invaders (
source
)
snake (
source
)
flappy bird (
source
)
tiny platformer (
source
,
tutorial
,
Tiled mapeditor
)
boardgames (minimalistic)
gomoku
mastermind
go
(
against AI
) (
intro
)
mancala
(
intro
)
quoridor
(
against AI
) (
intro
)
quarto
(
against AI
) (
intro
)
Example 3D games
fps game (
source
)
block-script (minecraft-like game) (
source
)
3D modelling
tools
ThreeJS editor
Blender-to-ThreeJS
(tutorial)
openJSCAD
(solid, parametric modelling)
ThreeJS STL demo
various web apps
innovative web-apps
3D globe of radio stations
google art: x-degrees
...