July 2020


Got into Shadertoy, and through this back into graphics programming as a whole. Completed a bunch of resources on shaders and ray marching, and made a few shaders of my own.

Remade Intrinsic Gravity after discovering the Demoscene, a subculture that builds demos (self-contained computer programs that produce audio-visuals).

Completed Vulkan-Tutorial and (after ~40 hours) I can render a triangle!

Wrote Fundamentals of the Vulkan Graphics API to get a better understanding of how all the pieces explained in Vulkan-Tutorial fit together. My post somehow made it to #1 on r/Programming, and was retweeted by the official Vulkan Twitter account :)

Computer Graphics

Teach Yourself Demoscene in 14 Days
Overview of what making a project in the demoscene is like

Shaders: A Primer
Overview of what vertex and fragment shaders do

Shader School
Interactive course explaining the theory and practice of vertex and fragment shaders, and other graphics programming techniques

Fragment Foundry
Intro to fragment shaders and Signed Distance Functions, Shadertoy style

The Book of Shaders
An interactive book that teaches different techniques for 2D fragment shaders

Ray Marching and Signed Distance Functions
An intro to Ray Marching and Signed Distance Functions, which allow you to create 3D graphics with only a fragment shader

The Wave Function Collapse Algorithm Explained Very Clearly
Simple explanation of the WFC algo for procedural generation

How to Learn Vulkan
Resources and tips for learning the Vulkan graphics API

Vulkan in 30 Minutes
Brief overview of the Vulkan graphics API

Using Vulkan Hpp, The C++ Header for Vulkan
Overview of the C++ bindings for Vulkan, and why they’re useful


Nonfiction Writing Advice
Writing advice from the author of SSC on how to maintain clarity and reader engagement

Gwern on Writing
Gwern’s reflections on why he writes, and who he writes for

Research Debt
What research debt is and why writing that explains research simply is important


On Progress and Historical Change
Essay on the history of progress and whether individuals can have any meaningful impact on the world.

How to Get Worse At StarCraft II
To improve, focus on improving, not on winning

Ideas for Programmers Looking Beyond Web Development
List of intellectually interesting CS areas and resources

Your Startup is Uninteresting
Argues that most startups aren’t solving problems that are all of: challenging, interesting, and have a market demand

What Makes the Lobster Forum Different
I like lobste.rs more than Hacker News. This post explains why