{"id":73,"date":"2022-01-16T21:37:21","date_gmt":"2022-01-16T21:37:21","guid":{"rendered":"https:\/\/timallanwheeler.com\/blog\/?page_id=73"},"modified":"2026-03-31T05:37:02","modified_gmt":"2026-03-31T05:37:02","slug":"blog","status":"publish","type":"page","link":"https:\/\/timallanwheeler.com\/blog\/","title":{"rendered":"Blog"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"archive\">Archive<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>2026\/04 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2026\/03\/31\/into-depth-large-array-of-things\/\">Into Depth &#8211; Large Array of Things<\/a><\/p>\n\n\n\n<p>2026\/03 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2026\/03\/01\/into-depth-shadow-casting-portals\/\">Into Depth &#8211; Shadow Casting &amp; Portals<\/a><\/p>\n\n\n\n<p>2026\/02 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2026\/02\/02\/into-depth-action-system\/\">Into Depth &#8211; Action System<\/a><\/p>\n\n\n\n<p>2026\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2026\/01\/01\/into-depth-unified-triangle-shader\/\">Into Depth &#8211; Unified Triangle Shader<\/a><\/p>\n\n\n\n<p>2025\/12 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2025\/11\/30\/a-truetype-font\/\">A TrueType Font<\/a><\/p>\n\n\n\n<p>2025\/04 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2025\/04\/04\/hiatus\/\">Hiatus<\/a><\/p>\n\n\n\n<p>2025\/03 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2025\/03\/06\/grandmother-cells-and-black-swans\/\">Grandmother Cells and Black Swans<\/a><\/p>\n\n\n\n<p>2025\/02 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2025\/02\/01\/coding-your-own-tools\/\">Coding your own Tools<\/a><\/p>\n\n\n\n<p>2025\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2025\/01\/01\/emscripten-is-neat\/\">Emscripten is Neat<\/a><\/p>\n\n\n\n<p>2024\/12 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/12\/01\/rollouts-on-the-gpu\/\">Rollouts on the GPU<\/a><\/p>\n\n\n\n<p>2024\/11 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/11\/05\/tuning-a-sokoban-policy-net\/\">Tuning a Sokoban Policy Net<\/a><\/p>\n\n\n\n<p>2024\/10 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/09\/28\/3d-2-bone-inverse-kinematics\/\">3D 2-Bone Inverse Kinematics<\/a><\/p>\n\n\n\n<p>2024\/09 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/09\/01\/impulse-responses\/\">Impulse Responses<\/a><\/p>\n\n\n\n<p>2024\/08 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/08\/01\/2d-collision-detection-and-resolution\/\">2D Collision Detection and Resolution<\/a><\/p>\n\n\n\n<p>2024\/06 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/06\/01\/a-transformer-sokoban-policy\/\">A Sokoban Policy<\/a><\/p>\n\n\n\n<p>2024\/05 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/05\/04\/differential-evolution\/\">Differential Evolution<\/a><\/p>\n\n\n\n<p>2024\/04 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/04\/01\/transformers-how-and-why-they-work\/\">Transformers &#8211; How and Why They Work<\/a><\/p>\n\n\n\n<p>2024\/03 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/03\/01\/skeletal-animation\/\">Skeletal Animation<\/a><\/p>\n\n\n\n<p>2024\/02 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/02\/07\/posing-meshes-with-opengl\/\">Posing Meshes with OpenGL<\/a><\/p>\n\n\n\n<p>2024\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2024\/01\/01\/rendering-with-opengl\/\">Rendering with OpenGL<\/a><\/p>\n\n\n\n<p>2023\/12 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/12\/02\/a-side-scroller-physics-system\/\">A Side Scroller Physics System<\/a><\/p>\n\n\n\n<p>2023\/11 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/11\/12\/optimization-is-ax-b\/\">Optimization is Ax = b<\/a><\/p>\n\n\n\n<p>2023\/10 &#8211;<a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/09\/30\/global-path-planning-and-local-refinement\/\"> Global Path Planning and Local Refinement<\/a><\/p>\n\n\n\n<p>2023\/09 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/08\/31\/toom-with-non-euclidean-geometry\/\">TOOM with Non-Euclidean Geometry<\/a><\/p>\n\n\n\n<p>2023\/08 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/07\/29\/taking-toom-off-grid-without-bsps\/\">Taking TOOM Off-Grid, without BSPs<\/a><\/p>\n\n\n\n<p>2023\/07 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/07\/01\/a-handcrafted-wedding\/\">A Handcrafted Wedding<\/a><\/p>\n\n\n\n<p>2023\/06 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/05\/29\/billboard-sprites\/\">Billboard Sprites<\/a><\/p>\n\n\n\n<p>2023\/05 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/04\/30\/textures-for-wolfenstein\/\">Textures for Wolfenstein<\/a><\/p>\n\n\n\n<p>2023\/04 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/04\/01\/wolfenstein-3d-raycasting-in-c\/\">Wolfenstein 3D Raycasting in C<\/a><\/p>\n\n\n\n<p>2023\/03 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/03\/01\/subsumption-architectures-and-transformers\/\">Subsumption Architectures and Transformers<\/a><\/p>\n\n\n\n<p>2023\/02 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/01\/27\/2d-player-collision-against-static-geometry\/\">2D Player Collision against Static Geometry<\/a><\/p>\n\n\n\n<p>2023\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2023\/01\/03\/cart-pole-actor-critic\/\">Cart Pole Actor Critic<\/a><\/p>\n\n\n\n<p>2022\/12 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/12\/01\/cart-pole-with-actuator-limits\/\">Cart Pole with Actuator Limits<\/a><\/p>\n\n\n\n<p>2022\/11 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/11\/04\/cart-pole-controllers\/\">Cart Pole Controllers<\/a><\/p>\n\n\n\n<p>2022\/10 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/10\/01\/convex-duality\/\">Convex Duality<\/a><\/p>\n\n\n\n<p>2022\/09 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/09\/02\/embedded-contours-with-marching-squares\/\">Embedded Contours with Marching Squares<\/a><\/p>\n\n\n\n<p>2022\/08 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/08\/03\/delaunay-triangulations\/\">Delaunay Triangulations<\/a><\/p>\n\n\n\n<p>2022\/07 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/07\/30\/how-we-wrote-another-textbook\/\">How We Wrote Another Textbook<\/a><\/p>\n\n\n\n<p>2022\/05 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/05\/08\/packing-order-search-for-sokoban\/\">Packing Order Search for Sokoban<\/a><\/p>\n\n\n\n<p>2022\/04 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/04\/02\/propulsive-landing\/\">Propulsive Landing<\/a><\/p>\n\n\n\n<p>2022\/02 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/02\/20\/push-permutation-optimization-of-sokoban-solutions\/\">Push-Permutation Optimization of Sokoban Solutions<\/a><\/p>\n\n\n\n<p>2022\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/01\/23\/sokoban-reach-and-code-performance\/\">Sokoban Reach and Code Performance<\/a><\/p>\n\n\n\n<p>2022\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/01\/19\/basic-search-algorithms-on-sokoban\/\">Basic Search Algorithms on Sokoban<\/a><\/p>\n\n\n\n<p>2022\/01 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2022\/01\/09\/hierarchical-temporal-memory-of-the-1000-brains-theory\/\">Hierarchical Temporal Memory of the 1000 Brains Theory<\/a><\/p>\n\n\n\n<p>2018\/10 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2018\/10\/22\/how-we-wrote-a-textbook\/\">How We Wrote a Textbook<\/a><\/p>\n\n\n\n<p>2017\/11 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2017\/11\/02\/alphago-zero-how-and-why-it-works\/\">AlphaGo Zero &#8211; How and Why it Works<\/a><\/p>\n\n\n\n<p>2014\/08 &#8211; <a href=\"https:\/\/timallanwheeler.com\/blog\/2014\/08\/25\/model-inference-in-the-presence-of-truncated-censored-or-missing-data\/\">Model Inference in the Presence of Truncated, Censored, or Missing Data<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Archive 2026\/04 &#8211; Into Depth &#8211; Large Array of Things 2026\/03 &#8211; Into Depth &#8211; Shadow Casting &amp; Portals 2026\/02 &#8211; Into Depth &#8211; Action System 2026\/01 &#8211; Into Depth &#8211; Unified Triangle Shader 2025\/12 &#8211; A TrueType Font 2025\/04 &#8211; Hiatus 2025\/03 &#8211; Grandmother Cells and Black Swans 2025\/02 &#8211; Coding your own Tools [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-73","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/pages\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":48,"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/pages\/73\/revisions"}],"predecessor-version":[{"id":3242,"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/pages\/73\/revisions\/3242"}],"wp:attachment":[{"href":"https:\/\/timallanwheeler.com\/blog\/wp-json\/wp\/v2\/media?parent=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}