WS-LDN-5
Hi-performace Clojurescript w/ thi.ng, WebGL, Web Workers, WebSockets & asm.js
Repository
git clone git@bitbucket.org:postspectacular/ws-ldn-5.gitWill be moved to GitHub later…
Day 1
Overview
- CLJS requires different optimization strategies than Clojure
- Focus on CPU-bound issues
- Hard time limits due to human perception & UI usability
- Graphics, especially if animated, often high computational demands
ex01 - Game of Life
- basic demo of idiomatic CLJS code performance
- various ways of optimizing
- benefit from constrained mutability
- intro to typed arrays, benefits
Also:
- use thi.ng/domus for easy (non-React) DOM creation/manipulation
- use thi.ng/strf for string formatting / parsing
ex02 - SVG visualizations & animation
- SVG is powerful, easy to generate, but highly inefficient for realtime
- Most geometry data only passed via strings (DOM attributes)
- Requires 2x work, 3x memory (lots of string concat, then parsing + rendering + compositing)
- Usually 2D only, but can use thi.ng/geom to render as 3D (w/ customizable shading)
ex03 - WebGL basics
WebGL & GLSL specs
- https://www.khronos.org/registry/webgl/specs/latest/1.0/
- https://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
