Uploaded May 2020 | Updated September 2026, 2 weeks ago
Patreon ➤ patreon.com/jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ jacobsorber.com
---
#EmbeddedSystems
Trying to learn Embedded Systems? Ever wondered how to add a button to a microcontroller? This video shows you both how to wire it up, and how to write code to handle things like button presses. The examples in the video are for the TI MSP430FR5994, but the basic principles apply to most other microcontrollers.
Related videos:
Timers & Interrupts: youtu.be/PtTVe0zfg_M
Blink Under the Hood: youtu.be/9Zyp4sdSUNM
Blink: youtu.be/Scs3oBY7dEo
Getting Started with Embedded Systems: youtu.be/aC37UE7edP0
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon --- [patreon.com/jacobsorber]
+ rep the channel with nerdy merch --- [teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. --- [jsorber-youtube-source.herokuapp.com/]
Patreon ➤ patreon.com/jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ jacobsorber.com
---
#EmbeddedSystems
Trying to learn Embedded Systems? Ever wondered how to add a button to a microcontroller? This video shows you both how to wire it up, and how to write code to handle things like button presses. The examples in the video are for the TI MSP430FR5994, but the basic principles apply to most other microcontrollers.
Related videos:
Timers & Interrupts: youtu.be/PtTVe0zfg_M
Blink Under the Hood: youtu.be/9Zyp4sdSUNM
Blink: youtu.be/Scs3oBY7dEo
Getting Started with Embedded Systems: youtu.be/aC37UE7edP0
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon --- [patreon.com/jacobsorber]
+ rep the channel with nerdy merch --- [teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. --- [jsorber-youtube-source.herokuapp.com/]
![This matters more than my next programming tutorial.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
This matters more than my next programming tutorial // I just want you to know where I stand on this. #BlackLivesMatter
Note: I have disabled comments because I just dont have time to sort through and decide which ones are too racist to leave and which ones need to go.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
+ rep the channel with nerdy merch [https://teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] This matters more than my next programming tutorial.](https://i.ytimg.com/vi/LBQWwo2d-I8/mqdefault.jpg)
![How Memory Usage Slows Down Your Programs
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How Memory Usage Slows Down Your Programs // We usually think about how much memory were using, but not about how were using that memory. This video shows a simple example of how changing access patterns (row-wise vs column-wise) in a matrix or two-dimensional array can significantly impact runtimes.
Related Videos:
2D Array/Matrix video: https://youtu.be/NqEbV5FBKmg
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] How Memory Usage Slows Down Your Programs](https://i.ytimg.com/vi/LRLlEzkCL4I/mqdefault.jpg)
![Lets do a little image processing in C
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Related Videos:
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Lets do a little image processing in C](https://i.ytimg.com/vi/LRajghjH5BI/mqdefault.jpg)
![The Multiple Paths through Embedded Systems
Check out the Tuya Smart IoT Platform
https://auth.tuya.com/?_source=97560885b2f6e441193e6dcbe16e7964
To get the development gift, email dev@tuya.com once you have registered.
The Multiple Paths through Embedded Systems // People come to embedded systems with a lot of different skills and goals, and the right way to get started often varies along with those goals. In this video, Im sharing some options that can help you get your Internet of Things (IoT) devices up and running and connected to the cloud quickly.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] The Multiple Paths through Embedded Systems](https://i.ytimg.com/vi/L__eClqEyLg/mqdefault.jpg)
![Setup Tips for Your Next Programming Project
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Setup Tips for Your Next Programming Project // Student programmers often forget to setup their programming projects. Instead, they just dive right into the code and miss opportunities to save themselves valuable time and energy. This video gives two recommendations (about version control and build systems) for making your next project a more pleasant experience.
Make videos: https://www.youtube.com/watch?v=a8mPKBxQ9No&list=PL9IEJIKnBJjEPxenuhKU7J5smY4XjFnyg
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Setup Tips for Your Next Programming Project](https://i.ytimg.com/vi/LfIPVIsH4ZU/mqdefault.jpg)
![Portably print integers in C? Its more complicated than it should be.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Portably print integers in C? Its more complicated than it should be // Theres not much in C that is simpler than printing out an integer, but printing out an integer in a way that will always be the same on any machine. Thats a bit more complicated — and ugly. This video shows you how to do it.
Related Videos:
standard integers: https://youtu.be/iX1uGr6Si0E
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Portably print integers in C? Its more complicated than it should be.](https://i.ytimg.com/vi/LlizY8S673c/mqdefault.jpg)
![How to profile your own function calls in C? (instrument your code!)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How do you instrument your function calls? Have you ever wondered how tools like gprof instrument code — how they profile your code, figure out how many times each function is called and how much time each function takes? This video will show you how you can instrument your own c programs, and inject code before and after function calls, using the -finstrument-functions compiler flag.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
+ rep the channel with nerdy merch [https://teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] How to profile your own function calls in C? (instrument your code!)](https://i.ytimg.com/vi/M6RCUiZzl8Y/mqdefault.jpg)
![Does it matter what hash function I use? (hash table example in c)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Does it matter what hash function I use? // Continuing my hash table kick, lets look at hash function performance. There are a lot of them out there. How much does it matter which one I use?
Related Videos:
Original hash table video: https://youtu.be/2Ti5yvumFTU
A better hash table: https://youtu.be/KI_V91UdL1I
Fixing that better hash table: https://youtu.be/OQHDEhLKVv0
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Does it matter what hash function I use? (hash table example in c)](https://i.ytimg.com/vi/MXdF-n-hAQU/mqdefault.jpg)
![Dont write clever code.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Dont write clever code. // I know youre smart. Youre trying to impress your friends and show them youre a programming wizard. But, this video provides some caution about writing fancy code, at least when that codes actually going to be used.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Dont write clever code.](https://i.ytimg.com/vi/MjHMeufOxp8/mqdefault.jpg)
![The worlds simplest malware? (Example in C)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
The Worlds Simplest Malware? (Example in C): Weve talked about fork before. In this video we take a look at the forkbomb, a simple form of super annoying malware that also helps you think about how fork works.
Related Videos:
Fork: https://youtu.be/ss1-REMJ9GA
Fork + Exec: https://youtu.be/kDxjcyHu_Qs
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] The worlds simplest malware? (Example in C)](https://i.ytimg.com/vi/MkOLDA0zkC4/mqdefault.jpg)
![Making allocators and object pools faster using a free list
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Making allocators and object pools faster using a free list // A common allocator trick to improve performance is to use a free list, a simple data structure, usually a linked list of some sort, that keeps track of free objects so we dont have to search through all possible objects when allocating a new object. This video shows you how to implement a simple free list on top of the object pool we created in my last video.
Related Videos:
Object Pools: https://youtu.be/CpgsQLSc7KY
Linked lists:
- https://youtu.be/VOpjAHCee7c
- https://youtu.be/KFbm6lkMhgw
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Making allocators and object pools faster using a free list](https://i.ytimg.com/vi/MxgnS9Lwv0k/mqdefault.jpg)