I am a software developer who loves to learn and teach. Currently my interests are compilers, programming languages, software architecture, assembly language programming, and debugging.
![]() |
Time Travel Debuggers TalkJan 12th 2024 • 25:38 |
![]() |
Binary Tree Traversal: Part 2 (with Recursion)May 28th 2023 • 1:00:45 |
![]() |
Binary Tree Traversal: Part 1May 28th 2023 • 54:43 |
![]() |
Binary Trees: Part 4May 12th 2023 • 50:23 |
![]() |
Binary Search Trees: Part 3May 6th 2023 • 50:52 |
![]() |
How and Why of Binary SearchApr 17th 2023 • 46:33 |
![]() |
Binary Search 2: Now with TreesApr 22nd 2023 • 54:56 |
![]() |
Binary Search Trees: Part 2May 6th 2023 • 56:43 |
![]() |
Binary Search Trees: Part 3May 6th 2023 • 50:52 |
![]() |
Binary Trees: Part 4May 12th 2023 • 50:23 |
![]() |
Binary Tree Traversal: Part 1May 28th 2023 • 54:43 |
![]() |
Binary Tree Traversal: Part 2 (with Recursion)May 28th 2023 • 1:00:45 |
![]() |
Compilers Challenge #1: Reverse PolishOct 25th 2021 • 14:40 |
![]() |
Compilers Challenge #1 Solution: Reverse PolishNov 2nd 2021 • 18:21 |
![]() |
Compilers Challenge #2: The Language with No VariablesNov 15th 2021 • 22:18 |
![]() |
CC #2 Solution: ForthDec 8th 2021 • 16:01 |
![]() |
How to Code the Mandelbrot SetSep 30th 2021 • 35:26 |
![]() |
How to Code the Mandelbrot Set 2Oct 11th 2021 • 30:39 |
![]() |
Random Sample-Based Profiling with Mike DunlaveyMay 3rd 2021 • 25:44 |
![]() |
CS Education Chat with Mike DunlaveyMay 3rd 2021 • 16:18 |
![]() |
Punching Through on Computer Science with Mike DunlaveyMay 3rd 2021 • 20:05 |
![]() |
Omniscient Debugging (ODB) With Bil LewisApr 1st 2021 • 45:24 |
![]() |
Time-Travel Debugging with Robert O'CallahanFeb 13th 2022 • 32:56 |
![]() |
How GUIs Work 1: Graphics and EventsSep 2nd 2021 • 12:12 |
![]() |
How GUIs Work 2: ComponentsSep 3rd 2021 • 14:28 |
![]() |
How GUIs Work 3: LayoutSep 11th 2021 • 19:06 |
![]() |
Free Up Disk Space with RecursionAug 20th 2021 • 1:02:52 |
![]() |
Fun with ASTsAug 4th 2021 • 58:01 |
![]() |
Fun with AST Part 2Aug 6th 2021 • 59:56 |
![]() |
Intro to Dynamic ProgrammingSep 17th 2021 • 49:15 |
![]() |
Intro to Dynamic Programming 2Oct 27th 2021 • 59:39 |
![]() |
Law of Leaky AbstractionsJul 7th 2021 • 10:39 |
![]() |
Real World Leaky Abstractions 1: Kubernetes, ng, and ReactJul 14th 2021 • 13:30 |
![]() |
Real World Leaky Abstractions 2: Sharing TypeScriptJul 14th 2021 • 10:52 |
![]() |
Real World Leaky Abstractions 3: Python and Having No TimeJul 14th 2021 • 15:05 |
![]() |
Can Leaky Abstractions be Solved?Jul 14th 2021 • 08:43 |
![]() |
Open-Closed PrincipleJul 21st 2021 • 26:48 |
![]() |
Open-Closed Principle Part 2Jul 21st 2021 • 11:44 |
![]() |
Leaky Abstractions IRLAug 4th 2021 • 08:34 |
![]() |
Thoughts on Ejecting from a FrameworkAug 11th 2021 • 07:21 |
![]() |
Nepo's bishop is TRAPPED?Dec 7th 2021 • 00:47 |
![]() |
rr Time-Traveling DebuggerMay 19th 2021 • 17:13 |
![]() |
Debugging with rr: Start at the EndMay 28th 2021 • 14:10 |
![]() |
Time-Travel Debugging with Robert O'CallahanFeb 13th 2022 • 32:56 |
![]() |
Make Your Own Language 1: The LexerJul 18th 2020 • 16:01 |
![]() |
Make Your Own Language 2: The ParserJul 18th 2020 • 21:06 |
![]() |
Make Your Own Language 3: Parsing Function CallsJul 19th 2020 • 16:25 |
![]() |
Make Your Own Language 4: The GeneratorJul 20th 2020 • 17:35 |
![]() |
Make Your Own Language 5: Runtime FunctionsJul 20th 2020 • 11:40 |
![]() |
Make Your Own Language 6: Parsing Lambda FunctionsJul 20th 2020 • 18:38 |
![]() |
Make Your Own Language 7: White Space and Ambiguous GrammarJul 25th 2020 • 17:40 |
![]() |
Make Your Own Language 8: Code Generator for LambdaJul 25th 2020 • 10:57 |
![]() |
Make Your Own Language 9: Comments and More Ambiguous grammarJul 27th 2020 • 10:10 |
![]() |
Make Your Own Language 10: Coding ChallengeAug 10th 2020 • 29:10 |
![]() |
Live Code: Make a Programming Language from ScratchApr 17th 2020 • 1:23:16 |
![]() |
Live Code: Making a Programming Language from Scratch - Part 2Apr 24th 2020 • 1:18:20 |
![]() |
Live Code: Making a Programming Language from Scratch - Part 3May 1st 2020 • 1:23:00 |
![]() |
Live Code: Making a Programming Language from Scratch - Part 4May 8th 2020 • 1:17:27 |
![]() |
Live Code: Making a Programming Language from Scratch - Part 5May 16th 2020 • 58:16 |
![]() |
Live Code: Make a Programming Language From Scratch - Part 6Jun 18th 2020 • 1:04:15 |
![]() |
Live Code: Make a Programming Language from Scratch - Part 7Jun 26th 2020 • 53:16 |
![]() |
Live Code: Make a Programming Language From Scratch - Part 8Jul 10th 2020 • 51:07 |
![]() |
Clever vs Savvy - Part 1Feb 7th 2020 • 23:18 |
![]() |
Clever vs Savvy Part 2Feb 7th 2020 • 19:16 |
![]() |
Debug School 1: IncrementalismJun 27th 2018 • 14:00 |
![]() |
Debug School 2: Reading Error Messages 1Jun 27th 2018 • 14:08 |
![]() |
Debug School 3: Reading Error Messages 2Jun 27th 2018 • 12:32 |
![]() |
Debug School 4: The Scientific MethodJun 27th 2018 • 16:01 |
![]() |
Debug School 5: Test Case SimplificationJun 27th 2018 • 11:53 |
![]() |
Debug School 6: The Bug SandwichJun 27th 2018 • 12:43 |
![]() |
Sleep with Async / AwaitApr 26th 2019 • 12:03 |
![]() |
Ajax with Async / AwaitApr 29th 2019 • 11:54 |
![]() |
Loops with Async / AwaitApr 29th 2019 • 17:34 |
![]() |
File IO in Node.js with Async/AwaitMay 6th 2019 • 14:37 |
![]() |
How to LearnDec 21st 2015 • 47:05 |
![]() |
Refactr2019 - How to Make a Programming Language - Toby HoSep 11th 2019 • 45:22 |
![]() |
Atlanta JavaScript Presents: How to Learn with Toby HoJan 25th 2017 • 1:08:46 |
![]() |
History of JavaScript with Toby Ho, presented by Atlanta JavaScriptJun 21st 2017 • 16:21 |
![]() |
React Basics, with Toby Ho, Presented by Atlanta JavaScriptAug 26th 2017 • 15:09 |
![]() |
Toby Ho: a Fun Way to Browser TestJan 20th 2013 • 20:55 |
![]() |
Atlanta JavaScript Presents: Generators and Coroutines with Toby HoMay 17th 2016 • 09:45 |
![]() |
TDD That Feels GreatAug 02, 2014 • 56:20 |
![]() |
Don't Suck at Teaching Code (with Faith Wallace)Jul 26, 2018 • 50:50 |
![]() |
Assembly Language Programming 1 - SetupSep 10th 2019 • 24:44 |
![]() |
Assembly Language Programing 2 - Hello WorldSep 10th 2019 • 24:30 |