Open Learning
Open Learning
I very much enjoy the act of auto-didactic learning. This is a collection of resources I have found useful in my own learning journey that at times I have felt compelled to add to a list. It is by no means exhaustive, but I hope it helps you find something interesting to read or watch
Software
Youtube
General
- Stablity Patterns & Antipatterns - Once you hit Release 1.0, your system will be living in the real world
- TDD, Where did it all go wrong? - One of many great Ian Cooper talks
- How to Become a Great Software Architect • Eberhard Wolff • GOTO 2019 - Great Software Architecture talk by Eberhard Wolff
- GOTO Conferences - A fantastic source for in-depth talks on software architecture, design patterns, and general programming philosophy from leading experts in the industry
- QCon Software Development Conferences -Another great source of all sorts of conference material
- NDC Conferences - Yet another great source of all sorts of conference material
- ByteByteGo - System design
- Hussein Nasser - Lots of software engineering topics
Graphics
- Atmosphere - One of many great videos by Sebastian Lague
- Procedural Moons and Planets - Another great video by Sebastian Lague on procedural planets/moons
- I Tried Ray-Tracing Glass and Rainbows - Yet another on caustics and reflections
- Ray Tracing in One Weekend…but With Some Changes - A great intro to ray tracing by The Cherno
- Interactive Computer Graphics - All of Cem Yuksel’s videos are great!
- Computer Graphics (CMU 14-462/662) - As are Keenan Crane’s! Both have great papers to read as well
- Capcom RE:2023 Graphics/Rendering Conference - Talks on the RE Engine from Capcom
- Two Minute Papers - OG ML graphics channel
C++
- Greg Law on GDB - 15 minutes on GDB-fu
- Design Patterns: Facts and Misconceptions - Klaus Iglberger - CppCon 2021 - Good talk on design patterns in C++
- Composable C++: Principles and Patterns - Ben Deane - CppCon 2021 - Great talk on composability in C++
- The Cherno - C++ game engine development
- C++ Weekly with Jason Turner - Jason has a ton of fun content around C++
- CppCon - The official channel for the C++ conference
Golang
- Go Anti-Patterns - Talk on anti-patterns by Edward Muller
- The Scheduler Saga - Great dive into the hchan scheduler
- Understanding Channels - Another great talk by Kavya Joshi, this time on golang channels
- Functional Programming in Go - GopherCon 2017: Aaron Schlesinger - Functional Programming in Go
- The Go Programming Language - The official channel for Go
- GopherCon - A must-watch for anyone interested in Go
Hardware / Physical Architecture
- Device Tree: hardware description for everybody! - A data structure for describing hardware, good talk on it
- Ben Eater - If you like building 8-bit computer from scratch on breadboards, this channel is for you!
- NandLand - A great channel for learning about FPGAs and Verilog. It’s a fantastic resource for anyone interested in digital design
- Phil’s Lab - This channel focuses on all sorts of electronics design and engineering
Security / Reverse Engineering
- Nathan Baggs – All sorts of reverse engineering of games and other things
- LiveOverflow – Reverse engineering, binary exploitation, CTFs
- IppSec – Hack The Box and other CTF walkthroughs
- GynvaelEN – Reverse engineering, cryptography, other security topics
- Low Level – Lots of low level hacking and security topics
- STÖK – Web hacking, bug bounty, hacker culture, etc.
Cloud / Random Other Stuff
- DynamoDB Under the Hood - Great deep dive into AWS DyanmoDB
Podcasts
Software Engineering
- ACM Bytecast – Conversations with researchers, practitioners, and innovators across all of computing
- Algorithms + Data Structures = Programs – Discussions on algorithms, data structures, and programming language theory
- CppCast – A great C++ podcast covering many topics
- Programming Throwdown – Broad programming topics explained for all levels
- Rustacean Station – Community-driven podcast about the Rust programming language and its ecosystem
- Software Engineering Daily – Daily technical interviews with engineers and leaders in software
- Software Engineering Radio – Deep dives into software engineering topics, technologies, and practices
- Talk Python to Me – In-depth interviews covering Python libraries, tools, and community projects
- The Bike Shed – Thoughtbot developers talk about web development, Ruby, Rails, and software practices
- The Changelog – Conversations with the hackers, leaders, and innovators of open source
- Go Time: Golang, Software Engineering – Panel discussions about the Go programming language, same people as The Changelog
Security
- Darknet Diaries – True cybercrime and hacking stories
- Security Now! – Weekly security podcast by Steve Gibson and Leo Laporte
- Google Cloud Security Podcast – Security engineering and cloud defense from Google experts
- Hacker Public Radio – Community-driven podcast with security, Linux, and open-source focus
- CyberWire Daily – Daily cybersecurity news and interviews
- SANS Internet Stormcenter (Stormcast) – Brief daily summaries of key network security events
- Paul’s Security Weekly – IT security news, vulnerabilities, and technical insights
- Risky Business – Weekly cybersecurity news and interviews with industry experts
- Critical Thinking – Bug Bounty Podcast – Focused on bug bounty hunting and methodology
- Hacker and the Fed – Former FBI agent and hacker discuss cybersecurity and policy
- Absolute AppSec – Conversations on application security
- Open Source Security – Covers open source and software security topics
- Security Cryptography Whatever – Cryptography and security explained casually
- Unnamed Reverse Engineering Podcast – Focused on reverse engineering tools, techniques, and news
- Reverse Engineering++ Podcast – Discussions around reverse engineering and security research
Game Dev
- Dev Game Club
- Eggplant: The Secret Lives of Games – Exploring game development and design
- Deconstructor of Fun – Mobile and free-to-play game design
- Nice Games Club – Game development, design, and culture
- Indie Game Lunch Hour – Indie game development insights and community
- Game Dev Podcast – Hosted by Butterscotch Shenanigans
- Game Dev Local Podcast – Developer-focused interviews and discussions
- The Game Design Round Table – Conversations about tabletop and digital game design
- The AIAS Game Maker’s Notebook – Interviews with industry creators
- Wookash Podcast – Game dev talks on YouTube
- Hanselminutes with Scott Hanselman – Technology, culture, and software development
- SIGGRAPH Spotlight – Computer graphics and interactive techniques
- Level Design Lobby – Game level design and theory
- Designer Notes – Game design philosophies and lessons
- The RPG Show – Classic and modern RPG discussion
- Game Dev Unchained – Developers share their industry experiences
- Lostcast – Indie game development podcast
Blogs/Sites
General
- tech-blogs - Giant list of user submitted blogs with tags. Some good ones here
- Hacker News - Can’t go without posting this one
- Why Tech Interviews are a Waste of Time
- For those asking if a degree is worth it for software, I agree with the Mozart vs Salieri debate
- The looming demise of the 10x developer
Reverse Engineering
- Exploit Reversing – Vulnerability research, exploit dev, reverse engineering
- Daax – Reverse Engineering blog – Virtualization, hooking, Windows internals, ROP, hypervisors, etc.
- Quarkslab blog – Reverse-engineering tag – Firmware recovery, boot chain attacks, Sourcetrail tools, Starlink, etc.
- Reversing Engineering for the Soul – OS kernel, firmware, game-engine reversing, vulnerabilities
- Automagic Reverse Engineering – Automated RE via GhidrAI, BSim/FIDB, scripting, visual workflows
Security
- tl;dr sec – Weekly curated security newsletter: AppSec, Cloud, red/blue team, AI/security
- Bleeping Computer – All sorts of security news and happenings
- Dark Reading – Enterprise security news and research
- The Hacker News – Security news and analysis
- Krebs on Security – In-depth security journalism
- Schneier on Security – Bruce Schneier’s commentary on security, privacy, and cryptography
- Detection Engineering Collective – Threat detection engineering, DFIR, hunting workflows
Game Dev
Graphics
- Ray Tracing in One Weekend - Peter Shirley’s legendary book on ray tracing. Follow it up with the other two books in the series!
- Render Hell - Just read it
- Interplay of Light - Great graphics blog by Kostas Anagnostou
- Inigo Quilez’s Site - One of the biggest people in graphics!
- Jendrik Illner’s Site - Has a weekly collection of the biggest news/posts in graphics
- The Book of Shaders - Gets you going with all things shaders
- Learn OpenGL - Great starting point for learning OpenGL and some advanced lighting techniques
- Scratchapixel - Another good starting point
- 1000 Forms of Bunnies - Blog posts from Victor Li mostly related to UE but all good content
- Aras Pranckevičius’s Site - Also on twitter with tons of great information
- Physically Based Rendering - Web version of the book by Matt Pharr. Must read!
- Alain Galvin’s Blog - More great resources on all things graphics related!
- A Primer on Bézier Curves - Bezier curves!
- A Survey of BRDF Representation for Computer Graphics
- Calculating Stereo Pairs
- Drinking from the Firehose: Learning Computer Graphics Techniques and Programming
- Real-Time Rendering Resources - Giant collection of real time rendering stuff
- Angelo Pesce’s blog - and twitter
- Understanding Perlin Noise
- Linearly Transformed Spherical Harmonics
- Two Minute Papers/Károly Zsolnai-Fehér’s Blog - Károly Zsolnai-Fehér’s collection of things
- Reintegration tracking - Some advanced fluid simulations
- A trip through the Graphics Pipeline 2011
- Raymarching Distance Fields: Concepts and Implementation in Unity
- Cem Yuksel’s CS 5610/6610 - Spring 2021 Interactive Computer Graphics
- The Rendering of Jurassic World: Evolution
- 3D Game Shaders For Beginners
- Will push pixels for food - Gijs Richard Kaerts’s blog
- From Particle to Volume Scattering of Light
- Alan Zucconi’s blog
- Ray Marching and Signed Distance Functions
- The perspective projection matrix in Vulkan
- Structure and Abstraction - Reddit post on people’s thoughts for graphics abstractions
- Usual tricks in Shadertoy / GLSL
- Shader Playground - Super useful for testing small snippets to see how they are acting
- Graphics Codex - Collection of graphics stuff from Morgan McGuire/Nvidia
- Monte Carlo Methods for Physically Based Volume Rendering
- Ke-Sen Huang’s Home Page - Big collection of past Siggraph/Eurographics/HPG/Pacific Graphics/Many other conferences info
- Rendering Particles with Compute Shaders
- Life of a triangle - NVIDIA’s logical pipeline
- Probability Theory for Physically Based Rendering
- The Simple, Flexible, Octasphere
- Alex Tardif’s Site
Papers
Graphics
- Phong Shading – Bui Tuong Phong (1975). Introduced the Phong shading model, one of the earliest practical techniques for realistic lighting
- A Model of Light Reflection for Computer Generated Pictures – Cook & Torrance (1982). Defined physically-based reflection models, foundational for PBR workflows
- The Rendering Equation – James Kajiya (1986). Introduced the general rendering equation, the basis for global illumination
- Marching Cubes: A High Resolution 3D Surface Construction Algorithm – Lorensen & Cline (1987). Groundbreaking algorithm for isosurface extraction from volumetric data
- Radiosity and Realistic Image Synthesis – Cohen & Wallace (1993). Comprehensive treatment of radiosity methods for diffuse global illumination
- Importance Resampling for Global Illumination – Clarberg et al. (2005). Improved sampling methods for more efficient global illumination rendering
- Adaptive Numerical Cumulative Distribution Functions for Efficient Importance Sampling – Lawrence et alf. (2005). Introduced adaptive importance sampling for light transport
- Robust Monte Carlo Methods for Light Transport Simulation – Eric Veach (PhD Thesis, 1997). Seminal work introducing Metropolis Light Transport and multiple importance sampling
- Moving Frostbite to Physically Based Rendering 3.0 – Lagarde & de Rousiers (2015). Insight into PBR evolution in AAA engines
- Physically-Based Shading at Disney – Burley (2012). Widely adopted PBR BRDF used across film and games
- The Geometry of Image-Based Rendering – Kang et al. (2007). Introduced image-based rendering techniques for photorealism
- Light Field Rendering – Levoy & Hanrahan (1996). Defined the light field as a framework for capturing/viewing real-world scenes
- Wavelet Radiance – Christensen et al. (1995). Used wavelets for compact and efficient illumination representation
- Precomputed Radiance Transfer – Sloan et al. (2002). Introduced PRT for real-time rendering of complex lighting
- Neural Radiance Fields (NeRF) – Mildenhall et al. (2020). Introduced neural rendering techniques that revolutionized graphics and vision
- Sébastien Hillaire’s Publications – Collection of state-of-the-art work on real-time rendering, atmospheric effects, and volumetric rendering
- Dan Casas’ Papers – Research portfolio spanning animation, character modeling, and motion capture
Security Engineering & Reverse Engineering
- The Protection of Information in Computer Systems – Saltzer & Schroeder (1975). Defined the foundational design principles of computer security
- Reflections on Trusting Trust – Ken Thompson (1984). Classic paper revealing compiler backdoor threats
- Smashing the Stack for Fun and Profit – Aleph One (1996). Phrack article that brought buffer overflows to the mainstream
- The Morris Internet Worm – IEEE (2003). One of the first large-scale Internet worms, with analysis
- Spectre Attacks: Exploiting Speculative Execution – Kocher et al. (2019). Demonstrated critical microarchitectural flaws, maybe you’ve heard of SPECTRE and MELTDOWN
- Meltdown: Reading Kernel Memory from User Space – Lipp et al. (2018). The seminal MELTDOWN paper!
- TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones – Enck et al. (2010). Real-time taint tracking for Android
- Return-Oriented Programming – Shacham (2007). Pioneered ROP exploitation, bypassing non-executable stacks
- Hot or not: Revealing hidden services by their clock skew – Royal et al. (2006). Tor node analysis for detecting and mapping users
- Remote Timing Attacks are Practical – Brumley & Boneh (2003). Showed practical remote timing attacks against SSL
- Halting Viruses Requires New Paradigms – Ken Thompson (1984). Early foundational virus research
This post is licensed under CC BY 4.0 by the author.