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 |