Uploaded June 2020 | Updated September 2026, 1 week ago
Patreon ➤ patreon.com/jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ jacobsorber.com
---
How to Set up Shared Memory on Linux and MacOS. (shmget, shmat, shmdt, shmctl, ftok) // This tutorial shows you how to set up shared memory between two or more process in any Unix-style OS, using ftok, shmget, shmat, shmdt, ahd shmctl. Implementation example included.
Related Videos:
Shared Memory with mmap: youtu.be/rPV6b8BUwxM
How programs get memory: youtu.be/XV5sRaSVtXQ
More memory: youtu.be/pKYvhURF3Z4
Make: youtube.com/watch?v=a8mPKBxQ9No
Cloning processes with fork: youtube.com/watch?v=ss1-REMJ9GA
Bit Fields: youtu.be/aMAM5vL7wTs
***
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
---
How to Set up Shared Memory on Linux and MacOS. (shmget, shmat, shmdt, shmctl, ftok) // This tutorial shows you how to set up shared memory between two or more process in any Unix-style OS, using ftok, shmget, shmat, shmdt, ahd shmctl. Implementation example included.
Related Videos:
Shared Memory with mmap: youtu.be/rPV6b8BUwxM
How programs get memory: youtu.be/XV5sRaSVtXQ
More memory: youtu.be/pKYvhURF3Z4
Make: youtube.com/watch?v=a8mPKBxQ9No
Cloning processes with fork: youtube.com/watch?v=ss1-REMJ9GA
Bit Fields: youtu.be/aMAM5vL7wTs
***
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/]
![Sorting in C: Why the double pointers when sorting pointers? (qsort)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Sorting in C: Why the double pointers when sorting pointers? (qsort, mergesort, heapsort) — in this video were looking at the built-in sorting functions in the C standard library (specifically qsort) and a common source of confusion (double pointers) when using them.
***
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/] Sorting in C: Why the double pointers when sorting pointers? (qsort)](https://i.ytimg.com/vi/X-mSc_xZXOE/mqdefault.jpg)
![I Am Hiring!
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
The Job Post:
https://jobs.clemson.edu/psc/ps/JOBS/EXT/c/HRS_HRAM_FL.HRS_CG_SEARCH_FL.GBL?Page=HRS_APP_JBPST_FL&Action=U&SiteId=1&FOCUS=Applicant&JobOpeningId=108900&PostingSeq=1
Related Videos:
Advice: How not to email someone about a job: https://youtu.be/95AxKHcJrY4
***
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/] I Am Hiring!](https://i.ytimg.com/vi/XAKqG1H3zEk/mqdefault.jpg)
![Stop Studying for Code Interviews
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Stop Studying for Code Interviews // Just wanted to share some advice about preparing for programming interviews, and whether or not you actually should.
***
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/] Stop Studying for Code Interviews](https://i.ytimg.com/vi/XKeQ9KS5pHI/mqdefault.jpg)
![What is Unicode?
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
What is Unicode? // New programmers usually discover Unicode when they come across a character in another language or an emoji. In this video, were talking about what Unicode is and why we sometimes need more bytes than one for a character.
Related Videos:
Why programmers love hexadecimal: https://youtu.be/dPxCGlW9lfM
***
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/] What is Unicode?](https://i.ytimg.com/vi/Xrj6MrPYnZA/mqdefault.jpg)
![How one thread listens to many sockets with select in C.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How one thread listens to many sockets with select in C. // Ever wondered how to concurrently monitor multiple network connections (sockets) without creating multiple threads? This video shows you how with select(), a universally-available call that so many programmers dont know exists. This is a network-oriented video that shows how select works in a socket server example, written in C, but this technique works with any file descriptor, including files and pipes.
This is also the first of what I expect to be a series of videos on asynchronous I/O and event-driven systems.
Related videos (playlist):
https://www.youtube.com/playlist?list=PL9IEJIKnBJjH_zM5LnovnoaKlXML5qh17
***
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 one thread listens to many sockets with select in C.](https://i.ytimg.com/vi/Y6pFtgRdUts/mqdefault.jpg)
![Your Variables are Not Real.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Your programs variables are not real // They are not containers for bits or buckets for data. Variables, like so many computing topics are abstractions. This video helps you see whats actually going on under the hood.
Related Videos:
Pointers and Arrays: https://youtu.be/uT-YLEHwVS4
Makefile-related 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/] Your Variables are Not Real.](https://i.ytimg.com/vi/YO6K5K1TUj4/mqdefault.jpg)
![Regular Expressions in C (regex, regcomp, regexec)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Regular Expressions in C (regex, regcomp, regexec) // New programmers often see regular expressions first in high level languages (like python and ruby). In this video, I show you how to use regular expressions in C.
***
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/] Regular Expressions in C (regex, regcomp, regexec)](https://i.ytimg.com/vi/Z3RiTkqaCZw/mqdefault.jpg)
![Issues with the pre- and postincrement operator in C, C++, etc.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Issues with the pre- and postincrement operator in C, C++, etc. // The pre- and post-increment operators cause a lot of new programmers some headaches, because they forget that they are both a statement and an expression. This video helps break things down.
Related Videos:
Make: https://youtu.be/a8mPKBxQ9No
***
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/] Issues with the pre- and postincrement operator in C, C++, etc.](https://i.ytimg.com/vi/Z4r4qJx9yds/mqdefault.jpg)
![Defining Constants. Should I use CONST or #DEFINE?
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Defining Constants. Should I use CONST or #DEFINE? // Just a quick video about constants. A lot of you have asked whether its better to use preprocessor macros (#define) or const variables when defining your program constants. Both are acceptable, but theyre not the same. This video breaks down some of the differences.
***
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/] Defining Constants. Should I use CONST or #DEFINE?](https://i.ytimg.com/vi/ZIhy4uy5uJM/mqdefault.jpg)
![How to keep your child from becoming a zombie process (C example)?
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How to keep your child from becoming a zombie process (C example)? // If you dont reap them, child processes become zombies by default. But what if you dont want them to? This videos shows you how to create child processes that you never have to wait for (reap) using sigaction.
Related Videos:
Zombie Processes: https://youtu.be/xJ8KenZw2ag
Signals: https://youtu.be/83M5-NPDeWs
Fork: https://youtu.be/ss1-REMJ9GA
Make: https://youtu.be/a8mPKBxQ9No
***
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 to keep your child from becoming a zombie process (C example)?](https://i.ytimg.com/vi/_5SCtRNnf9U/mqdefault.jpg)
![Detect Errors the Easy Way (with AddressSanitizer)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Detect Errors the Easy Way (with AddressSanitizer) // Everyone makes mistakes. This video looks at an easy way to detect your code mistakes — specifically those that involve memory (leaks, double frees, use-after-free).
***
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/] Detect Errors the Easy Way (with AddressSanitizer)](https://i.ytimg.com/vi/_Al7Y7BI-ds/mqdefault.jpg)