Take Up Code is a podcast that explains computer programming topics through fun and engaging examples that you can relate to. The guided format allows you to gain valuable understanding of topics that will reinforce your studies, allow you to train new skills that you can apply on your job, and change your thinking about what it takes to become a professional programmer. The episodes are as short as possible so you can squeeze them into your daily routine.
Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes
This is the first in a series of comments about the book “How To Code C++ From a Simple Idea To a Game You’ll Understand!” Each episode will be short and focused. You can watch the video versions on YouTube at https://www.youtube.com/channel/UC4K_WBflLr2Cz0Sje_xTXkA You can also get your own copy of either the hardcover book or […]
This is an interview with Conor Hoekstra about C++ algorithms and ranges. Conor presented my favorite talk at CppCon 2019 called Algorithm Intuition. I asked him to talk about algorithms on this podcast and he agreed. This just proves again why CppCon is the best place to be when you want to improve your C++ […]
Josh Lospinoso discusses his new book C++ Crash Course. This is a book with a focus on C++17 written with a desire to simplify and make it easy for you to learn C++. I got this book during the CppCon conference and have to say, this is a fun book. It’s got lots of examples, […]
This is an interview with Asad Naweed about augmented reality. I met Asad at CppCon in 2019 when he asked some questions at one of the presentations I also attended. We started talking at first about teaching coding. He has taught others how to code through education programs at Google. I especially liked his business […]
This is an interview with Nicolai Josuttis about how the C++ standardization process has changed over the years. You can find more information about Nicolai at his website http://www.josuttis.com I first came to know about Nicolai through his book “The C++ Standard Library – A Tutorial and Reference” and recently started reading his new book […]
This is an interview with Sean Hale about how he got into computers and then turned a degree in literature into a job as a software development engineer. I met Sean at CppCon in 2019 and asked him to be on the podcast because of his experience. You can become a software development engineer without […]
Is there something you can do that will help you learn coding? When learning something new, it helps to focus on associations, especially opposites. It’s hard to learn separate facts and ideas. Linking them together lets them reinforce each other. Instead of being more work, they will lend support. This will improve your memory too. […]
How do you design your application so it scales well to a big size? Scaling needs to be verified early in the design to prevent costly mistakes that usually appear later. You can scale in many ways. The number of users, amount of data, and code size are common. Avoid hard limits in the code […]
How do you create unique and random game worlds and maps? Unique and random game maps and worlds can be created procedurally in code using noise. The noise is good for simulating nature because it produces values that change randomly in small amounts with no abrupt changes and provides realistic curves to rivers or hills. […]
This episode will explain how you can use curly braces in C++ to create a new scope. You can use this ability to control name visibility and reduce name conflicts. And you can also use curly braces to control exactly when object constructors and destructors are run. This is possible because C++ has very specific […]
What’s the best way to handle frustration when learning to code? Knowing that all developers face frustration at times is a big help. You’re not alone. And it doesn’t mean that coding is not for you. Treat it as a learning opportunity and stick with it until you solve the problem. Keep trying ideas until […]
What happens when code has undefined behavior? There’s hundreds of ways code can have undefined behavior. What happens is completely up to the compiler. You should not depend on undefined behavior because compilers can completely change or delete sections of code. Since the behavior is undefined, then compilers can optimize code in ways you never […]
This design pattern will help you make sense of your game design as it gets bigger.
There are some special floating point values that you should be aware of. Zero, infinity, and not a number are three cases that might surprise you.
Looking for more advanced training to help you better understand how to actually build something in C++? Want to go beyond example snippets that do not really teach you anything? How about being able to ask questions or get feedback on a suggestion?
Be careful with floating point numbers when building games.
Do you know the differences between points and vectors? You might be surprised. I learned a few things myself recently when I implemented points and vectors in the TUCUT library.
You do not need a lot of math to program. What you do need is usually simple. But you do need some. It is not that hard and I will explain it so you can understand. Game development probably needs a bit more math than you might guess.
I just got back from CppCon 2018 in Bellevue Washington. And since this is a podcast where I teach you how to program, I thought I would share something that I learned at the conference.
Installing Linux, GCC, GDB, Git, CMake, LLVM, Clang, Boost, SFML, CodeLite, Sublime Text 3, And Dropbox On a $140 Lenovo ideapad 120S makes an ultra portable C++ programming laptop.
In the end, it is you vs. you. Is this about living or dying?
Some people say that raw pointers are evil and should be avoided. Raw pointers are useful when used properly. This episode explains how to use raw pointers along with smart pointers and is taken from a recent game development session.
You can join an actual game development session almost every Saturday. This schedule might change in the future. But until then, you can find me working on a video game almost every Saturday.
There is a lot you can learn about programming. But do you need to know it all?
This is a real example of how the filesystem can be used to take over a Wordpress website.
Avoid being predictable. This advice applies to almost everything you do as a programmer. This episode will focus on the filesystem and how being predictable can make it much easier for an attacker to gain control.
Run your program with the least permissions possible.
When it comes to security, it is better to learn from examples.
Journaling records extra information in case there are problems.
The Take Up Code podcast needs your support.
Filesystems allow you to refer to refer to your content with different names.
Metadata provides information about your files.
There is a special type of filesystem used to swap memory.
Access control lists provide more security options.
Security is a big part of filesystems.
There are many different types of filesystems with different capabilities. Once you understand these capabilities, you’ll not only be able to select the proper filesystem for your needs but will understand, for example, how your computer knows when you download applications from the internet so it can warn you when you try to run them. […]
Cylinder, Head, Sector or CHS vs. Logical Block Addressing or LBA give you two ways to find data on a disk.
Dividing your disks into partitions allows you to use each partition for separate tasks.
How are filesystem organized with multiple drives?
How are filesystem organized with multiple drives?
Understanding how to use the filesystem will allow you to add common and expected features to your apps.
The code you write should follow a similar level of detail.
Finding differences will help you make sense of your code.
Resource allocation is initialization or RAII for short may be hard to pronounce but will help you write better and simpler code.
Why is C++ such a good choice for writing games?
Work on the toughest problems first. And if you cannot solve them, then find a way around.
How is a video game different than any other application?
We all want to think big. But to get there, we need to think small.
You can take advantage of libraries and frameworks.
What role will data play in your game?
How do you make your idea more specific?