Short Bio:
Bob Cravens is a seasoned technology leader, software architect, and educator with a passion for empowering others through practical, real-world knowledge. As the founder of TekFoundry, Bob has dedicated his career to designing and delivering innovative software solutions that combine cutting-edge technology with elegant simplicity.
At TekCasts, Bob leverages over two decades of experience in software engineering, application architecture, and team leadership to create engaging, high-impact courses for developers and technology professionals. His instructional style is rooted in practical application, offering insights drawn from his extensive background in industries like medical devices and global technology consulting.
Bob’s expertise spans a variety of technologies and methodologies, including PHP/Laravel, FastAPI, and DevOps, as well as architecture best practices and team dynamics. Whether teaching foundational concepts or advanced strategies, he’s passionate about helping others turn complex challenges into streamlined solutions.
When not crafting elegant code or inspiring the next generation of tech innovators, Bob enjoys exploring the intersection of technology, business strategy, and creative problem-solving.
At TekCasts, Bob leverages over two decades of experience in software engineering, application architecture, and team leadership to create engaging, high-impact courses for developers and technology professionals. His instructional style is rooted in practical application, offering insights drawn from his extensive background in industries like medical devices and global technology consulting.
Bob’s expertise spans a variety of technologies and methodologies, including PHP/Laravel, FastAPI, and DevOps, as well as architecture best practices and team dynamics. Whether teaching foundational concepts or advanced strategies, he’s passionate about helping others turn complex challenges into streamlined solutions.
When not crafting elegant code or inspiring the next generation of tech innovators, Bob enjoys exploring the intersection of technology, business strategy, and creative problem-solving.
Videos
Checkout Videos By This Instructor
javascript
6m:1s
May 15, 2025
Functions as Values & Callbacks
Time to level up! In this episode, you’ll learn that functions are more than just reusable code blocks — they’re first-class citizens in JavaScript. That means you can treat them just like any other value — assign them to variables, pass them as arguments, and return them from other functions. 🧠➡️📦🎯 Here’s what we’ll cover:
• Assigning functions to variables — because yes, functions are values!
• Passing functions into other functions (aka callbacks) to build dynamic, flexible behavior.
• A clear, simple example where you control how a message is spoken: shouted, whispered, or anything in between.
🎥 Visual Walkthroughs:
• See how callback functions work step by step.
• Build intuition around treating functions like any other data.
• Reinforce learning with a clean, beginner-friendly real-time example.
By the end, you’ll start to see the true power of JavaScript’s flexibility — and you’ll be ready for more dynamic programming patterns ahead! ⚙️🚀
oop,php
6m:26s
May 1, 2025
Handling "Bad" Routes
Not all roads lead somewhere… and that’s okay—as long as we handle it gracefully! In this video, we improve the robustness of our app by dealing with invalid routes and unexpected errors the pragmatic way. 🛡️Here’s what we’ll do:
• Make the header element optional in layout/_header.view.php using isset() 🧩
• Create clean, user-friendly error views:
• views/errors/404.view.php 🔍
• views/errors/500.view.php 💥
• Add a global try-catch block in index.php to handle exceptions gracefully 🧯
With this in place, our app won’t crash or confuse users when something goes wrong. Instead, it responds with clarity and professionalism.
By the end of this video, we’ll be on version v7-handle-bad-routes—stable, polished, and production-ready. 🚀
javascript,node
8m:28s
Oct 30, 2025
Handling JSON APIs
APIs are at the heart of modern web applications — they move data between the browser, mobile apps, and backend services. In this video, we’ll explore how to serve and consume JSON using Node’s built-in HTTP module — no frameworks, just fundamentals.🧠 You’ll Learn
- What JSON is and how APIs use it
- How to serve structured JSON responses
- How to parse incoming JSON request bodies
- Why Content-Type headers are critical
- How Node streams data efficiently
💡 Relevant Links
MDN – JSON Basics:
- https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON
Previous TekCasts series:
- JavaScript for Beginners: https://tekcasts.com/play/javascript-for-beginners-what-is-javascript
- JavaScript in the Browser: https://tekcasts.com/play/javascript-in-the-browser-browser-runtime-environment
esp32
7m:40s
Apr 4, 2025
Hardware & Schematics
Time to dig into the guts of the project! 💥 In this video, we break down the hardware behind the Smart Garage Door system and show how everything connects.We kick things off with a high-level circuit diagram featuring the ESP32 and four key sub-circuits:
🔹 Garage Door Sensor – tracks door position
🔹 Garage Door Button – mimics your wall-mounted opener
🔹 Device Status – provides visual feedback using a "blink code"
🔹 Device Control Button – allows manual toggling of the device into various modes
Then we zoom in 🔍 and walk through detailed schematics for each sub-circuit — showing exactly how they hook up to the ESP32 pins.
To bring it all home, I share real photos and video of the development board so you can see how the schematics translate into actual hardware on the bench 🛠️📸.
Whether you’re following along or designing your own spin on the project, this episode helps you build with confidence. Let’s wire it up! ⚡️
php
4m:47s
Mar 17, 2025
Hello World!
Every programming journey begins with a simple “Hello, World!”, and PHP is no different! In this video, we’ll walk you through writing your first PHP script, embedding PHP within HTML, and running it on a local server. You’ll see the difference between static .html files and dynamic .php files and understand how PHP generates content on the fly. Whether you’re brand new to coding or just getting started with PHP, this is the perfect first step into the world of backend development! 💻✨
javascript
16m:59s
Sep 4, 2025
Higher-Order Functions
In this episode, we explore a superpower of JavaScript: higher-order functions — functions that can take other functions as inputs or return new functions as outputs.🎯 What you’ll learn:
- What higher-order functions are and why they’re important.
- Functions as arguments with real-world examples using map, filter, and forEach.
- Functions returning functions to create flexible, configurable behaviors.
- A practical Pub/Sub pattern (publish/subscribe) — showing how higher-order functions enable reusable and event-driven code.
💡 Why it matters:
Understanding higher-order functions is a game-changer. They’re the foundation for functional programming patterns, modern libraries, and frameworks. Once you master them, you’ll start seeing opportunities to write code that’s cleaner, more modular, and easier to extend.
By the end of this episode, you’ll know how to bend functions to your will — letting them build, transform, and orchestrate other parts of your program. ⚡️
php
8m:36s
Mar 17, 2025
How the Web Works
Ever wondered what happens behind the scenes when you visit a website? In this video, we break down the fundamentals of how the web works, focusing on how PHP processes requests and responses on the server. You’ll learn about HTTP & HTTPS, how browsers communicate with web servers, and what happens when you enter a URL. We’ll also explore key HTTP concepts like request methods, headers, response codes, and more. Plus, we’ll walk through a live example using browser developer tools to see it all in action. By the end, you’ll have a clear understanding of how PHP fits into the bigger picture of web development! 🚀
oop,php
14m:11s
Mar 26, 2025
Inheritance
Inheritance—one of the core pillars of Object-Oriented Programming! 💡 But how does it actually work in PHP? 🤔In this video, we’ll break it down step by step:
✅ What inheritance is and why it’s useful
✅ How a child class can inherit properties & methods from an abstract base class 🏗️
✅ The rules & limitations of PHP’s single inheritance 🔒
✅ Use inheritance to extend an existing class with new properties & methods that add functionality 🎯
By the end, you’ll be harnessing inheritance like a pro—structuring your code for maximum reusability and maintainability! 💻🔥 Let’s dive in! 🎬
javascript
9m:8s
Sep 23, 2025
Inheritance
Ready to level up your JavaScript classes? 🚀 In this episode, we’ll explore how objects can inherit behavior from one another, making our code more powerful and reusable.Here’s what we’ll cover:
🌳 Why Inheritance matters for organizing and scaling your code.
🔗 Using extends to create child classes.
🧩 Leveraging super() to tap into parent constructors.
✍️ Overriding methods to customize behavior for specific classes.
We’ll bring it all together with an Animal → Dog example, showing how subclasses can extend functionality while keeping your code DRY and elegant. 🐾
By the end, you’ll have the tools to structure your JavaScript programs like a true object-oriented pro. ⚡
oop,php
19m:38s
Mar 24, 2025
Interfaces
Welcome to the world of Interfaces—where we take PHP code structure to the next level! 🎯💡 In this video, we explore how interfaces help us write cleaner, more flexible, and more maintainable code.✨ What’s inside?
✅ The power of explicitly defining types for parameters & return values 🏷️
✅ Extracting an interface from an abstract base class 🔄
✅ Converting methods using the interface keyword ✍️
✅ Decomposing large interfaces into smaller, focused ones 🔧
✅ Leveraging interfaces as parameter & return type constraints 🔗
By the end, you’ll see how interfaces bring ultimate flexibility and extensibility to your PHP projects! 🚀🔗 Watch now and level up your OOP game! 🎬🔥
composer,packagist,php
7m:4s
Mar 11, 2025
Intro to Composer & Packagist
Welcome to the PHP Package Development series! 🎉 In this first video, we introduce the problem we’re solving and explore the world of package management systems. You’ll learn what Composer and Packagist are, why they matter, and how they simplify PHP development.📌 What you’ll learn:
✅ What are package management systems?
✅ Introduction to Composer & Packagist
✅ Why use Composer for PHP projects?
🔔 Subscribe for more PHP content!
🔗 Resources:
• Composer Documentation
• Packagist
Coming Soon
javascript,node
16m:43s
Nov 6, 2025
Intro to Databases
It’s time to level up from file-based storage! In this episode, we explore why databases exist, how they solve key scalability problems, and how to use SQLite to manage structured data in Node.js.💥 You’ll see how to:
👉 Compare file-based vs. database storage
👉 Understand relational vs. document databases
👉 Install and use SQLite in Node.js
👉 Implement full CRUD operations (Create, Read, Update, Delete)
👉 Explore when to choose SQLite, PostgreSQL, or MongoDB
💡 Relevant Links
- SQLite official: https://www.sqlite.org/index.html
- SQLite Node: https://www.npmjs.com/package/sqlite3
- PostgreSQL official: https://www.postgresql.org/
- MongoDB official: https://www.mongodb.com/
Previous TekCasts series:
- JavaScript for Beginners: https://tekcasts.com/play/javascript-for-beginners-what-is-javascript
- JavaScript in the Browser: https://tekcasts.com/play/javascript-in-the-browser-browser-runtime-environment
javascript,node
7m:16s
Oct 7, 2025
Intro to Node
👉 Ever wondered why JavaScript isn’t just for the browser anymore? In this kickoff video, we’ll explore the rise of server-side JavaScript — from its humble beginnings in Netscape (1995) ⚡️ to the game-changing release of Node.js in 2009.💥 You’ll learn:
- A quick history of JavaScript and how it went from a “sidekick” language to running the backend of the web.
- What makes Node.js special: the V8 engine, event-driven architecture, and non-blocking I/O.
- Why developers love using one language across the full stack (frontend, backend, and even databases!).
- Real-world use cases: APIs, real-time apps, CLI tools, microservices, and even IoT robots 🤖.
⚡️ Plus, we’ll demo how the same console.log works in the browser and in Node.js, and spin up a tiny web server that responds with "Hello from the server!".
👉 Perfect if you’re new to Node or curious about why companies everywhere are betting big on JavaScript beyond the browser.
💡 Relevant Links
Previous TekCasts series:
- JavaScript for Beginners: https://tekcasts.com/play/javascript-for-beginners-what-is-javascript
- JavaScript in the Browser: https://tekcasts.com/play/javascript-in-the-browser-browser-runtime-environment
Official Docs:
- Node.js Documentation: https://nodejs.org/en/docs/
- MDN JavaScript Guide: https://developer.mozilla.org/en-US/docs/Web/JavaScript
linux
13m:10s
Feb 3, 2025
Introduction - History, Quick Setup
This video is part of the Linux Crash Course series. This video will discuss the history of Linux and help prepare a sandbox where you can practice as you follow along.Github Repo: https://github.com/rcravens/linux-crash-course
oop,php
3m:54s
Apr 8, 2025
Introduction & Overview
Welcome to PHP: The Pragmatic Way! In this video, we set the stage for an exciting journey into dynamic web development. 🌐We’ll start by touring the project’s goals, showing you where we’re landing and what’s ahead. The rule is simple: all the PHP code is ours! We begin with static HTML pages and gradually convert them into dynamic applications. 💻
Along the way, we’ll cover:
• Extracting a layout to avoid repetition 🔄
• Refactoring into an MVC architecture 🏗️
• Building a “mini-framework” to streamline development ⚙️
You’ll also learn how this framework introduces powerful features like routing, sessions, databases, models, views, and controllers. 🛠️
We’ll stick to best practices throughout—focusing on clean, secure, and maintainable code that’s easy to use. By the end of this series, you’ll be ready to implement these principles in your own projects!
Prerequisites: Basic PHP and OOP knowledge are recommended to get the most out of this series. Ready to dive in? Let’s go! 🚀
javascript
18m:12s
Sep 11, 2025
Introduction to Async Functions
Async programming doesn’t have to feel like juggling chainsaws. In this episode, we’ll unravel the magic of async and await—two keywords that make working with asynchronous code in JavaScript cleaner, easier, and far more readable. 🚀We’ll start by exploring why async matters: JavaScript is single-threaded but non-blocking, so operations like network requests need special handling. You’ll see how we moved from callbacks ➝ Promises ➝ async/await, and why this evolution makes your code shine. ✨
Next, you’ll learn:
🔑 What makes an async function special (spoiler: it always returns a Promise).
⏸ How await pauses execution until a Promise settles—without freezing your app.
💻 Real-world examples, including a simulated network request written both with .then() and the async/await style.
🛡 How to handle errors gracefully with try/catch.
By the end, you’ll feel confident writing asynchronous JavaScript that’s elegant, predictable, and easy to read. ⚡