└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Bookmarks 2 | 3 | A curated collection of technical articles accumulated from around the web. Mostly graphics, games, math, and low level stuff. 4 | 5 | Graphics - Techniques 6 | - [Real-time Global Illumination by Precomputed Local Reconstruction from Sparse Radiance Probes](https://users.aalto.fi/~silvena4/Projects/RTGI/index.html) 7 | - [Rendering Vector Art on the GPU](https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch25.html) 8 | - [Atmospheric Scattering](https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter16.html) 9 | - [Maximizing Depth Buffer Range and Precision](http://outerra.blogspot.com/2012/11/maximizing-depth-buffer-range-and.html) 10 | - [GPU Font Rendering](http://terathon.com/font_rendering_sota_lengyel.pdf) 11 | - [Projection Matrix Tricks](http://www.terathon.com/gdc07_lengyel.pdf) 12 | - [Normal Transforms - Inverse Transpose](https://paroj.github.io/gltut/Illumination/Tut09%20Normal%20Transformation.html) 13 | - [DOOM Fire Particle Effect](http://fabiensanglard.net/doom_fire_psx/) 14 | - [Portal Rendering with Off-Screen Render Targets](http://tomhulton.blogspot.com/2015/08/portal-rendering-with-offscreen-render.html) 15 | - [Command Buffers for Multi-Threaded Rendering](http://alinloghin.com/articles/command_buffer.html) 16 | - [Stateless, Layered, Multi-Threaded Rendering](https://blog.molecular-matters.com/2014/11/06/stateless-layered-multi-threaded-rendering-part-1/) 17 | - [Bucketing Graphics Draw/State Calls](http://realtimecollisiondetection.net/blog/?p=86) 18 | - [Simulating Bokeh](http://ivizlab.sfu.ca/papers/cgf2012.pdf) 19 | - [How is Virtual Texturing Actually Efficient?](https://computergraphics.stackexchange.com/questions/1768/how-can-virtual-texturing-actually-be-efficient) 20 | - [Programmatic Icosphere](http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html) 21 | - [Modern LightMapping](http://www.humus.name/index.php?page=3D&ID=91) 22 | - [Fixing Frustum Culling](http://www.iquilezles.org/www/articles/frustumcorrect/frustumcorrect.htm) 23 | - [Error of Depth Buffer Formats](https://mynameismjp.wordpress.com/2010/03/22/attack-of-the-depth-buffer/) 24 | - [Visualizing Depth Buffer Precision](https://developer.nvidia.com/content/depth-precision-visualized) 25 | - [Encoding floats to RGBA](https://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/) 26 | - [The Quest for Very Wide Outlines](https://bgolus.medium.com/the-quest-for-very-wide-outlines-ba82ed442cd9) 27 | - [A Sampling of Shadow Techniques](https://mynameismjp.wordpress.com/2013/09/10/shadow-maps/) 28 | - [Sample Distribution Shadow Maps](https://software.intel.com/content/www/us/en/develop/articles/sample-distribution-shadow-maps.html) 29 | - [Spatiotemporal Blue Noise Textures](https://developer.nvidia.com/blog/rendering-in-real-time-with-spatiotemporal-blue-noise-textures-part-1/) 30 | - [Order Independent Transparency (Part 1)](https://interplayoflight.wordpress.com/2022/06/25/order-independent-transparency-part-1/) 31 | - [HPG 2022 Program](https://www.highperformancegraphics.org/2022/program/) 32 | - [Rendering Water in Horizon Forbidden West (Slides)](http://advances.realtimerendering.com/s2022/SIGGRAPH2022-Advances-Water-Malan.pdf) 33 | - [Swapchains and frame pacing](https://raphlinus.github.io/ui/graphics/gpu/2021/10/22/swapchain-frame-pacing.html) 34 | - [LatencyFleX: A new approach to game latency reduction](https://ishitatsuyuki.github.io/post/latencyflex/) 35 | - [Reverse Z (and why it's so awesome)](https://tomhultonharrop.com/mathematics/graphics/2023/08/06/reverse-z.html) 36 | - [Creating a Directed Acyclic Graph from a Mesh](https://blog.traverseresearch.nl/creating-a-directed-acyclic-graph-from-a-mesh-1329e57286e5) 37 | - Recreating Nanite: [LOD generation](https://jglrxavpok.github.io/2024/01/19/recreating-nanite-lod-generation.html), [Runtime LOD selection](https://jglrxavpok.github.io/2024/04/02/recreating-nanite-runtime-lod-selection.html), [Mesh shader time](https://jglrxavpok.github.io/2024/05/13/recreating-nanite-mesh-shader-time.html), [Raytracing](https://jglrxavpok.github.io/2024/08/21/recreating-nanite-raytracing.html) 38 | - [Beyond White Noise for Real-Time Rendering](https://www.youtube.com/watch?v=tethAU66xaA) 39 | - [Filtering After Shading with Stochastic Texture Filtering](https://www.youtube.com/watch?v=e3391_C6aXE) 40 | - [Texture Streaming in Wicked Engine](https://wickedengine.net/2024/06/texture-streaming/) 41 | - [Arcball Interface](https://romankogan.net/math/arcball_js/index.html) 42 | - [Sparse Virtual Shadow Maps](https://ktstephano.github.io/rendering/stratusgfx/svsm) 43 | - [The details of transforming normals](https://github.com/graphitemaster/normals_revisited) 44 | 45 | Graphics - Color & Tone Mapping 46 | - [How Does HDR Work?](https://gamedev.stackexchange.com/questions/12528/how-does-hdr-work) 47 | - [What Makes a Good HDRI](http://adaptivesamples.com/2016/02/23/what-makes-good-hdri/) 48 | - [RGBM Color Encoding](http://graphicrants.blogspot.com/2009/04/rgbm-color-encoding.html) 49 | - [Automatic Exposure using a Luminance Histogram](https://bruop.github.io/exposure/) 50 | - [HDR Color Grading and Display in Frostbite](https://www.ea.com/frostbite/news/high-dynamic-range-color-grading-and-display-in-frostbite) 51 | - [Tone Mapping](https://64.github.io/tonemapping/) 52 | - [Oklab Color Space](https://bottosson.github.io/posts/oklab/) 53 | - [Khronos PBR Neutral Tone Mapper](https://www.khronos.org/news/press/khronos-pbr-neutral-tone-mapper-released-for-true-to-life-color-rendering-of-3d-products) 54 | - [Why does the chromaticity diagram look like that?](https://jlongster.com/why-chromaticity-shape) 55 | - [Color Space Confusion](https://nanosys.com/blog-archive/2012/08/14/color-space-confusion) 56 | 57 | Graphics - Renderers 58 | - [Rasterization on Larabee](http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602?pgno=1) 59 | - [Tiled Deferred Shading](https://leifnode.com/2015/05/tiled-deferred-shading/) 60 | - [Forward vs. Deferred Rendering](https://gamedevelopment.tutsplus.com/articles/forward-rendering-vs-deferred-rendering--gamedev-12342) 61 | - [Design Patterns for Low-Level Real-Time Rendering](https://www.youtube.com/watch?v=mdPeXJ0eiGc) 62 | - [Deferred Rendering for Current and Future Rendering Pipelines](https://software.intel.com/sites/default/files/m/d/4/1/d/8/lauritzen_deferred_shading_siggraph_2010.pdf) 63 | - [Destiny's Multi-threaded Rendering Architecture](http://advances.realtimerendering.com/destiny/gdc_2015/Tatarchuk_GDC_2015__Destiny_Renderer_web.pdf) 64 | - [How Unreal Renders a Frame](https://interplayoflight.wordpress.com/2017/10/25/how-unreal-renders-a-frame/) 65 | - [How the Milton Renderer Works](http://s3rg.io/post/2016/10/20/how-the-milton-renderer-works/) 66 | - [Filament Physically Based Graphics Engine (Android)](https://google.github.io/filament/Filament.md.html) 67 | - [Physically Based Shading at Disney](https://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_notes_v3.pdf) 68 | - [Rendering Black Holes in Interstellar](https://arxiv.org/abs/1502.03808) 69 | - [DOOM 2016 Graphics Study](http://www.adriancourreges.com/blog/2016/09/09/doom-2016-graphics-study/) 70 | - [Red Dead Redemption 2 Graphics Study](https://imgeself.github.io/posts/2020-06-19-graphics-study-rdr2/) 71 | - [Metal Gear Solid V Graphics Study](https://www.adriancourreges.com/blog/2017/12/15/mgs-v-graphics-study/) 72 | - [Rendering INSIDE - High Fidelity, low complexity](https://www.gdcvault.com/play/1023304/Low-Complexity-High-Fidelity-INSIDE) 73 | - [A Primer On Efficient Rendering Algorithms & Clustered Shading](http://www.aortiz.me/2018/12/21/CG.html) 74 | - [Inside UE5](https://www.eurogamer.net/articles/digitalfoundry-2020-unreal-engine-5-playstation-5-tech-demo-analysis) 75 | - [Dreams (Learning From Failure) - Media Molecule](https://www.youtube.com/watch?v=u9KNtnCZDMI) 76 | - [Design and Evolution of the UberBake Light system](https://darioseyb.com/pdf/seyb20uberbake.pdf) 77 | - [Rendering Roblox](https://www.gdcvault.com/play/1026753/Rendering-Roblox-Vulkan-Optimisations-on) 78 | - [Why are video game graphics still a challenge? Productionizing rendering algorithms](https://bartwronski.com/2020/12/27/why-are-video-games-graphics-still-a-challenge-productionizing-rendering-algorithms/) 79 | - [Graphics Studies Compilation](https://www.adriancourreges.com/blog/2020/12/29/graphics-studies-compilation/) 80 | - [A Deep Dive into Nanite Virtualized Geometry](https://www.youtube.com/watch?v=eviSykqSUUw) 81 | - [Journey to Nanite (Slides)](https://highperformancegraphics.org/slides22/Journey_to_Nanite.pdf) 82 | - [Journey to Nanite (Talk)](https://www.youtube.com/watch?v=NRnj_lnpORU) 83 | - [Lumen in UE5 (Slides)](http://advances.realtimerendering.com/s2022/SIGGRAPH2022-Advances-Lumen-Wright%20et%20al.pdf) 84 | - [Teardown Frame Teardown](https://acko.net/blog/teardown-frame-teardown/) 85 | - [Bringing Nanite to Fortnite Battle Royale in Chapter 4](https://www.unrealengine.com/en-US/tech-blog/bringing-nanite-to-fortnite-battle-royale-in-chapter-4) 86 | - [Real-Time Rendering of Glinty Appearances using Distributed Binomial Laws on Anisotropic Grids](https://ggx-research.github.io/publication/2023/06/09/publication-glints.html) 87 | - [Exploring Raytraced Future in Metro Exodus](https://developer.download.nvidia.com/video/gputechconf/gtc/2019/presentation/s9985-exploring-ray-traced-future-in-metro-exodus.pdf) 88 | - [ExileCon Dev Talk - Evolving Path of Exile's Renderer](https://www.youtube.com/watch?v=whyJzrVEgVc&t=605s) 89 | - [Radiance Cascades](https://drive.google.com/file/d/1L6v1_7HY2X-LV3Ofb6oyTIxgEaP4LOI6/view) 90 | 91 | Graphics - 2D 92 | - [Fast 2D Rendering on the GPU](https://raphlinus.github.io/rust/graphics/gpu/2020/06/13/fast-2d-rendering.html) 93 | - [2D Rendering: Compositing Tree](http://nothings.org/gamedev/compositing_tree/) 94 | - [Writing a Custom Vector Graphics Renderer Part 1](https://top.handmade.network/blogs/p/2795-writing_a_custom_vector_graphics_renderer_-_part_1#13785) 95 | - [Why are 2D vector graphics so much harder than 3D?](https://blog.mecheye.net/2019/05/why-is-2d-graphics-is-harder-than-3d-graphics/) 96 | - [Rendering Text with Distance Fields](http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf) 97 | - [2D Visibility](http://ncase.me/sight-and-light/) 98 | - [A Simple Solution for Shape Packing in 2D](https://gorillasun.de/blog/a-simple-solution-for-shape-packing-in-2d) 99 | - [Parallel curves of cubic Béziers](https://raphlinus.github.io/curves/2022/09/09/parallel-beziers.html) 100 | - [Simplifying Bézier Paths](https://raphlinus.github.io/curves/2023/04/18/bezpath-simplify.html) 101 | - [Motion Canvas](https://motioncanvas.io/docs/rendering/) 102 | 103 | Graphics - Images 104 | - [Image Kernels Explained Visually](http://setosa.io/ev/image-kernels/) 105 | - [Bitmap Sorter](http://larixk.nl/experiments/sort/) 106 | - [The Pannini Projection](http://tksharpless.net/vedutismo/Pannini/) 107 | - [Texture Atlases, Wrapping, and Mipmapping](https://0fps.net/2013/07/09/texture-atlases-wrapping-and-mip-mapping/) 108 | - [Sparse Virtual Textures](http://silverspaceship.com/src/svt/) 109 | - [SSAO](https://en.wikipedia.org/wiki/Screen_space_ambient_occlusion) 110 | - [SSDO](https://people.mpi-inf.mpg.de/~ritschel/Papers/SSDO.pdf) 111 | - [SMAA](http://www.iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.pdf) 112 | - [Color Grading & Correction](https://kosmonautblog.wordpress.com/2017/04/26/color-grading-correction/) 113 | - [Better Texture Filtering (Shadertoy)](https://www.shadertoy.com/view/XsfGDn) 114 | - [Beware of Transparent Pixels (Premultiplied Alpha)](http://www.adriancourreges.com/blog/2017/05/09/beware-of-transparent-pixels/) 115 | - [Bicubic filtering in fewer taps](http://vec3.ca/bicubic-filtering-in-fewer-taps/) 116 | - [Catmull-Rom Sampler](https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1) 117 | - [Improved Geometric Specular Anti-Aliasing](http://www.jp.square-enix.com/tech/library/pdf/ImprovedGeometricSpecularAA(slides).pdf) 118 | - [Recipe for Temporal Anti-Aliasing](https://docs.google.com/document/d/15z2Vp-24S69jiZnxqSHb9dX-A-o4n3tYiPQOCRkCt5Q/edit) 119 | - [Failed Adventure in Avoiding Temporal Anti-Aliasing](http://alextardif.com/Antialiasing.html) 120 | - [Temporal AA Starter Pack](http://alextardif.com/TAA.html) 121 | - [Separate your filters](https://bartwronski.com/2020/02/03/separate-your-filters-svd-and-low-rank-approximation-of-image-filters/) 122 | - [Decoupled Visibility Multisampling](http://filmicworlds.com/blog/decoupled-visibility-multisampling/) 123 | - [Quite OK Image Format](https://phoboslab.org/log/2021/11/qoi-fast-lossless-image-compression) 124 | - [Software VRS with Visibility Buffer Rendering](http://filmicworlds.com/blog/software-vrs-with-visibility-buffer-rendering/) 125 | - [Accelerating Raytracing Using Software VRS](https://interplayoflight.wordpress.com/2022/05/29/accelerating-raytracing-using-software-vrs/) 126 | - [Stochastic Texture Filtering](https://arxiv.org/pdf/2305.05810.pdf) 127 | - [Circularly symmetric convolution and lens blur](http://yehar.com/blog/?p=1495) 128 | - [Temporal AA and the quest for the Holy Trail](https://www.elopezr.com/temporal-aa-and-the-quest-for-the-holy-trail/) 129 | - [SVD Image Compression, Explained](https://dmicz.github.io/machine-learning/svd-image-compression/) 130 | - [This is the Difference of Gaussians](https://www.youtube.com/watch?v=5EuYKEvugLU) 131 | - [Learned Image Compression](https://www.youtube.com/watch?v=x_q7cZviXkY) 132 | - [AAA - Analytical Anti-Aliasing](https://blog.frost.kiwi/analytical-anti-aliasing/) 133 | - [Upsampling via Multisampling](http://filmicworlds.com/blog/upsampling-via-multisampling/) 134 | - [Mipmap selection in too much detail](https://pema.dev/2025/05/09/mipmaps-too-much-detail/) 135 | 136 | Graphics - Resources 137 | - [Intro to Rendering Techniques](http://www.cs.tau.ac.il/~dcor/Graphics/adv-slides/Introduction%20to%20rendering%20techniques.pdf) 138 | - [GPU Gems 3](http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html) 139 | - [Journal of Computer Graphics Techniques](http://jcgt.org/read.html?reload=1) 140 | - [A Trip Through the Graphics Pipeline - 2011](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/) 141 | - [Graphics Pipelines for Young Bloods](https://www.jeremyong.com/cpp/2021/05/20/graphics-pipelines-for-young-bloods/) 142 | - [The Book of Shaders](https://thebookofshaders.com/) 143 | - [3D Game Shaders for Beginners](https://github.com/lettier/3d-game-shaders-for-beginners) 144 | - [TinyRenderer Software 3D Renderer Tutorial - Part 1](https://github.com/ssloy/tinyrenderer/wiki/Lesson-1:-Bresenham%E2%80%99s-Line-Drawing-Algorithm) 145 | - [Real-Time Rendering for Artists](https://jesshiderue4.wordpress.com/real-time-rendering-an-overview-for-artists/) 146 | - [Graphics Programming Black Book](http://www.drdobbs.com/parallel/graphics-programming-black-book/184404919) 147 | - [Physically Based Rendering (text)](http://www.pbr-book.org/3ed-2018/contents.html) 148 | - [How to Read a Realistic Rendering Paper](https://morgan3d.github.io/advanced-ray-tracing-course/reading-research.pdf) 149 | - [NVIDIA Developer blog: advanced API performance](https://developer.nvidia.com/blog/tag/advanced-api-performance/) 150 | - [Advanced API Performance: Clears](https://developer.nvidia.com/blog/advanced-api-performance-clears/) 151 | 152 | Graphics - Academia 153 | - [What Makes a (Graphics) Systems Paper Beautiful](http://graphics.stanford.edu/~kayvonf/notes/systemspaper/) 154 | - [Writing your first ACM SIGGRAPH / TOG paper](https://research.siggraph.org/blog/guides/writing-your-first-acm-siggraph-tog-paper/) 155 | - [My first 100 days as a professor](https://irenechen.net/first100/) 156 | 157 | Graphics - Ray/Path Tracing 158 | - [Ray Marching & Signed Distance Functions](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/) 159 | - [A Signed Distance Fields Rendering Journey](https://kosmonautblog.wordpress.com/2017/05/01/signed-distance-field-rendering-journey-pt-1/) 160 | - [Creating Content with Signed Distance Functions](https://www.youtube.com/watch?v=s8nFqwOho-s) 161 | - [Modeling with SDFs](http://iquilezles.org/www/articles/distfunctions/distfunctions.htm) 162 | - [Business Card Ray-Tracer](http://fabiensanglard.net/rayTracing_back_of_business_card/index.php) 163 | - [WebGL Path Tracing](http://madebyevan.com/webgl-path-tracing/) 164 | - [Creating a Volumetric Ray Marcher](http://shaderbits.com/blog/creating-volumetric-ray-marcher) 165 | - [Real-Time Raytracing in UE4](https://www.unrealengine.com/en-US/blog/technology-sneak-peek-real-time-ray-tracing-with-unreal-engine) 166 | - [Rendering Moana with pbrt](http://pharr.org/matt/blog/2018/07/16/moana-island-pbrt-all.html) 167 | - [Fractal Engine](https://medium.com/@bananaft/my-journey-into-fractals-d25ebc6c4dc2) 168 | - [Revisiting the Postcard Raytracer with CUDA and OptiX](https://fabiensanglard.net/revisiting_the_pathtracer/index.html) 169 | - [Marble Marcher](https://codeparade.itch.io/marblemarcher) 170 | - [Raymarched Explosion in C++](https://github.com/ssloy/tinykaboom/wiki) 171 | - [Path Tracer Project Report](http://thume.ca/ray-tracer-site/report.pdf) 172 | - [Megakernels Considered Harmful: GPU Wavefront Path-Tracing](https://research.nvidia.com/sites/default/files/pubs/2013-07_Megakernels-Considered-Harmful/laine2013hpg_paper.pdf) 173 | - [Ray Tracing a Tiny Procedural Planet](https://casual-effects.com/research/McGuire2019ProcGen/McGuire2019ProcGen.pdf) 174 | - [Virtual Femto-Photography](https://benedikt-bitterli.me/femto.html) 175 | - [Crafting a real-time path tracer for minecraft RTX](https://www.youtube.com/watch?v=mDlmQYHApBU&feature=emb_title) 176 | - [Ray Tracing: The Rest of Your Life](http://www.realtimerendering.com/raytracing/Ray%20Tracing_%20the%20Rest%20of%20Your%20Life.pdf) 177 | - [Animating Noise for Integration Over Time](https://blog.demofox.org/2017/10/31/animating-noise-for-integration-over-time/) 178 | - [Screen Space Path Tracing](https://blog.tuxedolabs.com/2018/01/03/screen-space-path-tracing-diffuse.html) 179 | - [Monte Carlo Estimators for Differential Light Transport](http://www.iliyan.com/publications/DifferentialEstimators/DifferentialEstimators_Sig2021.pdf) 180 | - [Reducing Acceleration Structure Memory with RTXMU](https://developer.nvidia.com/blog/reducing-acceleration-structure-memory-with-nvidia-rtxmu/) 181 | - [Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting](https://research.nvidia.com/sites/default/files/pubs/2020-07_Spatiotemporal-reservoir-resampling/ReSTIR.pdf) 182 | - [Fast Volume Rendering with Spatiotemporal Reservoir Resampling](https://graphics.cs.utah.edu/research/projects/volumetric-restir/volumetric_restir.pdf) 183 | - [Light transport matrices, SVD, spectral analysis, and matrix completion](https://bartwronski.com/2022/02/15/light-transport-matrices-svd-spectral-analysis-and-matrix-completion/) 184 | - [Real-time Neural Radiance Caching for Path Tracing](https://d1qx31qr3h6wln.cloudfront.net/publications/paper_4.pdf) 185 | - [Dynamic, Noise Free, Screen Space Diffuse Global Illumination](https://gamehacker1999.github.io/posts/SSGI/) 186 | - [Unreal Engine 5 goes all-in on dynamic global illumination with Lumen](https://www.unrealengine.com/en-US/tech-blog/unreal-engine-5-goes-all-in-on-dynamic-global-illumination-with-lumen) 187 | - [Kajiya Global Illumination Overview](https://github.com/EmbarkStudios/kajiya/blob/main/docs/gi-overview.md) 188 | - [Temporally Stable Real-Time Joint Neural Denoising and Supersampling](https://momentsingraphics.de/HPG2022.html) 189 | - [Polarization in Path Tracing (Mitsuba 3)](https://mitsuba.readthedocs.io/en/latest/src/key_topics/polarization.html) 190 | - [Visualizing General Relativity](https://michaelmoroz.github.io/TracingGeodesics/) 191 | - [Fast, Branchless Ray/Bounding Box Intersections, Part 3: Boundaries](https://tavianator.com/2022/ray_box_boundary.html) 192 | - [Reading Veach’s Thesis](https://www.reedbeta.com/blog/reading-veach-thesis/) 193 | - [Cyberpunk 2077’s Path Tracing Update](https://chipsandcheese.com/2023/05/07/cyberpunk-2077s-path-tracing-update/) 194 | - [Coupling Conduction, Convection and Radiative Transfer in a Single Path-Space: Application to Infrared Rendering](https://hal.science/hal-04090428v1/document) 195 | - [Crash Course in BRDF Implementation](https://boksajak.github.io/blog/BRDF) 196 | - [Solving Self-Intersection Artifacts in DirectX Raytracing](https://developer.nvidia.com/blog/solving-self-intersection-artifacts-in-directx-raytracing/) 197 | - [The Missing Primary Ray PDF in Path Tracing](https://agraphicsguynotes.com/posts/the_missing_primary_ray_pdf_in_path_tracing/) 198 | - [Fast Denoising with self-stabilizing recurrent blurs](https://developer.download.nvidia.com/video/gputechconf/gtc/2020/presentations/s22699-fast-denoising-with-self-stabilizing-recurrent-blurs.pdf) 199 | - [VNDF importance sampling for an isotropic Smith-GGX distribution](https://auzaiffe.wordpress.com/2024/04/15/vndf-importance-sampling-an-isotropic-distribution/) 200 | - [N-BVH: Neural ray queries with bounding volume hierarchies](https://weiphil.github.io/portfolio/neural_bvh) 201 | - [Implementing General Relativity: Rendering the Schwarzschild black hole](https://20k.github.io/c++/2024/05/31/schwarzschild.html) 202 | - [Machine Learning on the GPU - Case Study: Open Image Denoise](https://wallisc.github.io/rendering/2024/06/06/Intro-to-GPU-ML-Denoising.html) 203 | - [Rendering Tiny Glades With Entirely Too Much Ray Marching](https://www.youtube.com/watch?v=jusWW2pPnA0&list=PLLaly9x9rqjsXLW1tMFruyh_657sh8epk&index=18) 204 | - [Sampling Analytic Participating Media](https://zero-radiance.github.io/post/analytic-media/) 205 | - [Radiometry, part 1: I got it backwards](https://momentsingraphics.de/Radiometry1Backwards.html) 206 | - [Uniform Sampling of Surfaces by Casting Rays](https://www.arxiv.org/pdf/2506.05268) 207 | 208 | Graphics - Ray/Path Tracing - ReSTIR 209 | - [ReSTIR GI for Specular Bounces](http://www.zyanidelab.com/restir-gi-for-specular-bounces/) 210 | - [ReSTIR Reading List](http://lousodrome.net/blog/light/2022/05/14/reading-list-on-restir/) 211 | - [Lecture: TAA & ReSTIR](http://www.cs.uu.nl/docs/vakken/magr/2021-2022/files/lecture%2014%20-%20ReSTIR.pdf) 212 | - [Understanding The Math Behind ReStir DI](https://agraphicsguynotes.com/posts/understanding_the_math_behind_restir_di/) 213 | - [Understanding the Basics of ReSTIR DI](https://blog.42yeah.is/featured/rendering/2023/03/11/restir.html) 214 | - [A Gentle Introduction to ReSTIR](https://intro-to-restir.cwyman.org/presentations/2023ReSTIR_Course_Notes.pdf) 215 | - [A Gentler Introduction to ReSTIR](https://interplayoflight.wordpress.com/2023/12/17/a-gentler-introduction-to-restir/) 216 | - [Combining Resampled Importance and Projected Solid Angle Samplings for Many Area Light Rendering](https://ishaanshah.github.io/risltc/) 217 | - [Dynamic diffuse global illumination](https://blog.traverseresearch.nl/dynamic-diffuse-global-illumination-b56dc0525a0a) 218 | - [Understanding The Math Behind ReSTIR GI](https://agraphicsguynotes.com/posts/understanding_the_math_behind_restir_gi/) 219 | 220 | Graphics - Simulation & Animation 221 | - [GPU Based Clay Simulation and Rendering](https://www.youtube.com/watch?v=Xpf7Ua3UqOA) 222 | - [Real-Time Simulation and Rendering of 3D Fluids](https://developer.nvidia.com/gpugems/gpugems3/part-v-physics-simulation/chapter-30-real-time-simulation-and-rendering-3d-fluids) 223 | - [WebGL Fluid Simulation Guide/Example](http://jamie-wong.com/2016/08/05/webgl-fluid-simulation/) 224 | - [SpaceX GPU Simulation](https://www.youtube.com/watch?v=vYA0f6R5KAI) 225 | - [GPU Fluid Simulation](https://benedikt-bitterli.me/gpu-fluid.html) 226 | - [PIC/FLIP Fluid Simulation](http://rlguy.com/gridfluidsim/) 227 | - [Game Developer's Spring-Roll-Call](http://theorangeduck.com/page/spring-roll-call) 228 | - [Simulating worlds on the GPU](https://davidar.io/post/sim-glsl) 229 | - [Cloth Self Collision with Predictive Contacts](https://www.youtube.com/watch?v=XUsD3xrNJH0) 230 | - [Physics Engine Development - Metaprogramming, serialization, IPC, etc.](http://www.gdcvault.com/play/1020065/Physics-for-Game-Programmers-Debugging) 231 | - [Simulating Crowds in Planet Coaster](https://www.gamasutra.com/view/news/288020/Game_Design_Deep_Dive_Creating_believable_crowds_in_Planet_Coaster.php) 232 | - [Continuous Time Simulation](https://www.youtube.com/watch?v=jTzIDmjkLQo) 233 | - [Procedural Animation](http://www.alanzucconi.com/2017/04/17/procedural-animations/) 234 | - [Modeling Erosion](https://www.reddit.com/r/proceduralgeneration/comments/6jwx7h/are_there_any_comprehensive_and_understandable/?st=j6bavgur&sh=27de8683) 235 | - [Questions about L-Systems](https://www.reddit.com/r/proceduralgeneration/comments/6h9t50/questions_about_lsystems/?st=j4pvjvmz&sh=e1a7d31d) 236 | - [Eroding Fractal Terrain with Virtual Raindrops](https://softologyblog.wordpress.com/2016/12/09/eroding-fractal-terrains-with-virtual-raindrops/#comment-1110) 237 | - [Procedural Spider Animation in Araknoids](https://amine.franticsoftware.com/2018/11/25/araknoids-devlog-1-technical-overview/) 238 | - [Papercraft with Blender](https://matiasmorant.wordpress.com/2017/12/23/papercraft-with-blender/) 239 | - [Shaded relief maps in Blender](https://github.com/JoeWDavies/geoblender) 240 | - [Realtime Fluid Simulation: Projection](https://gist.github.com/vassvik/f06a453c18eae03a9ad4dc8cc011d2dc) 241 | - [Fluid Simulation: Reintegration Tracking](https://michaelmoroz.github.io/Reintegration-Tracking/) 242 | - [Real-time rendering of volumetric clouds](https://www.diva-portal.org/smash/get/diva2:1223894/FULLTEXT01.pdf) 243 | - [C++ audio mixing library design](https://lisyarus.github.io/blog/programming/2022/10/15/audio-mixing.html) 244 | - [Ten Minute Physics](https://matthias-research.github.io/pages/tenMinutePhysics/index.html) 245 | - [Making a 2D soft-body physics engine](https://lisyarus.github.io/blog/physics/2023/05/10/soft-body-physics.html) 246 | - [A Practical Walk-on-Boundary Method for Boundary Value Problems](https://rsugimoto.net/WoBforBVPsProject/WoBforBVPs.pdf) 247 | - [Simulating Fluids, Fire, and Smoke in Real-Time](https://andrewkchan.dev/posts/fire.html) 248 | - [Incremental Potential Contact](https://ipc-sim.github.io/) 249 | - [Fix Your Timestep!](https://www.gafferongames.com/post/fix_your_timestep/) 250 | - [Numerical Relativity 101: Simulating spacetime on the GPU](https://20k.github.io/c++/2024/07/31/nr101.html) 251 | - [Physics-Based Simulation Book](https://phys-sim-book.github.io/) 252 | - [Let's talk about Animation Quality](https://theorangeduck.com/page/animation-quality) 253 | - [Simulating water over terrain](https://lisyarus.github.io/blog/posts/simulating-water-over-terrain.html) 254 | - [Finding Paths of Least Action with Gradient Descent](https://greydanus.github.io/2023/03/05/ncf-tutorial/) 255 | 256 | Graphics - Machine Learning 257 | - [Phase-Functioned Neural Networks for Character Control - Demo](https://www.youtube.com/watch?v=Ul0Gilv5wvY) 258 | - [Instant Neural Graphics Primitives with a Multiresolution Hash Encoding](https://nvlabs.github.io/instant-ngp/) 259 | - [Learning for 3D Vision](https://learning3d.github.io/pages/schedule.html) 260 | - [GARF: Gaussian Activated Radiance Fields for High Fidelity Reconstruction and Pose Estimation](https://sfchng.github.io/garf/) 261 | - [Testing GARFs](https://colab.research.google.com/drive/1F1c2ouulmqys-GJBVBHn04I1UVWeexiB?usp=sharing#scrollTo=uVb-l3-6zMgH) 262 | - [AI assisted graphics: Character modeling](https://www.traffickinggame.com/ai-assisted-graphics/) 263 | - [Neural Denoising and Motion](https://www.youtube.com/watch?v=__CZNR0zRN0) 264 | - [Isotropic Neural Cellular Automata](https://google-research.github.io/self-organising-systems/isonca/) 265 | - [Perspectives on Diffusion](https://sander.ai/2023/07/20/perspectives.html) 266 | - [3D Gaussian Splatting for Real-Time Radiance Field Rendering](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/) 267 | - [Making Gaussian Splats smaller](https://aras-p.info/blog/2023/09/13/Making-Gaussian-Splats-smaller/) 268 | - [Iterative 𝛼-(de)Blending: a Minimalist Deterministic Diffusion Model](https://ggx-research.github.io/publication/2023/05/10/publication-iadb.html) 269 | - [XCube: Large-Scale 3D Generative Modeling using Sparse Voxel Hierarchies](https://research.nvidia.com/labs/toronto-ai/xcube/) 270 | - [Equivariant Neural Networks](https://www.youtube.com/watch?v=cKm4Ab4mQiY) 271 | - [Tutorial on Diffusion Models for Imaging and Vision](https://arxiv.org/pdf/2403.18103) 272 | 273 | Graphics - Voxels 274 | - [Voxel-Based Global Illumination](https://wickedengine.net/2017/08/30/voxel-based-global-illumination/) 275 | - [Interactive Indirect Illumination using Voxel Cone Tracing](https://research.nvidia.com/sites/default/files/pubs/2011-09_Interactive-Indirect-Illumination/GIVoxels-pg2011-authors.pdf) 276 | - [Cascaded Voxel Cone Tracing in The Tomorrow Children](https://www.gamasutra.com/view/news/286023/Graphics_Deep_Dive_Cascaded_voxel_cone_tracing_in_The_Tomorrow_Children.php) 277 | - [Implementing Voxel Cone Tracing](http://simonstechblog.blogspot.com/2013/01/implementing-voxel-cone-tracing.html) 278 | - [Voxel Cone Traced Global Illumination](https://leifnode.com/2015/05/voxel-cone-traced-global-illumination/) 279 | - [GigaVoxels](http://maverick.inria.fr/Publications/2011/Cra11/) 280 | - [Real-Time Voxels (blog)](http://realtimevoxels.blogspot.com/) 281 | - [Dual Contouring](https://upvoid.com/devblog/2013/05/terrain-engine-part-1-dual-contouring/) 282 | - [TransVoxel Algorithm](http://transvoxel.org/) 283 | - [TransVoxel Implementation](http://transvoxel.org/Transvoxel.cpp) 284 | - [Terrain Engine: Dual Contouring](https://upvoid.com/devblog/2013/05/terrain-engine-part-1-dual-contouring/) 285 | - [Terrain Engine: Volume Generation & CSG Tree](https://upvoid.com/devblog/2013/07/terrain-engine-part-2-volume-generation-and-the-csg-tree/) 286 | - [Voxel Instancing](http://procworld.blogspot.com/2013/09/voxel-instancing.html) 287 | - [Voxel Dual Contouring](http://procworld.blogspot.com/2010/11/from-voxels-to-polygons.html) 288 | - [How Voxels Became 'The Next Big Thing'](https://medium.com/@EightyLevel/how-voxels-became-the-next-big-thing-4eb9665cd13a) 289 | - [Polygonising a scalar field](http://paulbourke.net/geometry/polygonise/) 290 | - [Voxel Displacement Renderer](https://blog.danielschroeder.me/2024/05/voxel-displacement-modernizing-retro-3d/) 291 | 292 | Graphics - Swedish Cubes 293 | - [Ray-Box Intersection Algorithm for Efficient Dynamic Voxel Rendering](http://www.jcgt.org/published/0007/03/04/paper.pdf) 294 | - [Rendering Huge Amounts of Voxels](http://jojendersie.de/rendering-huge-amounts-of-voxels/) 295 | - [Voxel Quest](http://www.voxelquest.com/news/how-does-it-work) 296 | - [Cave Culling in Minecraft](https://tomcc.github.io/index.html) 297 | - [Meshing in a Minecraft Game](https://0fps.net/2012/06/30/meshing-in-a-minecraft-game/) 298 | - [Meshing in a Minecraft Game Part 2](https://0fps.net/2012/07/07/meshing-minecraft-part-2/) 299 | - [Ambient Occlusion for Minecraft-like Worlds](https://0fps.net/2013/07/03/ambient-occlusion-for-minecraft-like-worlds/) 300 | - [Minecraft Super Duper Graphics Pack](https://www.youtube.com/watch?v=W1WHYJH-JGk&feature=youtu.be) 301 | - [Voxel Editor](https://github.com/guillaumechereau/goxel) 302 | - [MagicVoxel](http://ephtracy.github.io/) 303 | - [MagicaVoxel Shaders](https://github.com/lachlanmcdonald/magicavoxel-shaders) 304 | - [Vertex Positions to Packed Element Arrays](http://blog.blackhc.net/2009/07/from-vertex-positions-to-packed-element-arrays/) 305 | - [Compact Cube Meshes & Unity](https://yave.handmade.network/blogs/p/2629-compact_cube_meshes,_and_compact_cube_meshes_in_unity) 306 | - [VBOs or Geometry Shaders? (Or Instancing?)](https://gamedev.stackexchange.com/questions/17171/for-voxel-rendering-what-is-more-efficient-pre-made-vbo-or-a-geometry-shader) 307 | - [Greedy Voxel Meshing](http://www.gedge.ca/dev/2014/08/17/greedy-voxel-meshing) 308 | - [Backface Culling](https://gist.github.com/mtwilliams/32e3c418ede0113cb64f6a3980ccaa53) 309 | - [LOD for Voxels](https://0fps.net/2018/03/03/a-level-of-detail-method-for-blocky-voxels/) 310 | - [Flood-Fill Voxel Lighting](https://www.seedofandromeda.com/blogs/29-fast-flood-fill-lighting-in-a-blocky-voxel-game-pt-1) 311 | - [Voxel Dynamic Lighting and Shadows](https://blog.roblox.com/2013/02/dynamic-lighting-and-shadows-the-voxel-solution/) 312 | - [Voxel Editor Evolved](https://www.enkisoftware.com/devlogpost-20180206-1-Voxel-Editor-Evolved) 313 | - [Water in DwarfCorp](http://www.dwarfcorp.com/site/2013/06/19/how-water-works-in-dwarfcorp/) 314 | - [Voxel Chunk Frustrum Culling](https://sites.google.com/site/letsmakeavoxelengine/home/frustum-culling) 315 | - [Seed of Andromeda - Region File System](https://www.seedofandromeda.com/blogs/1-creating-a-region-file-system-for-a-voxel-game) 316 | - [A Voxel Renderer for Learning C/C++](https://jacco.ompf2.com/2021/02/01/a-voxel-renderer-for-learning-c-c/) 317 | 318 | Graphics - GPUs 319 | - [RenderDoc Debugger](https://renderdoc.org/) 320 | - [NVIDIA GPU Threading / Inefficient Design](https://twitter.com/rygorous/status/921529471169019904) 321 | - [Where is OpenCL Used?](https://streamcomputing.eu/blog/2013-06-03/the-application-areas-opencl-can-be-used/) 322 | - [Interactive CUDA](https://dragan.rocks/articles/18/Interactive-GPU-Programming-1-Hello-CUDA) 323 | - [Minimal D3D Framework Code](https://gist.github.com/d7samurai/c93e8aac22ef3ec77fea03be0ce86f51) 324 | - [D3D Code Samples](https://github.com/kevinmoran/BeginnerDirect3D11) 325 | - [Setting up D3D11](https://git.handmade.network/snippets/19) 326 | - [D3D12 Programming Guide](https://docs.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-programming-guide) 327 | - [Pixel Art Games and nSight Shader Analysis (HMH)](https://www.youtube.com/watch?v=Yu8k7a1hQuU) 328 | - [Metal starter code](https://github.com/kevinmoran/Handmade-Metal-Programming) 329 | - [GPU Compute Model Terminology Cheat Sheet](https://landonthomas.net/docs/gpu_compute_model_terms_quick_ref.pdf) 330 | - [Gentle Introduction to modern GPU Architecture](https://vksegfault.github.io/posts/gentle-intro-gpu-inner-workings/) 331 | - [GPU Optimization for GameDev list](https://gist.github.com/silvesthu/505cf0cbf284bb4b971f6834b8fec93d) 332 | - [Optimizing Parallel Reduction in CUDA](https://developer.download.nvidia.com/assets/cuda/files/reduction.pdf) 333 | - [Optimizing GPU occupancy and resource usage with large thread groups](https://gpuopen.com/learn/optimizing-gpu-occupancy-resource-usage-large-thread-groups/) 334 | - [Shader Execution Reordering White Paper](https://developer.nvidia.com/sites/default/files/akamai/gameworks/ser-whitepaper.pdf) 335 | - [Cooperative Matrix Multiply](https://www.khronos.org/assets/uploads/developers/presentations/Cooperative_Matrix_May22.pdf) 336 | - [Shader Execution Reordering: Nvidia Tackles Divergence](https://chipsandcheese.com/2023/05/16/shader-execution-reordering-nvidia-tackles-divergence/) 337 | - [Data Parallel Multi-GPU Path Tracing using Ray Queue Cycling](https://www.sci.utah.edu/~wald/Publications/2023/rqs/rqs-preprint.pdf) 338 | - [Implementing a GPU's Programming Model on a CPU](https://litherum.blogspot.com/2023/10/implementing-gpus-programming-model-on.html?m=1) 339 | - [Segmented Sort and Locality Sort](https://moderngpu.github.io/segsort.html) 340 | - [Implementing a GPU-driven debug line renderer](https://www.gijskaerts.com/wordpress/?p=190) 341 | - [How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance](https://siboehm.com/articles/22/CUDA-MMM) 342 | - [GPUs Go Brrr](https://hazyresearch.stanford.edu/blog/2024-05-12-tk) 343 | - [A quick introduction to workgraphs](https://interplayoflight.wordpress.com/2024/06/29/a-quick-introduction-to-workgraphs/) 344 | - [GPU Programming Primitives for Computer Graphics](https://gpu-primitives-course.github.io/) 345 | - [Fixing The GPU](https://docs.google.com/document/u/0/d/1MyvFNjbaJl62v_RJ3oWhGIsUIOY74XYlcqlYHbZQriM/mobilebasic) 346 | 347 | Graphics - OpenGL 348 | - [LearnOpenGL](http://www.learnopengl.com/) 349 | - [Rendering Without Vertex Data](https://www.opengl.org/discussion_boards/showthread.php/168316-Rendering-without-vertex-data-%28gl_VertexID-only%29) 350 | - [Basic Shader Examples](http://www.lighthouse3d.com/tutorials/glsl-12-tutorial/shader-examples/) 351 | - [What State is Stored in a VAO?](http://gamedev.stackexchange.com/questions/99236/what-state-is-stored-in-an-opengl-vertex-array-object-vao-and-how-do-i-use-the) 352 | - [Modern OpenGL Text Rendering](https://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_Text_Rendering_02) 353 | - [Using OpenGL Like Vulkan](https://developer.nvidia.com/opengl-vulkan) 354 | - [OpenGL Array Textures](https://www.khronos.org/opengl/wiki/Array_Texture) 355 | - [OpenGL Instancing](http://www.informit.com/articles/article.aspx?p=2033340&seqNum=5) 356 | - [OpenGL Lighting and More](https://www.tomdalling.com/blog/modern-opengl/08-even-more-lighting-directional-lights-spotlights-multiple-lights/) 357 | - [Check if an Object is Outside the Clipping Volume](https://stackoverflow.com/questions/6301085/how-to-check-if-an-object-lies-outside-the-clipping-volume-in-opengl) 358 | - [OpenGL Constants List](https://github.com/odin-lang/Odin/blob/master/core/opengl_constants.odin) 359 | - [Multisampling](https://www.khronos.org/opengl/wiki/Multisampling) 360 | - [Shadow Mapping](http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/) 361 | - [WebGL PBR Example](https://github.com/KhronosGroup/glTF-WebGL-PBR/blob/master/mesh.js) 362 | - [Bindless rendering setup](https://blog.traverseresearch.nl/bindless-rendering-setup-afeb678d77fc) 363 | - [Introduction to Compute Shaders](http://antongerdelan.net/opengl/compute.html) 364 | - [OpenGL 3.1 on Asahi Linux](https://asahilinux.org/2023/06/opengl-3-1-on-asahi-linux/) 365 | 366 | Graphics - Vulkan/D3D12/WebGPU 367 | - [Vulkan Swapchains & presentation](https://www.intel.com/content/www/us/en/developer/articles/training/api-without-secrets-introduction-to-vulkan-part-2.html) 368 | - [GPU Memory Pools in D3D12](https://therealmjp.github.io/posts/gpu-memory-pool/#what-about-directstorage) 369 | - [Descriptors are Hard](https://www.jlekstrand.net/jason/blog/2022/08/descriptors-are-hard/) 370 | - [Optimising A AAA Vulkan Title on Desktop](https://gpuopen.com/presentations/2019/Vulkanised2019_06_optimising_aaa_vulkan_title_on_desktop.pdf) 371 | - [Vulkan in 30 Minutes](https://renderdoc.org/vulkan-in-30-minutes.html) 372 | - [Vulkan Tutorial](https://vulkan-tutorial.com/) 373 | - [Vulkan Examples and Demos](https://github.com/SaschaWillems/Vulkan) 374 | - [Vulkan 101](http://jhenriques.net/development.html) 375 | - [VkMark](https://github.com/vkmark/vkmark) 376 | - [A Guide to Vulkan Layers](https://renderdoc.org/vulkan-layer-guide.html) 377 | - [Writing an efficient Vulkan renderer](https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/) 378 | - [Vulkan Multithreading Overview](https://vkguide.dev/docs/extra-chapter/multithreading/) 379 | - [The GPU Banana Stand (Use.GPU)](https://acko.net/blog/the-gpu-banana-stand/) 380 | - [Vulkan Memory Types on PC and How to Use Them](https://asawicki.info/news_1740_vulkan_memory_types_on_pc_and_how_to_use_them) 381 | - [Yet another blog explaining Vulkan synchronization](https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/) 382 | - [Debugging VK_ERROR_DEVICE_LOST with Nvidia Device Diagnostics](https://feresignum.com/debugging-vk_error_device_lost-with-nvidia-device-diagnostics/) 383 | - [D3D12 Work Graphs Preview](https://devblogs.microsoft.com/directx/d3d12-work-graphs-preview/) 384 | - [Render graphs and Vulkan — a deep dive](https://themaister.net/blog/2017/08/15/render-graphs-and-vulkan-a-deep-dive/) 385 | - [Workarounds for issues with mesh shaders + Vulkan + HLSL](https://anki3d.org/workarounds-for-issues-with-mesh-shaders-vulkan-hlsl/) 386 | - [Writing to Compressed Textures](https://gist.github.com/castano/6e517fde7ff8cf2652758ff55bf260cd#writing-to-compressed-textures) 387 | - [GPU Texture Compression Everywhere](https://www.ludicon.com/castano/blog/2025/02/gpu-texture-compression-everywhere/) 388 | 389 | Graphics - Shaders 390 | - [Single-Pass Wireframe Rendering](http://strattonbrazil.blogspot.com/2011/09/single-pass-wireframe-rendering_10.html) 391 | - [RayLib Shaders](https://github.com/raysan5/raylib/tree/master/examples/shaders/resources/shaders/glsl330) 392 | - [Validator](http://www.geeks3d.com/20140116/glsllangvalidator-opengl-opengl-es-reference-compiler/) 393 | - [Noise](https://stackoverflow.com/questions/4200224/random-noise-functions-for-glsl) 394 | - [Making a Rain on a Windshield Shader](https://news.ycombinator.com/item?id=16036232) 395 | - [Making The Drive Home shader](https://www.youtube.com/watch?v=eKtsY7hYTPg) 396 | - [Shader_Minifier](https://github.com/laurentlb/Shader_Minifier) 397 | - [Stupid OpenGL Shader Tricks](http://www.nvidia.com/docs/io/8230/gdc2003_openglshadertricks.pdf) 398 | - [Mist Shadertoy](https://www.shadertoy.com/view/wdBGWD) 399 | - [LearnOpenGL - Advanced GLSL](https://learnopengl.com/Advanced-OpenGL/Advanced-GLSL) 400 | - [3D Game Shaders for Beginners](https://github.com/lettier/3d-game-shaders-for-beginners/blob/master/README.md#normal-mapping) 401 | - [Avoiding Shader Conditionals](http://theorangeduck.com/page/avoiding-shader-conditionals) 402 | - [Protean Clouds (Shadertoy)](https://www.shadertoy.com/view/3l23Rh) 403 | - [Voronoi Noise (Shadertoy)](https://www.shadertoy.com/view/lsjGWD) 404 | - [A Scalable and Production Ready Sky and Atmosphere Rendering Technique](https://sebh.github.io/publications/egsr2020.pdf) | [(Shadertoy)](https://www.shadertoy.com/view/slSXRW) 405 | - [Procedural Sky (OpenGL)](https://github.com/shff/opengl_sky) 406 | - [WebGL Noise](https://github.com/ashima/webgl-noise/blob/master/src/noise3D.glsl) 407 | - [Time wrap in shaders](http://the-witness.net/news/2022/02/a-shader-trick/) 408 | - [Quake 2 RTX Checkerboard interleave](https://github.com/NVIDIA/Q2RTX/blob/master/src/refresh/vkpt/shader/checkerboard_interleave.comp) 409 | - [memory locality optimization in the Claybook GPU particle simulator](https://twitter.com/SebAaltonen/status/1580486755358502912) 410 | - [Tangent Spaces and Diamond Encoding](https://www.jeremyong.com/graphics/2023/01/09/tangent-spaces-and-diamond-encoding/) 411 | - [Winding Numbers](https://www.shadertoy.com/view/Nt2yzd) 412 | - [Death To Shading Languages](https://xol.io/blah/death-to-shading-languages/) 413 | 414 | Math - Geometry 415 | - [Math for Game Developers](https://www.youtube.com/playlist?list=PLW3Zl3wyJwWOpdhYedlD-yCB7WQoHf-My) 416 | - [Intro to Quaternions](https://www.youtube.com/watch?v=fKIss4EV6ME) 417 | - [Visualizing Quaternions](https://news.ycombinator.com/item?id=18310788) 418 | - [Let's Remove Quaternions - Geometric Algebra](http://marctenbosch.com/quaternions/) 419 | - [Hacking Quaternions - nlerp + spline](http://number-none.com/product/Hacking%20Quaternions/) 420 | - [Signed Distance Functions](https://en.wikipedia.org/wiki/Signed_distance_function) 421 | - [Implementing Inverse Kinematics](http://gamasutra.com/blogs/LuisBermudez/20170804/303066/3_Simple_Steps_to_Implement_Inverse_Kinematics.php) 422 | - [Making Splines Useful](https://seabird.handmade.network/blogs/p/2594-making_splines_useful:_introduction#13049) 423 | - [Programmer's Guide to Polynomials and Splines](http://wordsandbuttons.online/programmers_guide_to_polynomials_and_splines.html) 424 | - [Counterintuitive Properties of High Dimensional Space](https://marckhoury.github.io/counterintuitive-properties-of-high-dimensional-space/) 425 | - [Fundamentals of Grassmann Algebra](https://www.gdcvault.com/play/1015322/Fundamentals-of-Grassmann) 426 | - [A Faster Quaternion-Vector Multiply](https://blog.molecular-matters.com/2013/05/24/a-faster-quaternion-vector-multiplication/) 427 | - [The Separating Axis Theorem](http://www.metanetsoftware.com/technique/tutorialA.html) 428 | - [Discrete Differential Geometry](http://brickisland.net/DDGSpring2020/) 429 | - [Groups and Group Convolutions](https://colah.github.io/posts/2014-12-Groups-Convolution/) 430 | - [Compressing 3D Unit Vectors](https://gamedevnotesblog.wordpress.com/2019/12/26/compression-of-3d-unit-vectors/) 431 | - [Conformal Geometry Processing](https://www.youtube.com/watch?v=g0nY5VM1PSU) 432 | - [Inside Curved Spaces](https://www.youtube.com/watch?v=s_PNYf4qVKc) 433 | - [Monte Carlo Geometry Processing](http://www.cs.cmu.edu/~kmcrane/Projects/MonteCarloGeometryProcessing/paper.pdf) 434 | - [Fast Voronoi Diagrams and Distance Fields with Jump Flooding](https://blog.demofox.org/2016/02/29/fast-voronoi-diagrams-and-distance-dield-textures-on-the-gpu-with-the-jump-flooding-algorithm/) 435 | - [Polyhedra Viewer](https://polyhedra.tessera.li/) 436 | - [Dirac's belt trick, Topology, and Spin 1/2 particles](https://www.youtube.com/watch?v=ACZC_XEyg9U) 437 | - [Sphere Eversion](https://rreusser.github.io/explorations/sphere-eversion/) 438 | - [A Robust Method to Extract the Rotational Part of Deformations](https://matthias-research.github.io/pages/publications/stablePolarDecomp.pdf) 439 | - [Course Notes: Geometric Algebra for Computer Graphics](https://arxiv.org/pdf/2002.04509.pdf) 440 | - [Klein (an implementation of 3D Projective Geometric Algebra)](https://www.jeremyong.com/klein/) 441 | - [DMesh3: A Dynamic Indexed Triangle Mesh](http://www.gradientspace.com/tutorials/dmesh3) 442 | - [Manifolds: A Gentle Introduction](https://bjlkeng.github.io/posts/manifolds/) 443 | - [Why is a Gaussian distribution on high dimensional space like a soap bubble?](https://stats.stackexchange.com/questions/419412/why-is-gaussian-distribution-on-high-dimensional-space-like-a-soap-bubble) 444 | - [Penrose tiling rewrite rule](https://twitter.com/gabrielpeyre/status/1657611701112430593) 445 | - [An algorithm for irregular rectangles that map 1:1 with a square grid](https://gitlab.com/chriscox/offgrid) 446 | - [Spectre aperiodic monotile](https://www.desmos.com/calculator/vh3z0qhlrq) 447 | - [Boundary Value Caching for Walk on Spheres [SIGGRAPH 2023]](https://www.youtube.com/watch?v=gTYvZJiqvmY) 448 | - [Reach For the Spheres: Tangency-Aware Surface Reconstruction of SDFs](https://odedstein.com/projects/reach-for-the-spheres/) 449 | - [Finding Real Polynomial Roots on GPUs](https://momentsingraphics.de/GPUPolynomialRoots.html) 450 | - [Faster quaternion product rotations](https://www.johndcook.com/blog/2021/06/16/faster-quaternion-rotations/) 451 | - [Projective Geometric Algebra](https://projectivegeometricalgebra.org/) 452 | - [The Triangle is Dead, Long Live the Triangle!](https://www.youtube.com/watch?v=wO2EfNIgBBY) 453 | - [Winding numbers: a topological tool for geometry processing](https://www.cs.cmu.edu/~csd-phd-blog/2025/winding-numbers/) 454 | - [Gradients are the new intervals](https://www.mattkeeter.com/blog/2025-05-14-gradients/) 455 | 456 | Math - Cryptography 457 | - [Elliptic Curve Cryptography](http://blog.wesleyac.com/posts/elliptic-curves) 458 | - [Cryptanalysis of Meow Hash](https://peter.website/meow-hash-cryptanalysis) 459 | - [Implementing My Own Crypto](http://loup-vaillant.fr/articles/implemented-my-own-crypto) 460 | - [NaCl Crypto](https://nacl.cr.yp.to/) 461 | - [A from-scratch tour of Bitcoin in Python](https://karpathy.github.io/2021/06/21/blockchain/) 462 | 463 | Math - RNG / Procedural Generation 464 | - [Maze Generation](http://www.astrolog.org/labyrnth/algrithm.htm) 465 | - [Maze + Room Generation](http://journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes/) 466 | - [Terrain Generation from Noise](http://www.redblobgames.com/maps/terrain-from-noise/) 467 | - [Polygonal Terrain Generation](http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/) 468 | - [What Does Randomness Look Like?](http://www.empiricalzeal.com/2012/12/21/what-does-randomness-look-like/) 469 | - [Generating Islands](https://plaxdev.wordpress.com/2017/05/04/procedurally-generating-islands) 470 | - [3D Cave Generation](https://www.reddit.com/r/proceduralgeneration/comments/6eo95o/3d_cave_generation_using_a_single_coherent_noise/) 471 | - [Generating Trees in Blender](https://github.com/friggog/tree-gen) 472 | - [Combining Noise Functions](https://m.imgur.com/gallery/zVu1b) 473 | - [ProcGen Resources List](https://www.firespark.de/?id=article&article=ProceduralGenerationResources) 474 | - [Generating City Road Maps](https://www.reddit.com/r/proceduralgeneration/comments/6kgs8k/procedural_generation_of_city_road_maps/) 475 | - [Procedural Structures in Tilemaps](https://www.reddit.com/r/proceduralgeneration/comments/6l3t1s/procedural_structures_in_a_tilemap/?st=j4q3zl6b&sh=2d5e97a4) 476 | - [SIMD FastNoise](https://github.com/Auburn/FastNoise2) 477 | - [Top-Down Cave Gen](http://noelberry.ca/#thecaves) 478 | - [RoboHash](https://robohash.org/) 479 | - [PCG Family of pseudo-random generators](https://www.youtube.com/watch?v=45Oet5qjlms) 480 | - [Right-Triangulated Irregular Networks](https://github.com/mapbox/martini) 481 | - [Fractal Brownian Motion](http://iquilezles.org/www/articles/fbm/fbm.htm) 482 | - [Spaceship Generator](https://github.com/a1studmuffin/SpaceshipGenerator) 483 | - [3D Cellular Automata](https://www.youtube.com/watch?v=dQJ5aEsP6Fs) 484 | - [Primer on Repeatable Random Numbers](https://blogs.unity3d.com/2015/01/07/a-primer-on-repeatable-random-numbers/) 485 | - [Noise-Based RNG](https://www.youtube.com/watch?v=LWFzPP8ZbdU) 486 | - [Three Ways of Generating Terrain with Erosion Features](https://github.com/dandrino/terrain-erosion-3-ways) 487 | - [Procedural Worlds from Simple Tiles](https://ijdykeman.github.io/ml/2017/10/12/wang-tile-procedural-generation.html) 488 | - [The Perlin Problem: Moving Past Square Noise](https://noiseposti.ng/posts/2022-01-16-The-Perlin-Problem-Moving-Past-Square-Noise.html) 489 | - [Fibonacci Fun](https://www.reddit.com/r/proceduralgeneration/comments/s5lrn2/fibonacci_fun/) 490 | - [MarkovJunior](https://github.com/mxgmn/MarkovJunior) 491 | - [ProcGen Resources](https://procgen.space/resources) 492 | - [How Pitfall Builds its World (Linear Feedback Shift Registers)](https://evoniuk.github.io/posts/pitfall.html) 493 | - [bleuje : Animations](https://bleuje.com/animationsite/2022_1/) 494 | - [Procedurally generated bitmap art](https://gitlab.com/suetanvil/bitart) 495 | - [SquirrelNoise5](http://eiserloh.net/noise/SquirrelNoise5.hpp) 496 | - [Infinite Photorealistic Worlds using Procedural Generation](https://arxiv.org/abs/2306.09310) 497 | - [Modeling & Graph Grammars](https://paulmerrell.org/grammar/) 498 | - [Using a RNN for 2D Tile Map Synthesis](https://voxely.net/blog/using-a-rnn-for-2d-tile-map-synthesis/) 499 | - [An RNG that runs in your brain](https://www.hillelwayne.com/post/randomness/) 500 | - [Better Mountain Generators That Aren't Perlin Noise or Erosion](https://www.youtube.com/watch?v=gsJHzBTPG0Y) 501 | - [One Noise to Rule Them All](https://armanmaesumi.github.io/onenoise/) 502 | - [Procedural generation with workgraphs](https://gpuopen.com/learn/work_graphs_mesh_nodes/work_graphs_mesh_nodes-procedural_generation/) 503 | - [My Favorite Tools + Techniques for Procedural Gamedev](https://cprimozic.net/blog/tools-and-techniques-for-procedural-gamedev/) 504 | - [Watabou's Procgen Arcana](https://watabou.github.io/) 505 | - [Summing Blue Noise Octaves Like Perlin Noise](https://blog.demofox.org/2024/09/02/summing-blue-noise-octaves-like-perlin-noise/) 506 | - [Probability-Generating Functions](https://entropicthoughts.com/probability-generating-functions) 507 | 508 | Math - Monte Carlo 509 | - [Markov Chain Monte Carlo Without all the Bullshit](https://jeremykun.com/2015/04/06/markov-chain-monte-carlo-without-all-the-bullshit/) 510 | - [An Introduction to Stochastic Calculus](https://bjlkeng.github.io/posts/an-introduction-to-stochastic-calculus/) 511 | - [Markov Chain Monte Carlo Methods, Rejection Sampling and the Metropolis-Hastings Algorithm](https://bjlkeng.github.io/posts/markov-chain-monte-carlo-mcmc-and-the-metropolis-hastings-algorithm/) 512 | - [Hamiltonian Monte Carlo](https://bjlkeng.github.io/posts/hamiltonian-monte-carlo/) 513 | - [Monte-Carlo Graph Search from First Principles](https://github.com/lightvector/KataGo/blob/master/docs/GraphSearch.md) 514 | - [On the Convergence of the Unadjusted Langevin Algorithm](https://fa.bianp.net/blog/2023/ulaq/) 515 | - [Introduction to Stochastic Calculus](https://jiha-kim.github.io/posts/introduction-to-stochastic-calculus/) 516 | 517 | Math - Misc. 518 | - [For Mathematicians, = Does not mean Equality](https://jeremykun.com/2018/04/13/for-mathematicians-does-not-mean-equality/) 519 | - [Discrete Math Overview/Recommendations](https://handmade.network/blogs/p/3118-discrete_mathematics_for_software_engineers#15131) 520 | - [Deriving the Boltzmann Distribution via Atmospheric Density](https://gravityandlevity.wordpress.com/) 521 | - [How to Read Math](http://www.people.vcu.edu/~dcranston/490/handouts/math-read.html) 522 | - [Eigenvalues and Vectors](http://setosa.io/ev/eigenvectors-and-eigenvalues/) 523 | - [Using Modern SAT Solvers](https://codingnest.com/modern-sat-solvers-fast-neat-underused-part-1-of-n/) 524 | - [Polynomial Approximating Sin/Cos](https://web.archive.org/web/20080228213915/http://www.devmaster.net/forums/showthread.php?t=5784) 525 | - [Efficiently Computing Fibonacci](http://raganwald.com/2015/12/20/an-es6-program-to-compute-fibonacci.html) 526 | - [Classic Math Books](https://medium.com/however-mathematics/13-classic-mathematics-books-for-lifelong-learners-7ec2759142da) 527 | - [Group Theory and the Rubik's Cube](http://www.math.harvard.edu/~jjchen/docs/Group%20Theory%20and%20the%20Rubik's%20Cube.pdf) 528 | - [Visual Information Theory](https://colah.github.io/posts/2015-09-Visual-Information/) 529 | - [Information Theory for Intelligent People](http://tuvalu.santafe.edu/~simon/it.pdf) 530 | - [Going Critical](https://www.meltingasphalt.com/interactive/going-critical/) 531 | - [Tetris is NP-Complete](https://arxiv.org/pdf/cs/0210020.pdf) 532 | - [What is the Poisson Distribution?](https://towardsdatascience.com/poisson-distribution-intuition-and-derivation-1059aeab90d) 533 | - [A Mathematician's Lament](https://www.maa.org/external_archive/devlin/LockhartsLament.pdf) 534 | - [Poisson's Equation](https://mattferraro.dev/posts/poissons-equation) 535 | - [The Moessner Miracle](https://www.youtube.com/watch?v=rGlpyFHfMgI) 536 | - [Improving the fast inverse square root](http://rrrola.wz.cz/inv_sqrt.html) 537 | - [Natural Number Game (lean)](https://www.ma.imperial.ac.uk/~buzzard/xena/natural_number_game/) 538 | - [The Insolubility of the Quintic without Galois Theory](https://www.youtube.com/watch?v=BSHv9Elk1MU&t=1675s) 539 | - [Real analysis problem solving strategies](https://terrytao.wordpress.com/2010/10/21/245a-problem-solving-strategies/) 540 | - [A maximally-dense encoding for n-choose-k](https://www.farside.org.uk/201311/encoding_n_choose_k) 541 | - [A Short Introduction to Optimal Transport and Wasserstein Distance](https://alexhwilliams.info/itsneuronalblog/2020/10/09/optimal-transport/) 542 | - [Seven Sins of Numerical Linear Algebra](https://nhigham.com/2022/10/11/seven-sins-of-numerical-linear-algebra/) 543 | - [Special relativity and Middle-Earth](https://terrytao.wordpress.com/2022/12/18/special-relativity-and-middle-earth/) 544 | - [Incremental Least Squares Curve Fitting](https://blog.demofox.org/2016/12/22/incremental-least-squares-curve-fitting/) 545 | - [SymPy makes math fun again](https://wordsandbuttons.online/sympy_makes_math_fun_again.html) 546 | - [The Calculus of Variations](https://bjlkeng.github.io/posts/the-calculus-of-variations/) 547 | - [What Is the Complex Step Approximation?](https://nhigham.com/2020/10/06/what-is-the-complex-step-approximation/) 548 | - [Closed-Form 3x3 Matrix Decompositions](https://theorangeduck.com/page/closed-form-matrix-decompositions) 549 | - [Derivative AT a Discontinuity](https://alok.github.io/2024/09/28/discontinuous-derivative/) 550 | - [Learning Solver Design: Automating Factorio Balancers](https://gianlucaventurini.com/posts/2024/factorio-sat) 551 | 552 | Math - Summer of Math Exposition 553 | - [What Lies Between a Function and Its Derivative?](https://www.youtube.com/watch?v=2dwQUUDt5Is) 554 | - [The Shadowy World of Umbral Calculus](https://www.youtube.com/watch?v=D0EUFP7-P1M) 555 | - [Transfer Functions - Of Sound Mind](https://www.youtube.com/watch?v=GLKAcetlHNM) 556 | - [**Why There's 'No' Quintic Formula (proof without Galois theory)**](https://www.youtube.com/watch?v=BSHv9Elk1MU) 557 | - [**Dirac's belt trick, Topology, and Spin ½ particles**](https://www.youtube.com/watch?v=ACZC_XEyg9U) 558 | - [1 Billion is Tiny in an Alternate Universe: Introduction to p-adic Numbers](https://www.youtube.com/watch?v=3gyHKCDq1YA) 559 | - [Percolation: a Mathematical Phase Transition](https://www.youtube.com/watch?v=a-767WnbaCQ) 560 | - [If it probably exists, then it does](https://www.youtube.com/watch?v=UJp4q2D2Nh0) 561 | - [What is the graph of x^a when a is not an integer? An unusual look at familiar functions](https://www.youtube.com/watch?v=_lb1AxwXLaM) 562 | - [Why you can't solve quintic equations (Galois theory approach)](https://www.youtube.com/watch?v=zCU9tZ2VkWc) 563 | - [Seven Dimensions](https://www.youtube.com/watch?v=bI-FS7aZJpY) 564 | - [Wavelets: a mathematical microscope](https://www.youtube.com/watch?v=jnxqHcObNK4) 565 | 566 | CS - Algorithms 567 | - [A*](http://theory.stanford.edu/~amitp/GameProgramming/) 568 | - [Papers I have Loved (Casey Muratori)](https://www.youtube.com/watch?v=SDS5gLSiLg0) [marching cubes, quaternions, GJK collision algorithm] 569 | - [Binary Space Partitioning](https://en.wikipedia.org/wiki/Binary_space_partitioning) 570 | - [The Competitive Programmer's Handbook](https://cses.fi/book.html) 571 | - [Spacial Search Algorithms](https://medium.com/@agafonkin/a-dive-into-spatial-search-algorithms-ebd0c5e39d2a) 572 | - [Fantastic Algorithms and Where to Find Them](https://www.youtube.com/watch?v=YA-nB2wjVcI) 573 | - [Time, Clocks, and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/Time-Clocks-and-the-Ordering-of-Events-in-a-Distributed-System.pdf) 574 | - [Solving Every Sudoku Puzzle](http://norvig.com/sudoku.html) 575 | - [Generating Quotes with Markov Chains](http://www.ramtin.xyz/post/4) 576 | - [PageRank](https://en.wikipedia.org/wiki/PageRank) 577 | - [GJK and Expanding Polytope Explanation](https://www.youtube.com/watch?v=6rgiPrzqt9w&t=24m50s) 578 | - [FSM Designer](http://madebyevan.com/fsm/) 579 | - [Generative Algorithms](https://inconvergent.net/generative/) 580 | - [What's your favorite algorithm? Ask HN](https://news.ycombinator.com/item?id=18236396) 581 | - [Wavefunction Collapse](https://github.com/mxgmn/WaveFunctionCollapse) 582 | - [The Right Answer to Collaborative Editing](https://github.com/xi-editor/xi-editor/issues/1187#issuecomment-491473599) 583 | - [Solving DP Problems](http://blog.refdash.com/dynamic-programming-tutorial-example/) 584 | - [Dynamic Programming: Seam Carving](https://avikdas.com/2019/05/14/real-world-dynamic-programming-seam-carving.html) [Improved](https://avikdas.com/2019/07/29/improved-seam-carving-with-forward-energy.html) 585 | - [Diffing Algorithms in Git](https://fabiensanglard.net/git_code_review/diff.php) 586 | - [Rectangle Packing](https://eatplayhate.me/2013/09/17/adventures-in-engine-construction-rectangle-packing/) 587 | - [Markov Chains for Procedural Buildings](https://weigert.vsos.ethz.ch/2019/10/30/markov-chains-for-procedural-buildings/) 588 | - [Cache-Oblivious Algorithms](https://jiahai-feng.github.io/posts/cache-oblivious-algorithms/) 589 | - [The Xi text engine CRDT](https://github.com/xi-editor/xi-editor/blob/e8065a3993b80af0aadbca0e50602125d60e4e38/doc/crdt-details.md) 590 | - [CRDTs: The Hard Parts](https://www.youtube.com/watch?v=x7drE24geUw) 591 | - [5000x faster CRDTs](https://josephg.com/blog/crdts-go-brrr/) 592 | - [Xi Algorithms/Rope](https://github.com/google/xi-editor/blob/master/doc/rope_science/intro.md) 593 | - [Intelligent brute forcing](https://davidkoloski.me/blog/intelligent-brute-forcing/) 594 | - [Rapidly Solving Sudoku, N-Queens, Pentomino Placement, and More, With Knuth’s Algorithm X and Dancing Links.](https://blog.demofox.org/2022/10/30/rapidly-solving-sudoku-n-queens-pentomino-placement-and-more-with-knuths-algorithm-x-and-dancing-links/) 595 | - [The story behind the Packing Chromatic paper](https://bsubercaseaux.github.io/blog/2023/packingchromatic/) 596 | - [Possibly all the ways to get loop-finding in graphs wrong](https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/findloop/) 597 | - [The Busy Beaver Frontier](https://www.scottaaronson.com/papers/bb.pdf) 598 | 599 | CS - Data Structures 600 | - [Masstree: Cache-Friendly trie/b-tree](https://www.the-paper-trail.org/post/masstree-paper-notes/) 601 | - [Hash-Array-Mapped Trie](https://www.youtube.com/watch?v=WT9kmIE3Uis) 602 | - [Bloom Filter](https://en.wikipedia.org/wiki/Bloom_filter) 603 | - [Skip List](https://en.wikipedia.org/wiki/Skip_list) 604 | - [Rope](https://en.m.wikipedia.org/wiki/Rope_(data_structure)) 605 | - [Esoteric Data Structures and Where to Find Them](https://www.youtube.com/watch?v=-8UZhDjgeZU) 606 | - [Designing a Fast Hash Table](http://www.idryman.org/blog/2017/05/03/writing-a-damn-fast-hash-table-with-tiny-memory-footprints/) 607 | - [Blender Mesh Structure](https://wiki.blender.org/wiki/Source/Modeling/BMesh/Design) 608 | - [Hash Array Mapped Trie Implementation](https://github.com/mkirchner/hamt) 609 | - [The Only Undoable CRDTs are Counters](https://arxiv.org/pdf/2006.10494) 610 | - [What is a succinct rank data structure? How does it work?](https://stackoverflow.com/questions/72580828/what-is-a-succinct-rank-data-structure-how-does-it-work) 611 | 612 | CS - Concurrency 613 | - [Lock-Free Work Stealing](https://blog.molecular-matters.com/2015/08/24/job-system-2-0-lock-free-work-stealing-part-1-basics/) 614 | - [Multithreaded Game Engine Design](https://blog.molecular-matters.com/tag/game-engine/page/2/) 615 | - [Designing a Parallel Game Engine](https://software.intel.com/sites/default/files/m/d/4/1/d/8/Designing_a_Parallel_Game_Engine.pdf) 616 | - [Lock-free Dequeue in C++](http://msinilo.pl/download/LockFreeDEQueue.h) 617 | - [Game Async API & Virtual Memory Design](https://www.youtube.com/watch?v=gFFqYLgPOWI) 618 | - [Designing a Lock-Free, Wait-Free Hash Map](https://shlomisteinberg.com/2015/09/28/designing-a-lock-free-wait-free-hash-map/) 619 | - [Concurrency is not Parallelism](https://www.youtube.com/watch?time_continue=1495&v=cN_DpYBzKso) 620 | - [Structured Concurrency: Go statement considered harmful](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/) 621 | - [Structured Concurrency in High-level Languages](http://250bpm.com/blog:124) 622 | - [Concurrency - Why is Memory Reclamation so Important?](https://concurrencyfreaks.blogspot.com/2017/08/why-is-memory-reclamation-so-important.html) 623 | - [Making the Tokio Scheduler 10x Faster (Work-Stealing)](https://tokio.rs/blog/2019-10-scheduler/) 624 | - [An Interesting Lock-Free Queue](https://www.youtube.com/watch?v=HP2InVqgBFM) 625 | - [Resource efficient thread pools in Zig](https://zig.news/kprotty/resource-efficient-thread-pools-with-zig-3291) 626 | - [Parallelizing the Naughty Dog engine using fibers](https://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine) 627 | - [2PLSF: Two-Phase Locking with Starvation-Freedom](https://zenodo.org/records/7886718) 628 | - [Designing A Fast Concurrent Hash Table](https://ibraheem.ca/posts/designing-papaya/) 629 | - [What every systems programmer should know about concurrency](https://assets.bitbashing.io/papers/concurrency-primer.pdf) 630 | 631 | Machine Learning 632 | - [Visualizing MNIST](http://colah.github.io/posts/2014-10-Visualizing-MNIST/) 633 | - [Is AI Riding a One-Trick Pony? (Backprop)](https://www.technologyreview.com/s/608911/is-ai-riding-a-one-trick-pony/) 634 | - [Machine Learning - Spotify Discover Weekly](https://hackernoon.com/spotifys-discover-weekly-how-machine-learning-finds-your-new-music-19a41ab76efe) 635 | - [3Blue1Brown Deep Learning Playlist](https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi) 636 | - [A Visual Guide to Evolution Strategies](http://blog.otoro.net/2017/10/29/visual-evolution-strategies/) 637 | - [Build a Neural Network](https://enlight.nyc/neural-network) 638 | - [Neural Algorithm of Artistic Style](https://arxiv.org/pdf/1508.06576.pdf) 639 | - [Unsupervised Image-to-Image Translation Networks](https://papers.nips.cc/paper/6672-unsupervised-image-to-image-translation-networks.pdf) 640 | - [A Neural Network in 10 Lines of C++](https://cognitivedemons.wordpress.com/2017/07/06/a-neural-network-in-10-lines-of-c-code/) 641 | - [Learning to write programs that generate images](https://deepmind.com/blog/learning-to-generate-images/) 642 | - [Code Generation and Semantic Parsing - Hearthstone Cards](http://nlp.cs.berkeley.edu/pubs/Rabinovich-Stern-Klein_2017_AbstractSyntaxNetworks_paper.pdf) 643 | - [Empiricism and the Limits of Gradient Descent](http://togelius.blogspot.com/2018/05/empiricism-and-limits-of-gradient.html?m=1) 644 | - [AlphaStar - Mastering Starcraft II](https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/) 645 | - [Understanding Convolutions](https://colah.github.io/posts/2014-07-Understanding-Convolutions/) 646 | - [Visualizing Representations](https://colah.github.io/posts/2015-01-Visualizing-Representations/) 647 | - [Convolutional Nets: A Modular Perspective](https://colah.github.io/posts/2014-07-Conv-Nets-Modular/) 648 | - [3D Style Transfer for Video](https://www.youtube.com/watch?v=fcnjHmBcLNQ&feature=youtu.be) 649 | - [Lessons learned building an ML trading system](https://www.tradientblog.com/2019/11/lessons-learned-building-an-ml-trading-system-that-turned-5k-into-200k/) 650 | - [Alien Dreams: An Emerging Art Scene](https://ml.berkeley.edu/blog/posts/clip-art/) 651 | - [The Bitter Lesson](http://www.incompleteideas.net/IncIdeas/BitterLesson.html) 652 | - [Transformers from Scratch](https://e2eml.school/transformers.html) 653 | - [World Building With GPT](https://ianbicking.org/blog/2023/02/world-building-with-gpt.html) 654 | - [Toy Models of Superposition](https://transformer-circuits.pub/2022/toy_model/index.html) 655 | - [Will scaling work?](https://www.dwarkeshpatel.com/p/will-scaling-work) 656 | - [Analyzing and Improving the Training Dynamics of Diffusion Models](https://huggingface.co/papers/2312.02696) 657 | - [Trilinear Point Splatting for Real-Time Radiance Field Rendering](https://lfranke.github.io/trips/) 658 | - [The Next Great Scientific Theory is Hiding Inside a Neural Network](https://www.youtube.com/watch?v=fk2r8y5TfNY) 659 | - [A Visual Dive into Conditional Flow Matching](https://dl.heeere.com/conditional-flow-matching/blog/conditional-flow-matching/) 660 | - [Muon: An optimizer for hidden layers in neural networks](https://kellerjordan.github.io/posts/muon/) 661 | - [The Bitter Lesson is coming for Tokenization](https://lucalp.dev/bitter-lesson-tokenization-and-blt/) 662 | 663 | Games - Design 664 | - [Pacing Puzzle Games](https://taiji-game.com/2017/07/12/31-how-do-we-pace-puzzle-games/amp/) 665 | - [How to Design Deep Games - Jon Blow](https://www.youtube.com/watch?v=d0m0jIzJfiQ) 666 | - [Inspire Interview: Jon Blow](https://www.youtube.com/watch?v=5YnTSrIFUxg) 667 | - [The Medium is the Message - Jon Blow](https://www.youtube.com/watch?v=AxFzf6yIfcc&feature=youtu.be&t=36) 668 | - [The Art of The Witness](https://www.youtube.com/watch?v=A_Gni_2ecd4) 669 | - [Truth in Game Design](https://www.youtube.com/watch?v=C5FUtrmO7gI) 670 | - [Advice on Designing Maps/Levels](https://handmade.network/forums/t/2607-asking_for_advice_about_best_approach_to_make_maps_or_design_levels_in_general...#13088) 671 | - [30 Things I Hate About Your Game Pitch](https://www.youtube.com/watch?v=4LTtr45y7P0&feature=youtu.be) 672 | - [50 Game Camera Mistakes](https://www.youtube.com/watch?v=C7307qRmlMI) 673 | - [Factorio's Modding API](http://lua-api.factorio.com/latest/) 674 | - [Open-Ended Puzzle Design at Zachtronics](https://www.youtube.com/watch?v=U4uH1ynH3Rs) 675 | - [How to Make Great Puzzle Game](https://thepuzzle.press/how-to-make-a-great-puzzle-game/) 676 | - [Leveraging ML for Game Development](https://ai.googleblog.com/2021/03/leveraging-machine-learning-for-game.html?m=1) 677 | - [Cursed Problems in Game Design](https://www.youtube.com/watch?v=8uE6-vIi1rQ&t=292s) 678 | 679 | Games - Business 680 | - [The Cost of Games](https://www.raphkoster.com/2018/01/17/the-cost-of-games/) 681 | - [Indie Polish](https://www.youtube.com/watch?v=fYBvYWf_dTg) 682 | - [Finishing](http://makegames.tumblr.com/post/1136623767/finishing-a-game) 683 | - [Lessons Learned from a 5-year Indie Dev Cycle](https://www.reddit.com/r/gamedev/comments/6k1qb2/lessons_from_a_5_year_dev_cycle_on_an_indie/?st=j4na4mer&sh=526e5b87) 684 | - [How do I Release my Game?](https://www.reddit.com/r/gamedev/comments/64pxku/how_do_i_release_my_game/) 685 | - [Free to Play Model Debate](https://www.youtube.com/watch?v=PQgFArro0GQ) 686 | - [Ultimate Legal Guide](https://www.reddit.com/r/gamedev/comments/5pxldd/ultimate_as_promised_guide_to_legal_needs_and/) 687 | - [Put Your Name on Your Game](https://www.youtube.com/watch?v=N4UFC0y1tY0) 688 | - [Riot's Approach to Anti-Cheat](https://engineering.riotgames.com/news/riots-approach-anti-cheat) 689 | - [Fortnite Service Outage Postmortem](https://www.epicgames.com/fortnite/en-US/news/postmortem-of-service-outage-at-3-4m-ccu?sessionInvalidated=true) 690 | 691 | Games - Misc. 692 | - [Useful Game Dev. Code Snippets](https://mobile.twitter.com/mike_acton/status/900343616324980736) 693 | - [DOOM Behind the Music](https://www.youtube.com/watch?v=U4FNBMZsqrY) 694 | - [Pixel Art Advice](http://blog.studiominiboss.com/pixelart) 695 | - [Pen Plotter Art & Algorithms](https://mattdesl.svbtle.com/pen-plotter-1) 696 | - [Learning from Terminals to Design the Futures of User Interfaces](https://brandur.org/interfaces) 697 | - [Learning Synths](https://news.ycombinator.com/item?id=20272346) 698 | - [Voronoi Split Screen](https://twitter.com/gooses_/status/1025723504929505280?s=19) 699 | - [Marvel's Spider-Man: A Technical Postmortem](https://www.youtube.com/watch?v=KDhKyIZd3O8) 700 | - [Useful Snippets](https://blog.bruce-hill.com/6-useful-snippets) 701 | 702 | Software - Technique 703 | - [Handmade Manifesto](https://handmade.network/manifesto) 704 | - [Compression-oriented Programming](http://mollyrocket.com/casey/stream_0019.html) 705 | - [5 Rules of Programming](http://users.ece.utexas.edu/~adnan/pike.html) 706 | - [Making Wrong Code Look Wrong](https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/) 707 | - [Everything is Broken](https://medium.com/message/everything-is-broken-81e5f33a24e1) 708 | - [Why is nearing Completion so De-motivating?](https://news.ycombinator.com/item?id=17138794) 709 | - [Jon Blow - Techniques for dealing with lack of motivation, malaise, depression](https://www.youtube.com/watch?v=i7kh8pNRWOo) 710 | - [Jon Blow - Unit Testing and TDD](https://www.youtube.com/watch?v=21JlBOxgGwY) 711 | - [Software Testing Anti-patterns](http://blog.codepipes.com/testing/software-testing-antipatterns.html) 712 | - [Writing Small Programs in C](https://www.youtube.com/watch?v=eAhWIO1Ra6M) 713 | - [Writing Minimalist C Libraries](http://nullprogram.com/blog/2018/06/10/) 714 | - [Programming Paradigms all Programmers Should Know](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) 715 | - [Designing and Evaluating Reusable Components](https://www.youtube.com/watch?v=ZQ5_u8Lgvyk) 716 | - [The Wrong Abstraction (is worse than duplication)](https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction) 717 | - [Data Oriented Design Slides](http://www.dice.se/wp-content/uploads/2014/12/Introduction_to_Data-Oriented_Design.pdf) 718 | - [OOP is Dead, Long Live Data Oriented Design](https://www.youtube.com/watch?v=yy8jQgmhbAU) 719 | - [Practical Examples in Data Oriented Design](https://docs.google.com/presentation/d/17Bzle0w6jz-1ndabrvC5MXUIQ5jme0M8xBF71oz-0Js/present?slide=id.i0) 720 | - [Specs and Legion, two very different approaches to ECS](https://csherratt.github.io/blog/posts/specs-and-legion/) 721 | - [Producing Wrong Data Without Doing Anything Obviously Wrong!](https://users.cs.northwestern.edu/~robby/courses/322-2013-spring/mytkowicz-wrong-data.pdf) 722 | 723 | Software - Culture 724 | - [Confessions of a UE4 Engineering Firefighter](https://allarsblog.com/2018/03/16/confessions-of-an-unreal-engine-4-engineering-firefighter/) 725 | - [How do You Make Programmers Work 60-80 Hour Weeks?](http://brianknapp.me/programmer-60-80-hour-weeks/) 726 | - [NASA Development Philosophy](https://www.twitch.tv/videos/159126334) 727 | - [General and Surprising](http://paulgraham.com/sun.html) 728 | - [Electron is Flash for the Desktop](https://josephg.com/blog/electron-is-flash-for-the-desktop/) 729 | - [How to do Code Reviews Like a Human](https://mtlynch.io/human-code-reviews-1/) 730 | - [Things You Should Never Do - Rewrite](https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/) 731 | - [Building Software Capital](https://www.youtube.com/watch?v=ta3S8CRN2TM) 732 | - [Don't Let Architecture Astronauts Scare You](https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/) 733 | - [Ideology](https://www.destroyallsoftware.com/talks/ideology) 734 | - [Containers Won't Fix Your Broken Culture](https://queue.acm.org/detail.cfm?id=3185224) 735 | - [Learning to Program is Getting Harder](http://allendowney.blogspot.com/2018/02/learning-to-program-is-getting-harder.html) 736 | - [The Bug-O Notation](https://overreacted.io/the-bug-o-notation/) 737 | - [UTF8 Everywhere](http://utf8everywhere.org/) 738 | - [Taxonomy of Tech Debt](https://engineering.riotgames.com/news/taxonomy-tech-debt) 739 | - [Why Don't People Use Formal Methods?](https://www.hillelwayne.com/post/why-dont-people-use-formal-methods/?fbclid=IwAR2XflDxIUCVIr9Uqva3nkqlCWNPMpEOddwkg9-7dNz9YnlhyfJrmR7G_x8) 740 | - [Software Disenchantment](https://tonsky.me/blog/disenchantment/) 741 | - [The Lesson to Unlearn (Hacking Bad Tests)](http://paulgraham.com/lesson.html) 742 | - [How to Write Better C Libraries](https://handmade.network/wiki/7138-how_to_write_better_game_libraries) 743 | - [The Thirty-Million Line Problem](https://www.youtube.com/watch?v=kZRE7HIO3vk&feature=youtu.be) 744 | - [John Carmack on inlined code](http://number-none.com/blow/john_carmack_on_inlined_code.html) 745 | - [Tips for Giving Clear Talks](https://graphics.stanford.edu/~kayvonf/misc/cleartalktips.pdf) 746 | 747 | Software - Misc. Tools 748 | - [Color Theming](https://color.adobe.com/) 749 | - [Monospace Fonts](https://freebiesupply.com/blog/top-monospace-fonts-for-developers/) 750 | - [Free Low-Poly Animal Meshes](https://sketchfab.com/jeremielouvetz/collections/3k-animals) 751 | - [Free to Use Sounds](http://freetousesounds.com/) 752 | - [Free Icons](https://feathericons.com/) 753 | - [Google Sanitizers](https://github.com/google/sanitizers) 754 | - [Quick C++ Microbenchmark](http://quick-bench.com/XM3odpntQoWZJTB5UOx84sIZfdw) 755 | - [Godbolt Compiler Explorer](https://godbolt.org/) 756 | - [C++ Development with VS Code](https://www.youtube.com/watch?v=rFdJ68WbkdQ) 757 | - [Excel](https://www.youtube.com/watch?v=3ciH34Qexn4) 758 | - [Using ffmpeg](https://github.com/leandromoreira/ffmpeg-libav-tutorial/blob/master/README.md) 759 | - [Tools for Small Project Management](https://news.ycombinator.com/item?id=16322942) 760 | - [Tools for Writing Books](https://thorstenball.com/blog/2018/09/04/the-tools-i-use-to-write-books/) 761 | - [rr Debugger](https://rr-project.org/) 762 | - [msdfgen](https://github.com/Chlumsky/msdfgen) 763 | - [Free HDRI Environment Maps](https://polyhaven.com/) 764 | - [Free VDB Volumes](https://jangafx.com/software/embergen/download/free-vdb-animations/) 765 | - [Intel Graphics Samples](https://www.intel.com/content/www/us/en/developer/topic-technology/graphics-research/samples.html) 766 | - [Vector.js](https://vectorjs.org/) 767 | - [Three D Scans](https://threedscans.com/) 768 | 769 | Software - Misc. Libraries 770 | - [Single-File Libraries](https://github.com/nothings/single_file_libs) 771 | - [STB](https://github.com/nothings/stb) 772 | - [SDL2](https://wiki.libsdl.org/) 773 | - [GLFW](http://www.glfw.org) 774 | - [ImGui](https://github.com/ocornut/imgui) 775 | - [ImGui Profiler](https://github.com/Raikiri/LegitProfiler) 776 | - [ImTui](https://github.com/ggerganov/imtui) 777 | - [SEE2 Trig Functions](https://handmade.network/forums/wip/t/1439-sse2_implementations_of_tan,_cot,_atan,_atan2) 778 | - [Easy Drawing Tablet Input](https://github.com/ApoorvaJ/EasyTab) 779 | - [Slug Font Rendering](http://sluglibrary.com/) 780 | - [C++ Memory Profiler](https://github.com/milostosic/MTuner) 781 | - [TinyHeaders](https://github.com/RandyGaul/tinyheaders) 782 | - [SoLoud](http://sol.gfxile.net/soloud/) 783 | - [Mesh Optimizer](https://github.com/zeux/meshoptimizer) 784 | 785 | Languages - Functional Programming 786 | - [Functional Programming Jargon](https://functional.works-hub.com/blog/Functional-Programming-Jargon) 787 | - [Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbooks.io/mostly-adequate-guide/) 788 | - [Functional Programming in C++](http://www.gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php) 789 | -[A Monad is a Monoid in the Category of Endofunctors](https://www.reddit.com/r/math/comments/ap25mr/a_monad_is_a_monoid_in_the_category_of/) 790 | - [Refactoring via Recursion and CPS Conversion](http://www.pathsensitive.com/2019/07/the-best-refactoring-youve-never-heard.html) 791 | - [What makes dependent type theory more suitable than set theory for proof assistants?](https://mathoverflow.net/questions/376839/what-makes-dependent-type-theory-more-suitable-than-set-theory-for-proof-assista) 792 | - [Notes on GADTs](https://camdar.io/static/h4t/stuff/04/notes.pdf) 793 | - [I'm betting on Call-by-Push-Value](https://thunderseethe.dev/posts/bet-on-cbpv/) 794 | - [How OCaml type checker works -- or what polymorphism and garbage collection have in common](https://okmij.org/ftp/ML/generalization.html) 795 | - [Soundly Handling Linearity](https://blog.sigplan.org/2024/08/12/soundly-handling-linearity/) 796 | - [Functional programming languages should be so much better at mutation than they are](https://cohost.org/prophet/post/7083950-functional-programmi) 797 | - [Higher-kinded bounded polymorphism](https://okmij.org/ftp/ML/higher-kind-poly.html) 798 | - [Damas-Hindley-Milner inference two ways](https://bernsteinbear.com/blog/type-inference/) 799 | - [Adding row polymorphism to Damas-Hindley-Milner](https://bernsteinbear.com/blog/row-poly/) 800 | - [Scientific computing with confidence using typed dimensions](https://laurentrdc.xyz/posts/typed-dimensions.html) 801 | - [Tree calculus](https://treecalcul.us/) 802 | - [Proofs about a Folklore Let-Polymorphic Type Inference Algorithm](https://www.classes.cs.uchicago.edu/archive/2007/spring/32001-1/papers/p707-lee.pdf) 803 | 804 | Languages - Compilers 805 | - [The Programming Language Pipeline](https://medium.com/@william01110111/the-programming-language-pipeline-91d3f449c919) 806 | - [Language Theory for the Working Programmer](https://www.leafac.com/prose/programming-language-theory-explained-for-the-working-programmer--principles-of-programming-languages/) 807 | - [Deterministic Finite Atomata](https://en.m.wikipedia.org/wiki/Deterministic_finite_automaton) 808 | - [Probabilistic Context-Free Grammar](https://en.wikipedia.org/wiki/Probabilistic_context-free_grammar) 809 | - [Using Types Effectively](https://www.youtube.com/watch?v=ojZbFIQSdl8) 810 | - [Building a Simple Interpreter](https://ruslanspivak.com/lsbasi-part1/) 811 | - [Embedding LuaJIT](https://en.blog.nic.cz/2015/08/12/embedding-luajit-in-30-minutes-or-so/) 812 | - [Terra - Low Level Embedded Lua Metaprogramming](http://terralang.org/) 813 | - [What I Learned Making my own JIT Language](http://www.mikedrivendevelopment.com/2018/06/what-i-learned-making-my-own-jit.html?m=1) 814 | - [A Compiler Writing Journey](https://github.com/DoctorWkt/acwj) 815 | - [Expression parsing algorithm](https://www.rhyscitlema.com/algorithms/expression-parsing-algorithm/) 816 | - [Optimizations in C++ Compilers](https://queue.acm.org/detail.cfm?id=3372264) 817 | - [Lexical Analysis Strategies](https://nothings.org/computer/lexing.html) 818 | - [(Go) Finding unreachable functions with deadcode](https://go.dev/blog/deadcode) 819 | - [Compiling With Constraints](https://www.philipzucker.com/compile_constraints/) 820 | - [Compilers for free with weval](https://bernsteinbear.com/blog/weval/) 821 | - [Zig-style generics are not well-suited for most languages](https://typesanitizer.com/blog/zig-generics.html) 822 | - [AUTOMAP: How to do NumPy-style broadcasting in Futhark (but better)](https://futhark-lang.org/blog/2024-06-17-automap.html) 823 | - [The power of predicate pushdown](https://pola.rs/posts/predicate-pushdown-query-optimizer/) 824 | - [The Flix Programming Language](https://flix.dev/) 825 | - [Koka: A Functional Language with Effect Types and Handlers](https://koka-lang.github.io/koka/doc/index.html) 826 | - [Abstract interpretation in the Toy Optimizer](https://bernsteinbear.com/blog/toy-abstract-interpretation/) 827 | - [Lightweight region memory management in a two-stage language](https://gist.github.com/AndrasKovacs/fb172cb813d57da9ac22b95db708c4af) 828 | - [optimizing the Ion compiler backend](https://spidermonkey.dev/blog/2024/10/16/75x-faster-optimizing-the-ion-compiler-backend.html) 829 | - [A DSL for Peephole Transformation Rules of Integer Operations in the PyPy JIT](https://pypy.org/posts/2024/10/jit-peephole-dsl.html) 830 | - [Compiling Pattern Matching](https://compiler.club/compiling-pattern-matching/) 831 | - [Our optimizers need a rethink](https://typesanitizer.com/blog/rethink-optimizers.html) 832 | - [You can use C-Reduce for any language](https://bernsteinbear.com/blog/creduce/) 833 | - [Fidget](https://www.mattkeeter.com/projects/fidget/) 834 | - [Explain mapping between OCaml memory model and C](https://github.com/ocaml/ocaml/pull/10995) 835 | - [A catalog of ways to generate SSA](https://bernsteinbear.com/blog/ssa/) 836 | - [How I implement SSA form](https://gist.github.com/pizlonator/cf1e72b8600b1437dda8153ea3fdb963) 837 | - [Representing type lattices compactly](https://bernsteinbear.com/blog/lattice-bitset/) 838 | - [Land ahoy: leaving the Sea of Nodes](https://v8.dev/blog/leaving-the-sea-of-nodes) 839 | - [Efficient E-Matching for Super Optimizers](https://blog.vortan.dev/ematching/) 840 | - [Writing that changed how I think about PL](https://bernsteinbear.com/blog/pl-writing/) 841 | 842 | Languages - Rust 843 | - [Embedded Rust Setup Assignment](https://web.stanford.edu/class/cs140e/assignments/0-blinky/) 844 | - [You can't Rust that](http://lucumr.pocoo.org/2018/3/31/you-cant-rust-that/) 845 | - [Periodic table of Rust Types](http://cosmic.mearie.org/2014/01/periodic-table-of-rust-types/) 846 | - [Rust Pointers for C Programmers](http://blahg.josefsipek.net/?p=580) 847 | - [Micro-controllers with Rust](https://japaric.github.io/discovery/) 848 | - [Lock-free Dequeue in Rust](https://github.com/kinghajj/deque) 849 | - [Entity Systems and the Borrow Checker (Rant)](https://www.youtube.com/watch?v=4t1K66dMhWk) 850 | - [Rust Game Dev Experience](https://kyren.github.io/2018/09/14/rustconf-talk.html) 851 | - [Learn Rust with Entirely too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/) 852 | - [A half-hour to learn Rust](https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/) 853 | - [How to debug rust with visual studio code](https://www.forrestthewoods.com/blog/how-to-debug-rust-with-visual-studio-code/) 854 | - [Streams in Rust](https://donsbot.wordpress.com/2020/07/04/back-to-old-tricks-or-baby-steps-in-rust/) 855 | - [Leaving Rust gamedev after 3 years](https://loglog.games/blog/leaving-rust-gamedev/) 856 | 857 | Languages - LLVM 858 | - [The LLVM Toolchain](https://www.youtube.com/watch?v=uZI_Qla4pNA) 859 | - [Taming Undefined Behavior in LLVM](https://blog.regehr.org/archives/1496) 860 | - [LLVM Tutorial](http://llvm.org/docs/tutorial/) 861 | - [LLVM Architecture](http://www.aosabook.org/en/llvm.html) 862 | - [LLVM for Grad Students](http://www.cs.cornell.edu/~asampson/blog/llvm.html) 863 | - [Using libclang to Parse C++](http://shaharmike.com/cpp/libclang/) 864 | - [How Clang Compiles a Function](https://blog.regehr.org/archives/1605) 865 | - [Building Useful ClangTools](https://www.youtube.com/watch?v=E6i8jmiy8MY) 866 | - [Complete Guide to LLVM](https://mukulrathi.co.uk/create-your-own-programming-language/llvm-ir-cpp-api-tutorial/) 867 | 868 | Languages - C 869 | - [Generics in C](https://stackoverflow.com/questions/16522341/pseudo-generics-in-c) 870 | - [C Preprocessor Magic](http://jhnet.co.uk/articles/cpp_magic) 871 | - [GCC Function Names](https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html) 872 | - [Auto-vectorization in GCC](https://locklessinc.com/articles/vectorize/) 873 | - [C Reflection with Clang](https://www.reddit.com/r/gamedev/comments/3lh0ba/using_clang_to_generate_c_reflection_data/) 874 | - [Writing a C Compiler](https://norasandler.com/2017/11/29/Write-a-Compiler.html) 875 | - [Lisp in 200 Lines of C](https://carld.github.io/2017/06/20/lisp-in-less-than-200-lines-of-c.html) 876 | - [Making Smaller C/C++ Binaries](http://ptspts.blogspot.com/2013/12/how-to-make-smaller-c-and-c-binaries.html) 877 | - [Making a Minimal Container Library in C](http://ourmachinery.com/post/minimalist-container-library-in-c-part-2/) 878 | - [Embedded - What happens before main() is executed?](http://mymicrocontroller.com/2018/04/03/what-happens-before-main-function-is-executed-in-c-and-why-is-it-important/) 879 | - [Why Aren't there C Conferences?](https://nullprogram.com/blog/2018/11/21/) 880 | - [Some Dark Corners of C](https://docs.google.com/presentation/d/1h49gY3TSiayLMXYmRMaAEMl05FaJ-Z6jDOWOz3EsqqQ/preview?slide=id.gec7eb408_3500) 881 | - [Some things every C programmer should know about C](https://web.archive.org/web/20030812081713/http://klausler.com/cnotes.txt) 882 | - [Few lesser known tricks, quirks and features of C](https://blog.joren.ga/less-known-c#n-format-specifier) 883 | - [Optimizations enabled by -ffast-math](https://kristerw.github.io/2021/10/19/fast-math/) 884 | - [Type-erased generic functions for C: A modest non-proposal](https://duriansoftware.com/joe/type-erased-generic-functions-for-c:-a-modest-non-proposal) 885 | 886 | Languages - C++ 887 | - [rvalue References](http://thbecker.net/articles/rvalue_references/section_01.html) 888 | - [C++11 Multithreaded Memory Model](http://stackoverflow.com/questions/6319146/c11-introduced-a-standardized-memory-model-what-does-it-mean-and-how-is-it-g?rq=1) 889 | - [Modern C++ Features Cheat-Sheet](https://github.com/AnthonyCalandra/modern-cpp-features) 890 | - [Functional Programming in C++](http://www.gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php) 891 | - [Low-Latency C++](https://github.com/CppCon/CppCon2017/blob/master/Presentations/When%20a%20Microsecond%20Is%20an%20Eternity/When%20a%20Microsecond%20Is%20an%20Eternity%20-%20Carl%20Cook%20-%20CppCon%202017.pdf) 892 | - [Defer in C++11](http://www.gingerbill.org/article/defer-in-cpp.html) 893 | - [The C++ Bestiary](http://videocortex.io/2017/Bestiary/) 894 | - [Rethinking Exceptions](https://www.youtube.com/watch?v=OkgvqjJzH_Y) 895 | - [Curiously Recurring C++ Bugs at Facebook](https://www.youtube.com/watch?v=lkgszkPnV8g) 896 | - [Low-Latency C++ for Fun and Profit](https://www.youtube.com/watch?v=BxfT9fiUsZ4) 897 | - [Regular Expressions Redefined in C++](https://www.youtube.com/watch?v=3WGsN_Hp9QY) 898 | - [Metaclasses Proposal Summary](http://www.fluentcpp.com/2017/08/04/metaclasses-cpp-summary/) 899 | - [C++17](https://www.viva64.com/en/b/0533/) 900 | - [Constexpr Everything](https://solarianprogrammer.com/2017/12/27/cpp-17-constexpr-everything-as-much-as-the-compiler-can/) 901 | - [Orthodox C++](https://gist.github.com/bkaradzic/2e39896bc7d8c34e042b) 902 | - [The Culture of Complexity](http://blog.greaterthanzero.com/post/58482859780/c-and-the-culture-of-complexity) 903 | - [Live C++ (hot reloading)](https://molecular-matters.com/products_livepp.html) 904 | - [C++ Without Redundancy](https://github.com/vrsperanza/CPY) 905 | - [C++ Advice](https://twitter.com/SebAaltonen/status/1080069784644059139?s=20) 906 | - [Is C++ Fast?](https://zeuxcg.org/2019/01/17/is-c-fast/) 907 | - [std::launder](https://miyuki.github.io/2016/10/21/std-launder.html) 908 | - [clang consumed annotations](https://awesomekling.github.io/Catching-use-after-move-bugs-with-Clang-consumed-annotations/) 909 | - [C++ Programming Tips](https://blog.molecular-matters.com/2017/09/05/c-programming-tips/) 910 | - [105 STL Algorithms in Less Than an Hour](https://www.youtube.com/watch?v=2olsGf6JIkU) 911 | - [Non-Conforming C++ - The Secrets the Committee is Hiding from You](https://www.youtube.com/watch?v=IAdLwUXRUvg) 912 | - [There Are No Zero-Cost Abstractions](https://www.youtube.com/watch?v=rHIkrotSwcc) 913 | - [Path Tracing 3 Ways: C++ Style Study](https://www.youtube.com/watch?v=HG6c4Kwbv4I) 914 | - [libc++'s implementation of std::string](https://joellaity.com/2020/01/31/string.html) 915 | - [The Surprising Limitations of C++ Ranges](https://www.fluentcpp.com/2019/09/13/the-surprising-limitations-of-c-ranges-beyond-trivial-use-cases/) 916 | - [How to add C++ structured binding support to your own types](https://devblogs.microsoft.com/oldnewthing/20201015-00/?p=104369) 917 | - [All C++20 Core Features with Examples](https://oleksandrkvl.github.io/2021/04/02/cpp-20-overview.html) 918 | - [C++ Exceptions under the hood](https://monkeywritescode.blogspot.com/p/c-exceptions-under-hood.html) 919 | - [Modern C++ Lamentations - Pythagorean Triples](http://aras-p.info/blog/2018/12/28/Modern-C-Lamentations/) 920 | - [Provenance and Concurrency](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3292r0.html) 921 | - [I Have No Constructor, and I Must Initialize](https://consteval.ca/2024/07/03/initialization/) 922 | - [The two factions of C++](https://herecomesthemoon.net/2024/11/two-factions-of-cpp/) 923 | 924 | Languages - Misc. 925 | - [Jai Demo Playlist](https://www.youtube.com/playlist?list=PLmV5I2fxaiCKfxMBrNsU1kgKJXD3PkyxO) 926 | - [There Will Be Build Systems](https://www.youtube.com/watch?v=7THzO-D0ta4) 927 | - [How Media Molecule Does Serialization](https://yave.handmade.network/blogs/p/2723-how_media_molecule_does_serialization#13476) 928 | - [Go Pragmas](https://dave.cheney.net/2018/01/08/gos-hidden-pragmas) 929 | - [dartfmt](http://journal.stuffwithstuff.com/2015/09/08/the-hardest-program-ive-ever-written/) 930 | - [Python Decorators](https://github.com/hchasestevens/hchasestevens.github.io/blob/master/notebooks/the-decorators-they-wont-tell-you-about.ipynb) 931 | - [Perils of Constructors](https://matklad.github.io/2019/07/16/perils-of-constructors.html) 932 | - [Rethinking Visual Programming with Go](https://divan.dev/posts/visual_programming_go/) 933 | - [K](http://www.math.bas.bg/bantchev/place/k.html) 934 | - [Featherweight Go](https://arxiv.org/pdf/2005.11710.pdf) 935 | - [We need visual programming. No, not like that.](https://blog.sbensu.com/posts/demand-for-visual-programming/) 936 | - [An epic treatise on error models for systems programming languages](https://typesanitizer.com/blog/errors.html) 937 | - [Four Years of Jai](https://smarimccarthy.is/posts/2024-12-02-four-years-of-jai/) 938 | - [A break from programming languages](https://lexi-lambda.github.io/blog/2025/05/29/a-break-from-programming-languages/) 939 | 940 | Computer Engineering - Hardware 941 | - [NAND Game](https://nandgame.com/) 942 | - [Building an 8-bit Breadboard Computer](https://www.youtube.com/playlist?list=PLowKtXNTBypGqImE405J2565dvjafglHU) 943 | - [Making Logic Gates from Transistors](https://www.youtube.com/watch?v=sTu3LwpF6XI) 944 | - [Inseparable from Magic - Manufacturing Modern Computer Chips](https://www.youtube.com/watch?v=NGFhc8R_uO4) 945 | - [Building a Computer to play Tetris in Conway's Game of Life](https://codegolf.stackexchange.com/questions/11880/build-a-working-game-of-tetris-in-conways-game-of-life) 946 | - [Implementing FizzBuzz on an FPGA](http://www.righto.com/2018/03/implementing-fizzbuzz-on-fpga.html) 947 | - [Why Spend 1.5 Months on a Gameboy Emulator?](http://blog.rekawek.eu/2017/02/09/coffee-gb/) 948 | - [Emulating the Wii vs. the GameCube](https://dolphin-emu.org/blog/2018/07/21/myth-debugging-wii-more-demanding-emulate-gamecube/) 949 | - [Clocks for Software Engineers](http://zipcpu.com/blog/2017/09/18/clocks-for-sw-engineers.html) 950 | - [Bedroom Electronics Factory](https://spun.io/2018/12/15/lessons-from-running-a-small-scale-electronics-factory-in-my-guest-bedroom-part-1-design/) 951 | - [Why Skylake CPUs are Sometimes 50% Slower - C# Spinlocks](https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/) 952 | - [Agner's CPU Blog - Ryzen](http://agner.org/optimize/blog/read.php?i=838) 953 | - [Documentation for the RISC-V BOOM CPU](https://github.com/ccelio/riscv-boom-doc) 954 | - [Modern x64 Architectures and the Cache](https://www.youtube.com/watch?v=tk5P7mt2fAw) 955 | - [A look at the die of the 8086 processor](http://www.righto.com/2020/06/a-look-at-die-of-8086-processor.html) 956 | - [Inside the 8086 processor, tiny charge pumps create a negative voltage](http://www.righto.com/2020/07/inside-8086-processor-tiny-charge-pumps.html) 957 | - [Building a Homebrew Console](https://internalregister.github.io/2019/03/14/Homebrew-Console.html) 958 | - [Can Doom Run It? An Adding Machine in Doom](https://blog.otterstack.com/posts/202212-doom-calculator/) 959 | - [Weird things I learned while writing an x86 emulator](https://www.timdbg.com/posts/useless-x86-trivia/) 960 | - [SMACNI to AVX512 the life cycle of an instruction set](https://tomforsyth1000.github.io/papers/LRBNI%20origins%20v4%20full%20fat.pdf) 961 | - [Weird things I learned while writing an x86 emulator](https://www.timdbg.com/posts/useless-x86-trivia/) 962 | - [Why those particular integer multiplies?](https://fgiesen.wordpress.com/2024/10/26/why-those-particular-integer-multiplies/) 963 | - [The Alder Lake shlx anomaly](https://tavianator.com/2025/shlx.html) 964 | 965 | Computer Engineering - Memory 966 | - [What Every Programmer Should Know About Memory](https://www.akkadia.org/drepper/cpumemory.pdf) 967 | - [jemalloc](https://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919) 968 | - [Implementing/Debugging malloc](https://danluu.com/malloc-tutorial/) 969 | - [Testing Memory Allocators](http://ithare.com/testing-memory-allocators-ptmalloc2-tcmalloc-hoard-jemalloc-while-trying-to-simulate-real-world-loads/) 970 | - [RAM Refresh Cycles](https://blog.cloudflare.com/every-7-8us-your-computers-memory-has-a-hiccup/) 971 | - [jemalloc Postmortem](https://jasone.github.io/2025/06/12/jemalloc-postmortem/) 972 | - [Static Memory Management in Neut](https://vekatze.github.io/neut/static-memory-management.html) 973 | - [Compiler-Assisted Malloc for Automatically Reducing Data Movement](https://www.cs.cmu.edu/~csd-phd-blog/2025/compiler-analysis-malloc/) 974 | - [The plight of the misunderstood memory ordering](https://www.grayolson.me/blog/posts/misunderstood-memory-ordering/) 975 | 976 | Computer Engineering - Security 977 | - [X86 Design Flaw Memory Sinkhole](https://www.youtube.com/watch?v=lR0nh-TdpVg) 978 | - [Psychological Warfare in Reverse Engineering](https://www.youtube.com/watch?v=HlUe0TUHOIc) 979 | - [Hardware Backdoors in x86](https://www.youtube.com/watch?v=_eSAF_qT_FY&feature=youtu.be) 980 | - [Spectre & Co Overview](https://www.youtube.com/watch?v=_f7O3IfIR2k) 981 | - [Breaking the x86 ISA](https://www.youtube.com/watch?v=KrksBdWcZgQ&feature=youtu.be) 982 | - [PS4 Kernel Crashdump](https://fail0verflow.com/blog/2017/ps4-crashdump-dump/) 983 | - [Finding a CPU Bug in the Xbox 360](https://randomascii.wordpress.com/2018/01/07/finding-a-cpu-design-bug-in-the-xbox-360/) 984 | - [Finding Statically-Linked Vulnerable Code](https://googleprojectzero.blogspot.com/2018/12/searching-statically-linked-vulnerable.html?m=1) 985 | - [How a double-free bug in WhatsApp turns to RCE](https://awakened1712.github.io/hacking/hacking-whatsapp-gif-rce/) 986 | - [Adventures in Smart Buttplug Penetration](https://www.youtube.com/watch?v=RnxcPeemHSc) 987 | - [How we recovered over $300k of bitcoin](https://reperiendi.wordpress.com/2020/04/03/how-i-recovered-over-300k-of-bitcoin/) 988 | - [7-Zip Uninitialized Memory to Remote Code Execution](https://landave.io/2018/05/7-zip-from-uninitialized-memory-to-remote-code-execution/?hn) 989 | - [Reverse engineering unc0ver in 4 hours](https://googleprojectzero.blogspot.com/2020/07/how-to-unc0ver-0-day-in-4-hours-or-less.html) 990 | - [It's fine just ship it - unsecured web connected interfaces](https://www.youtube.com/watch?v=yBA6u5IsXyc) 991 | - [Collection of botnets](https://github.com/maestron/botnets) 992 | - [Zenbleed](https://lock.cmpxchg8b.com/zenbleed.html) 993 | 994 | Computer Engineering - Low Level Programming 995 | - [Computer Systems: a Programmer's Perspective](http://www.csapp.cs.cmu.edu/) 996 | - [Branch Prediction](https://danluu.com/branch-prediction/) 997 | - [Generating Executable Files from Scratch](https://github.com/cameronswinoga/yabfc/wiki/Generating-executable-files-from-scratch) 998 | - [ASM Debugging with GDB](http://dbp-consulting.com/tutorials/debugging/basicAsmDebuggingGDB.html) 999 | - [Disabling IME](https://wiki.gentoo.org/wiki/Sakaki%27s_EFI_Install_Guide/Disabling_the_Intel_Management_Engine) 1000 | - [Ten Years of the TTL CPU](https://www.youtube.com/watch?v=0jRgpTp8pR8) 1001 | - [Bit Hacks](http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/) 1002 | - [RDTSC vs. QueryPerformanceCounter](https://hero.handmade.network/forums/code-discussion/t/57-__rdtsc,_queryperformancecounter,_and_quadpart) 1003 | - [Using Val/call/cachegrind](http://c.learncodethehardway.org/book/ex41.html) 1004 | - [Why is this C++ Faster than Hand-Written ASM?](https://stackoverflow.com/questions/40354978/why-is-this-c-code-faster-than-my-hand-written-assembly-for-testing-the-collat) 1005 | - [Optimization Resources](http://agner.org/optimize/) 1006 | - [Don't Use Inline ASM](https://gcc.gnu.org/wiki/DontUseInlineAsm) 1007 | - [Are Jump Tables Always Fastest?](http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html) 1008 | - [Testing all Floats](https://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/) 1009 | - [CPU Utilization is Wrong](http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html) 1010 | - [The Best Optimizer is between Your Ears](http://twimgs.com/ddj/abrashblackbook/gpbb1.pdf) 1011 | - [Riot Profiling C++](https://engineering.riotgames.com/news/profiling-measurement-and-analysis) 1012 | - [When FFI Calls Beat Native C](https://nullprogram.com/blog/2018/05/27/) 1013 | - [Rules of Optimization](http://www.humus.name/index.php?page=News&ID=383) 1014 | - [Moustache Visual Debugger Demo](https://www.youtube.com/watch?v=msZa2EzI3zc) 1015 | - [Branchless UTF8 Decode](https://github.com/skeeto/branchless-utf8/blob/master/utf8.h) 1016 | - [Normalized Byte Multiplication](https://pastebin.com/WsiW2BCz) 1017 | - [Performance Optimization, SIMD, Cache](https://www.youtube.com/watch?v=Nsf2_Au6KxU) 1018 | - [Going Nowhere Faster](https://www.youtube.com/watch?v=2EWejmkKlxs) 1019 | - [Formatting Floats](http://www.zverovich.net/2019/02/11/formatting-floating-point-numbers.html) 1020 | - [Adventures in Data-Oriented Design - Hierarchical Data](https://blog.molecular-matters.com/2013/02/22/adventures-in-data-oriented-design-part-2-hierarchical-data/) 1021 | - [Where do Interrupts Happen?](https://travisdowns.github.io/blog/2019/08/20/interrupts.html) 1022 | - [Anatomy of a High-Performance Matrix Convolution](https://sahnimanas.github.io/post/anatomy-of-a-high-performance-convolution/) 1023 | - [Optimizing the Interpreter Loop](http://www.emulators.com/docs/nx25_nostradamus.htm) 1024 | - [What Every Computer Scientist Should Know About Floating-point Arithmetic](http://perso.ens-lyon.fr/jean-michel.muller/goldberg.pdf) 1025 | - [The radix 2^51 trick (amortizing carries)](https://www.chosenplaintext.ca/articles/radix-2-51-trick.html) 1026 | - [Bit Twiddling Hacks](https://graphics.stanford.edu/~seander/bithacks.html) 1027 | - [Parsing Protobuf at 2+GB/s](https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html) 1028 | - [Beating the L1 cache with value speculation](https://mazzo.li/posts/value-speculation.html) 1029 | - [Herbie float precision](https://herbie.uwplse.org/) 1030 | - [Speeding up atan2f by 50x](https://mazzo.li/posts/vectorized-atan2.html) 1031 | - [Optimizing sorting in D - doing more work/branchless](https://dlang.org/blog/2020/05/14/lomutos-comeback/) 1032 | - [Fastest fizzbuzz](https://codegolf.stackexchange.com/questions/215216/high-throughput-fizz-buzz/236630#236630) 1033 | - [My approach to optimization](https://medium.com/@jasonbooth_86226/my-approach-to-optimization-bfcafc1f8768) 1034 | - [Examples of floating point problems](https://jvns.ca/blog/2023/01/13/examples-of-floating-point-problems/) 1035 | - [Fast, Near Lossless ‘Compression’ of Normal Floats](https://martinfullerblog.wordpress.com/2023/01/15/fast-near-lossless-compression-of-normal-floats/) 1036 | - [Float Compression Series](https://aras-p.info/blog/2023/01/29/Float-Compression-1-Generic/) 1037 | - [What a good debugger can do](https://werat.dev/blog/what-a-good-debugger-can-do/) 1038 | - [Beating OpenBLAS and MKL in 150 lines of C Code: A Tutorial on High-Performance Matrix Multiplication](https://salykova.github.io/matmul-cpu) 1039 | - [How we get to main()](https://www.youtube.com/watch?v=dOfucXtyEsU) 1040 | - [The Fastest Mutexes](https://justine.lol/mutex/) 1041 | - [The Return of the Frame Pointers](https://www.brendangregg.com/blog/2024-03-17/the-return-of-the-frame-pointers.html) 1042 | 1043 | Computer Engineering - SIMD 1044 | - [AVX512 Benchmarks](https://developer.numscale.com/bsimd/benchmarks/) 1045 | - [Using SSE](https://www.cs.uaf.edu/2009/fall/cs301/lecture/11_13_sse_intrinsics.html) 1046 | - [SIMD String Prefix Matching](https://trent.me/is-prefix-of-string-in-table/) 1047 | - [AVX512 Whitespace Removal](http://0x80.pl/notesen/2019-01-05-avx512vbmi-remove-spaces.html) 1048 | - [tolower() with AVX-512](https://dotat.at/@/2024-07-28-tolower-avx512.html) 1049 | - [Implementing a GPU's Programming Model on a CPU](https://litherum.blogspot.com/2023/10/implementing-gpus-programming-model-on.html) 1050 | - [Using the most unhinged AVX-512 instruction to make the fastest phrase search algo](https://gab-menezes.github.io/2025/01/13/using-the-most-unhinged-avx-512-instruction-to-make-the-fastest-phrase-search-algo.html) 1051 | - [I want a good parallel computer](https://raphlinus.github.io/gpu/2025/03/21/good-parallel-computer.html) 1052 | - [Towards fearless SIMD, 7 years later](https://linebender.org/blog/towards-fearless-simd/) 1053 | - [Three fundamental flaws of SIMD ISAs](https://www.bitsnbites.eu/three-fundamental-flaws-of-simd/) 1054 | - [A plan for SIMD](https://linebender.org/blog/a-plan-for-simd/) 1055 | 1056 | Computer Engineering - Operating Systems 1057 | - [Let's Write a Kernel](http://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel) 1058 | - [Handmade XCB Platform Layer](https://github.com/nxsy/xcb_handmade/blob/master/src/xcb_handmade.cpp#L1400) 1059 | - [Recompiling NES Games with LLVM](http://andrewkelley.me/post/jamulator.html) 1060 | - [Simple Heap Allocator](https://github.com/CCareaga/heap_allocator#shmall---simple-heap-memory-allocator) 1061 | - [What if Main is not a Function?](http://jroweboy.github.io/c/asm/2015/01/26/when-is-main-not-a-function.html) 1062 | - [Keyboard Latency](https://danluu.com/keyboard-latency/) 1063 | - [Bare Bones OS Tutorial](http://wiki.osdev.org/Bare_Bones) 1064 | - [OS Abstractions with Plan 9](https://lsub.org/who/nemo/9.intro.pdf) 1065 | - [Write a Shell in Rust](https://www.joshmcguigan.com/blog/build-your-own-shell-rust/) 1066 | - [Write your own Virtual Machine](https://justinmeiners.github.io/lc3-vm/) 1067 | - [File system from scratch in Rust](https://blog.carlosgaldino.com/writing-a-file-system-from-scratch-in-rust.html) 1068 | - [Surprisingly Slow](https://gregoryszorc.com/blog/2021/04/06/surprisingly-slow/) 1069 | - [A Kernel Hacker Meets Fuchsia OS](https://a13xp0p0v.github.io/2022/05/24/pwn-fuchsia.html) 1070 | - [Linux in a Pixel Shader - A RISC-V Emulator for VRChat](https://blog.pimaker.at/texts/rvc1/) 1071 | - [Why is my CPU usage always 100%?](https://www.downtowndougbrown.com/2024/04/why-is-my-cpu-usage-always-100-upgrading-my-chumby-8-kernel-part-9/) 1072 | - When will there be a sandboxed bytecode-vm userland ipc-only microkernel db-filesystem networked app-package operating system? 1073 | 1074 | Computer Engineering - Operating Systems - Windows 1075 | - [Avoiding the CRT on Windows](https://hero.handmade.network/forums/code-discussion/t/94-guide_-_how_to_avoid_c_c++_runtime_on_windows) 1076 | - [Blog - Raymond Chen](https://blogs.msdn.microsoft.com/oldnewthing/) 1077 | - [What Just Ran on the Windows Console?](https://blogs.msdn.microsoft.com/commandline/2017/07/28/how-to-determine-what-just-ran-on-windows-console/) 1078 | - [Requesting the Dedicated GPU](https://stackoverflow.com/questions/16823372/forcing-machine-to-use-dedicated-graphics-card) 1079 | - [Windows AsyncIO for Unix Programmers](http://tinyclouds.org/iocp-links.html) 1080 | - [Loading a DLL from Memory](https://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/) 1081 | - [Signing a Windows EXE](https://stackoverflow.com/questions/252226/signing-a-windows-exe-file) 1082 | - [Avoiding the Visual C++ Runtime](http://www.drdobbs.com/avoiding-the-visual-c-runtime-library/184416623) 1083 | - [Everything you ever wanted to know about DLLs](https://www.youtube.com/watch?v=JPQWQfDhICA) 1084 | - [Using/Avoiding the Windows Debug Heap](https://ofekshilon.com/2014/09/20/accelerating-debug-runs-part-1-_no_debug_heap-2/) 1085 | - [Switching a Window to Fullscreen and Back](https://blogs.msdn.microsoft.com/oldnewthing/20100412-00/?p=14353) 1086 | - [D's Windows Platform Layer](http://svn.dsource.org/projects/bindings/trunk/win32/mmsystem.d) 1087 | - [Lockless Programming Considerations](https://msdn.microsoft.com/en-us/library/ee418650%28v=vs.85%29.aspx) 1088 | - [Make MSVC Compile in Parallel](https://randomascii.wordpress.com/2014/03/22/make-vc-compiles-fast-through-parallel-compilation/) 1089 | - [Inside the Windows Command Line](https://blogs.msdn.microsoft.com/commandline/2018/07/20/windows-command-line-inside-the-windows-console/) 1090 | - [History of Windows - Part 1](https://www.filfre.net/2018/06/doing-windows-part-1-ms-dos-and-its-discontents/) 1091 | - [Understanding ReadDirectoryChangesW](https://qualapps.blogspot.com/2010/05/understanding-readdirectorychangesw.html) 1092 | - [Making Windows Slower - Process Destruction, Not Called Functions](https://randomascii.wordpress.com/2018/12/03/a-not-called-function-can-cause-a-5x-slowdown/) 1093 | - [Making Windows Slower - Making VirtualAlloc Arbitrarily Slow](https://randomascii.wordpress.com/2011/08/05/making-virtualalloc-arbitrarily-slower/) 1094 | - [Making Windows Slower - File Access and Deletion](https://randomascii.wordpress.com/2018/04/17/making-windows-slower-part-1-file-access/) 1095 | - [Making Windows Slower - Process Creation](https://randomascii.wordpress.com/2018/10/15/making-windows-slower-part-2-process-creation/) 1096 | - [Xinput (Odin)](https://github.com/ThisDrunkDane/odin-xinput/blob/master/xinput.odin) 1097 | - [MSVC Flag: d2cgsummary](http://aras-p.info/blog/2017/10/23/Best-unknown-MSVC-flag-d2cgsummary/) 1098 | - [MSVC Flag: d1reporttime](http://aras-p.info/blog/2019/01/21/Another-cool-MSVC-flag-d1reportTime/) 1099 | - [24 Core CPU and I can't Move my Mouse](https://randomascii.wordpress.com/2017/07/09/24-core-cpu-and-i-cant-move-my-mouse/) 1100 | - 24 Core CPU and I Can't Type an Email [Part 1](https://randomascii.wordpress.com/2018/08/16/24-core-cpu-and-i-cant-type-an-email-part-one/) [Part 2](https://randomascii.wordpress.com/2018/08/22/24-core-cpu-and-i-cant-type-an-email-part-two/) 1101 | - [63 Cores Blocked by 7 Instructions](https://randomascii.wordpress.com/2019/10/20/63-cores-blocked-by-seven-instructions/) 1102 | - [n^2 again, now in WMI](https://randomascii.wordpress.com/2019/12/08/on2-again-now-in-wmi/) 1103 | - [Moving window handling to another thread example](https://github.com/cmuratori/dtc) 1104 | - [Properly handling keyboard input](https://blog.molecular-matters.com/2011/09/05/properly-handling-keyboard-input/) 1105 | - [Making Your Game Go Fast by Asking Windows Nicely](https://www.anthropicstudios.com/2022/01/13/asking-windows-nicely/) 1106 | - [Please Restore Our Registers When You’re Done With Them](https://randomascii.wordpress.com/2022/11/21/please-restore-our-registers-when-youre-done-with-them/) 1107 | - [timeBeginPeriod function](https://learn.microsoft.com/en-us/windows/win32/api/timeapi/nf-timeapi-timebeginperiod) 1108 | - [Multimedia Class Scheduler Service](https://learn.microsoft.com/en-us/windows/win32/procthread/multimedia-class-scheduler-service) 1109 | 1110 | Computer Engineering - Operating Systems - Linux 1111 | - [Detecting GDB](https://stackoverflow.com/questions/3596781/how-to-detect-if-the-current-process-is-being-run-by-gdb) 1112 | - [30 Interesting Shell Commands](https://www.lopezferrando.com/30-interesting-shell-commands/) 1113 | - [Capture the output of a child process in C](http://www.microhowto.info/howto/capture_the_output_of_a_child_process_in_c.html) 1114 | - [Linux Containers in 500 Lines of Code](https://blog.lizzie.io/linux-containers-in-500-loc.html) 1115 | - [10 Things I Wish I'd Known about Bash](https://zwischenzugs.com/2018/01/06/ten-things-i-wish-id-known-about-bash/) 1116 | - [Inside the Linux Boot Process](https://www.ibm.com/developerworks/library/l-linuxboot/) 1117 | - [Linux Program Startup](http://dbp-consulting.com/tutorials/debugging/linuxProgramStartup.html) 1118 | - [Julia Evan's Linux Drawings](https://twitter.com/i/moments/983006808473088000) 1119 | - [Doing things in Bash Safely](https://github.com/anordal/shellharden/blob/master/how_to_do_things_safely_in_bash.md) 1120 | - [Command-Line Tools can be 235x Faster than your Hadoop Cluster](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html) 1121 | - [Using GDB](https://handmade.network/wiki/2883-gdb) 1122 | - [Huge-Page Swapping](https://lwn.net/Articles/758677/) 1123 | - [Forgotten Unix CLI Commands](https://hackernoon.com/unknown-and-forgotten-cli-commands-ca73b3cdd1fd) 1124 | - [Virtual-Memory Assisted Buffer Management](https://www.cs.cit.tum.de/fileadmin/w00cfj/dis/_my_direct_uploads/vmcache.pdf) 1125 | - [Backtrace is finally cheap by abusing x86/linux's shadow stack](https://intmainreturn0.com/notes/stacktrace-is-finally-cheap.html) 1126 | 1127 | Networking 1128 | - [How Multiplayer Games Sync their State](http://www.cakesolutions.net/teamblogs/how-does-multiplayer-game-sync-their-state-part-1) 1129 | - [What Every Game Programmer Needs to Know About Networking](http://gafferongames.com/networking-for-game-programmers/what-every-programmer-needs-to-know-about-game-networking/) 1130 | - [Overwatch Gameplay Architecture and Netcode](https://www.youtube.com/watch?v=W3aieHjyNvw) 1131 | - [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html) 1132 | - [Game Networking Blog](https://gafferongames.com/categories/game-networking/) 1133 | - [Networked Physics Blog](https://gafferongames.com/categories/networked-physics/) 1134 | - [Age of Empires II Multiplayer Networking](https://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php?print=1) 1135 | - [Illustrated TLS Connection](https://tls.ulfheim.net/) 1136 | - [DNS Hijacking without Exploitation](http://dinaburg.org/bitsquatting.html) 1137 | - [Networking Protocols for Anyone who Understands a Programming Language](https://www.destroyallsoftware.com/compendium/network-protocols?share_key=97d3ba4c24d21147) 1138 | - [Making a Multiplayer FPS in C++ - Part 1](http://www.codersblock.org/blog/multiplayer-fps-part-1) 1139 | - [Backend Programming in C](https://www.youtube.com/watch?v=duAri1OytqY) 1140 | - [Optimizing Web Servers (nginx) for High Throughput and Low Latency](https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/) 1141 | - [How Browsers Work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/) 1142 | - [What Happens When You Type google.com...](https://github.com/alex/what-happens-when?referrer=google.com) 1143 | - [It's Time to Kill the Web (as an applications platform)](https://blog.plan99.net/its-time-to-kill-the-web-974a9fe80c89) 1144 | - [BSD, C, httpd, SQLite](https://learnbchs.org/index.html) 1145 | - [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) 1146 | - [Favorite PostgreSQL Queries](https://news.ycombinator.com/item?id=16840220) 1147 | - [Why databases use ordered indexes but programming uses hash tables](https://www.evanjones.ca/ordered-vs-unordered-indexes.html) 1148 | - [Netflix: What Happens When You Press Play?](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) 1149 | - [Serving Netflix Video Traffic at 400Gb/s and Beyond](http://nabstreamingsummit.com/wp-content/uploads/2022/05/2022-Streaming-Summit-Netflix.pdf) 1150 | 1151 | Technical History & Stories 1152 | - [The 640K Barrier](http://www.filfre.net/2017/04/the-640-k-barrier/#rf1-2788) 1153 | - [Understanding Pac-Man Ghost Behavior](http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior) 1154 | - [Wolfenstien 3D - Game Engine Black Book](http://fabiensanglard.net/Game_Engine_Black_Book/index.php) 1155 | - [0 Based Arrays - Dijkstra](http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF) 1156 | - [Flash Games Postmortem](https://www.youtube.com/watch?v=65crLKNQR0E) 1157 | - [The Ultimate Garbage Collector](https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ) 1158 | - [The Case of the 500-Mile Email](https://www.ibiblio.org/harris/500milemail.html) 1159 | - [LAND OF LISP](http://landoflisp.com/) 1160 | - [Inside the Xerox Alto's Display](http://www.righto.com/2017/10/inside-vintage-xerox-altos-display-tiny.html) 1161 | - [Visualizing the Sound of Dial-Up](http://www.windytan.com/2012/11/the-sound-of-dialup-pictured.html?m=1) 1162 | - [Quake on an Oscilloscope](http://www.lofibucket.com/articles/oscilloscope_quake.html) 1163 | - [IRC Necromancy](https://virtuallyfun.com/2017/11/18/irc-necromancy/) 1164 | - [Why Does man print "gimme gimme gimme" at 00:30?](https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030) 1165 | - [Breaking a Minecraft Economy](https://www.alicemaz.com/writing/minecraft.html) 1166 | - [Modern Linux on a 486](http://yeokhengmeng.com/2018/01/make-the-486-great-again/) 1167 | - [John Carmack - Programming Retreat](https://www.facebook.com/permalink.php?story_fbid=2110408722526967&id=100006735798590) 1168 | - [What Happens if you append grep results to the file?](https://anniecherkaev.com/grep-your-way-to-freedom) 1169 | - [50/60 Years of Processor Development](https://www.eejournal.com/article/fifty-or-sixty-years-of-processor-developmentfor-this/) 1170 | - [Norman's Sky](http://nothkedev.blogspot.no/2018/04/normans-sky-2-years-later-joke-made-in.html) 1171 | - [Fabricating an Integrated Circuit](http://sam.zeloof.xyz/first-ic/#) 1172 | - [StuxNet](https://www.quora.com/What-is-the-most-sophisticated-piece-of-software-code-ever-written/answer/John-Byrd-2) 1173 | - [Pranking my Roommate with Targeted Ads](http://ghostinfluence.com/the-ultimate-retaliation-pranking-my-roommate-with-targeted-facebook-ads/) 1174 | - [Playing Battleships over BGP](https://blog.benjojo.co.uk/post/bgp-battleships) 1175 | - [5k 360 Video with John Carmack](https://developer.oculus.com/blog/behind-the-tech-with-john-carmack-5k-immersive-video/) 1176 | - [Starting Ycombinator - Jessica Livingston](http://foundersatwork.posthaven.com/grow-the-puzzle-around-you) 1177 | - [Technological Unemployment](https://slatestarcodex.com/2018/02/19/technological-unemployment-much-more-than-you-wanted-to-know/) 1178 | - [Version Control Before Git with CVS](https://twobithistory.org/2018/07/07/cvs.html) 1179 | - [A Programmer's Worst Nightmare](https://www.quora.com/What-is-a-coders-worst-nightmare/answer/Mick-Stute) 1180 | - [Art in a Database Command](https://news.ycombinator.com/item?id=17969843) 1181 | - [Raikoth: Laws, Language, and Society](http://slatestarcodex.com/2013/05/06/raikoth-laws-language-and-society/) 1182 | - [Five Thousand Years in an Alternate Universe](http://slatestarcodex.com/2013/04/15/things-i-learned-by-spending-five-thousand-years-in-an-alternate-universe/) 1183 | - [An old-timey game dev. hack](http://blog.moertel.com/posts/2013-12-14-great-old-timey-game-programming-hack.html) 1184 | - [Bitcoin Mining on an Apollo Guidance Computer](http://www.righto.com/2019/07/bitcoin-mining-on-apollo-guidance.html) 1185 | - [Hexing](https://aphyr.com/posts/341-hexing-the-technical-interview)/[Typing](https://aphyr.com/posts/342-typing-the-technical-interview)/[Reversing](https://aphyr.com/posts/340-reversing-the-technical-interview)/[Unifying](https://aphyr.com/posts/354-unifying-the-technical-interview) the Technical Interview 1186 | - [The ZedRipper](http://www.chrisfenton.com/the-zedripper-part-1/) 1187 | - [The Infinite Loop that wasn't: a holy grail bug story](https://mgba.io/2020/01/25/infinite-loop-holy-grail/) 1188 | - [Eight Years at Roblox](https://zeux.io/2020/08/02/eight-years-at-roblox/) 1189 | - [Functorio](https://bartoszmilewski.com/2021/02/16/functorio/) 1190 | - [The Cursed Computer Iceberg Meme](https://suricrasia.online/iceberg/) 1191 | - [Dissecting a Shader Quine](https://gpfault.net/posts/shader-quine.txt.html) 1192 | - [Escaping the Dark Forest](https://samczsun.com/escaping-the-dark-forest/) 1193 | - [Why is the Nuclear Power Industry Stagnant?](https://austinvernon.site/blog/nuclear.html) 1194 | - [Ask HN: What are some of the best documentaries you've seen?](https://news.ycombinator.com/item?id=32799789) 1195 | - [Intro to Computational Astrophotography](https://yager.io/Astro.html) 1196 | - [Randar Explanation and Information](https://github.com/spawnmason/randar-explanation/?tab=readme-ov-file) 1197 | - [Riven](https://www.filfre.net/2024/05/riven/) 1198 | - [On the origins of DS_store](https://www.arno.org/on-the-origins-of-ds-store) 1199 | - [Twenty years of Valgrind](https://nnethercote.github.io/2022/07/27/twenty-years-of-valgrind.html) 1200 | - ["We ran out of columns" - The best, worst codebase](https://jimmyhmiller.github.io/ugliest-beautiful-codebase) 1201 | - [Phased Array Microphone](https://benwang.dev/2023/02/26/Phased-Array-Microphone.html) 1202 | - [Engineering Sleep](https://minjunes.ai/posts/sleep/index.html) 1203 | - [A Story About ‘Magic'](http://www.catb.org/jargon/html/magic-story.html) 1204 | - [A 2-ply minimax chess engine in 84,688 regular expressions](https://nicholas.carlini.com/writing/2025/regex-chess.html) 1205 | - [Half-Life](https://www.filfre.net/2024/12/half-life/) 1206 | --------------------------------------------------------------------------------